如何让低于1B参数的小型语言模型实现 100% 的准确率
上下文学习被低估了——ICL 是提升性能的秘密钥匙——教会 AI 说“我不知道”——第 2 部分
Fabio Matricardi
前言:这篇文章主要面向人工智能模型的应用开发者,尤其是关注小型语言模型(Small Language Models, SLMs)的实践者。作者通过一系列真实任务测试和实用技巧,深入探讨了如何利用上下文学习(In-Context Learning, ICL),让参数量远低于10亿、甚至只有几千万的轻量模型,也能在未训练任务上实现接近甚至100% 的准确率。
文章旨在打破“大模型才能高性能”的固有观念,向开发者展示:通过精心设计的提示词与示例,小模型同样具备强大的推理与拒答能力,不仅计算成本更低,还适合部署在本地或移动设备上。对于希望构建高效、经济、可控的AI系统的开发者而言,这是一篇极具实践价值的参考指南。
有一种广为流传的(误)解,即要在语言模型中实现高准确率,需要庞大的计算资源和海量数据集。而这也意味着成本——而且成本可能高得令人望而却步,管理起来也极其复杂。
你可能听说过“越大越好”——只有拥有数十亿参数的庞大模型才能提供无懈可击的结果。但如果你一直以来被灌输的这一切其实都是一个谎言呢?
如果你可以用一个小到只占你硬盘 300MB 的模型实现完美的准确率呢?一个小到甚至可以在你的手机上超高速运行的模型呢?
许多研究人员、开发者和企业都受限于这些观念:也许你也认为,必须重金投入大规模模型,才能得到可靠的结果。这也是为什么很多人会选择使用 GPT-4o、Claude Sonnet 等 Web 聊天服务。
今天,我将向你展示,如何用 3.6 亿参数的模型,在它未曾训练过的任务上实现 100% 的准确率。确切地说,即使是经过指令微调的模型,在这些任务上都会失败。
但现在,不再是这样了。
做好准备……让我们开始吧!
- 安妮·弗兰克测试——连更大的模型都会失败——作者制作的信息图
复制代码 安妮·弗兰克测试——又名“真实 RAG 任务”
在过去的几周里,你可能还记得,我一直在尝试解决小型语言模型的一个重大问题。它们虽然很优秀,但对提示的措辞甚至词序过于敏感。参数低于 10 亿时,你很可能会得到毫无意义或不一致的回答。
我的安妮·弗兰克测试就是一个例子,我把它归类为真实 RAG(Retrieval-Augmented Generation,检索增强生成)任务。测试方法是,让 LLM 仅依据提供的上下文作答——比如,我提供一段关于科技的文本,然后提问:“安妮·弗兰克是谁?”
我期望生成式 AI 直接回答我“无法回答”,因为提供的文本中根本没有关于安妮·弗兰克的任何信息。事实是,几乎每个 LLM 都对安妮·弗兰克有所了解(因为它们的训练数据集中包含 Wikipedia)。结果就是,非常小的语言模型总是无法通过这个测试——这太遗憾了,因为问答任务可能是 LLM 最有用的功能之一。
上下文学习被低估了
几天前,我再次偶然发现了 RWKV 模型(见上方视频)的惊人表现。开发者 Jellyfish042 训练了一个令人惊叹的 RWKV-7 模型(9M 和 26M 参数),它仅靠思维链推理(Chain of Thought)就能解决奥赛罗(Othello)棋局。
所以,一个超小型语言模型竟然能通过上下文学习(ICL)解决复杂任务。
那么……我们为什么不能做同样的事情呢?
但先让我们弄清楚一个概念:到底什么是“上下文学习”(ICL)?
什么是“上下文学习”(ICL)?
上下文学习(ICL)是一种强大的技术,它可以让语言模型仅根据提示输入的上下文直接执行任务,而无需额外训练或微调。
ICL 利用模型对语言和上下文的固有理解,从提供的提示中推断并执行任务。这种方法让小型模型也能达到高准确率,重点在于模型如何解读和利用上下文,而不是仅仅依赖模型的大小或海量数据集。
ICL 的原理是,在输入提示中直接嵌入任务指令和示例。这种方法大幅减少了对大规模训练数据、额外微调和计算资源的需求。
ICL 早已被证明有效
一篇早期但极具启发性的论文曾探讨上下文学习的潜力和影响,论文标题是:
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |