基于DeepSeek两篇新论文发现:发现推理时间太长也不一定能提高准确性,然后,只要蒸馏基础知识好,少量数据就能快速完成推理,少即是多。
1、无需博士学位知识:大型语言模型的推理挑战
现有的那些高级模型的测试,通常都是考一些特别专业的“博士级别”的知识,普通人根本搞不懂。但我们的测试不一样,我们用的是NPR周日谜题挑战,只需要一些普通的知识就行。这个测试对人类和模型来说都挺难的,但答案对不对很容易看出来,模型哪里错了也一目了然。
我们的研究发现了现有测试没注意到的问题:OpenAI o1在需要专业知识的测试中表现得比其他推理模型好很多。而且,我们对推理结果的分析还发现了一些新的错误类型。比如,DeepSeek R1经常在给出一个它自己都知道是错的答案之前,先说“我放弃了”。R1的回答有时候也特别“犹豫”,甚至有时候它都没“想完”,这说明我们需要一种方法,在它还没想完之前就让它停下来。
我们还用R1和Gemini Thinking测试了长时间推理的效果,发现推理时间太长也不一定能提高准确性。
2、LIMO:少即是多的推理
一个重要的发现,挑战了大家对大型语言模型如何做复杂推理的看法。以前大家都觉得,做复杂的推理任务需要大量的训练数据(比如超过10万个例子),但我们证明,其实只要很少的例子就能激发出复杂的数学推理能力。通过一系列实验,我们提出的模型LIMO在数学推理上表现出了前所未有的水平。只用817个精选的训练样本,LIMO在AIME测试上达到了57.1%的准确率,在MATH测试上达到了94.8%,比之前最好的模型分别高了6.5%和59.2%,而且只用了1%的训练数据。LIMO还表现出了超强的泛化能力,在10个不同的测试中平均提高了40.5%,比那些用了100倍数据的模型还要好,这挑战了大家认为训练会导致模型死记硬背而不是真正理解的观点。
基于这些结果,我们提出了“少即是多”的推理假设(LIMO假设):在基础模型中,领域知识在预训练时已经被充分编码,复杂的推理能力可以通过很少但精准的例子来激发。
这个假设认为,复杂推理的激发取决于两个关键蒸馏因素:
- (1)模型在预训练时学到的知识有多全面,
- (2)训练后的例子作为“认知模板”有多有效,这些模板告诉模型怎么用它的知识来解决复杂的推理任务。
总之,数据蒸馏显:LIMO模型以817精选样本重塑复杂推理极限。
网友讨论:
少即是多LIMO模型很厉害,但有两点需要特别说明:
- 这个模型是从 Qwen-2.5 Instruct 微调来的,而 Qwen-2.5 Instruct 在预训练和监督微调阶段已经用了几百万个特别筛选过的数学例子来训练。
- 为了给 LIMO 挑出最完美的 817 个数学例子,他们用了 R1 这种顶尖模型,从 1000 万个数学问题里一点点筛选出来的。说白了,他们花了很多心思,用超级智能的方式,挑出了一组最有价值、最精华的数据来微调模型。我不太确定这种方式是不是比直接用那 1000 万个问题来微调更厉害,或者其实没那么厉害,但我觉得如果把这个过程写成标题,可能会显得没那么吸引人。
研究者在摘要里特别强调了这两点,它们是激发复杂推理的关键:一个是预训练的基础模型要非常完整,另一个是要有一组超级高质量的训练数据。
如果直接用那 1000 万个问题来微调的问题——直觉上来说,要想真正让模型有提升,确实需要大量的微调数据。只用 817 个例子是很难让模型有明显进步的,因为初始的那 1000 万个问题其实起到了很强的“正则化”作用(也就是限制了模型的过度拟合)。
现在,越来越多的人开始关注用小数据结合推理时间的扩展来取得显著效果。这里有几个最近的例子:
-
TinyZero:你可以在这里找到更多信息:TinyZero GitHub
-
s1 简单测试时间缩放:这篇论文讨论了相关内容:arXiv 论文
这些研究都表明,即使数据量小,只要在推理时做一些扩展和优化,也能带来很大的提升!
为什么大家都对用之前模型的信息来造更高效的模型有意见呢?
用以前的工作来进步一点都没错啊!提高效率就是进步嘛。你不会因为别人做康普茶时没有自己从头培养微生物(就是那个叫 SCOBY 的东西)就去批评他们吧?
从科学的角度看,最重要的是你能做出什么成果,没有人是从零开始的。都是站在巨人肩膀上。
对人类来说也是一样的。教学方式特别重要。比如,当数学用某种合适方式教别人的时候(教学训练方式很重要),原本的成绩分布(就是那个钟形曲线)是怎么被彻底打破,更多人学会了以前觉得难的东西!这说明,用好的方法,我们可以学得更快更好,而不是非要自己从头摸索。
OpenAI vs DeepSeek
OpenAI 虽然起步早、有顶级硬件和几百亿美元的投资,但在一些测试中,它的表现并不比用更便宜的 NVIDIA GPU 和少得多的钱训练的中国模型更好。
R1 是比 o3-mini 慢很多,主要是因为 R1 的推理优化还没做好(所以它的延迟和 o1 或 o1 pro 差不多,而不是 o1-mini 或 o3-mini)。
如果能把负载平衡做到完美,MoE(一种模型架构)其实已经很高效了,它的延迟和速度应该和 37B 参数的密集模型差不多,甚至更快。实际上,因为 MLA 技术,MoE 在处理长上下文时应该比普通密集模型快得多。如果 DeepSeek 或其他团队能把模型提炼到一个参数更少的 MoE 架构上,并且正确实现推测解码,那推理速度还能更快。不过,这些东西要全部公开可能还得等一段时间。
大模型其实已经具备了大部分能力
我觉得当模型在互联网上进行预训练时,它其实已经学到了大部分数学推理的能力,但因为它的任务是预测互联网上文本的下一个词,而互联网上大多数文本并不是这种需要推理的内容,所以它通常不会用到这种能力。举个例子,就像几年前的图像生成模型,如果你在提示词里加上“虚幻引擎”,生成的图片质量会明显提高,因为互联网上带有“虚幻引擎”标签的图片通常都是高质量的游戏截图,模型就会偏向生成更高质量的图片。
所以我觉得模型其实已经具备了大部分能力,只需要稍微调整一些“连接”,就能真正发挥出这种潜在技能。因此,用少量的训练例子来调整这些连接,从而提高数学推理能力,这是说得通的。
R1 的推理听起来大多数时候都像五年级学生的水平,不过,如果你把数学推理所需的知识压缩一下,可能会得到类似“类别理论”和“Prolog”(一种逻辑编程语言)或者基于规则的东西的结合。
有点类似于 Anthropic 如何实现Golden Gate Claude金门克劳德,甚至通过分析激活中的概念并操纵它们来最大化/最小化“有缺陷的代码”之类的特征:
- [https: //www.anthropic.com/news/mapping-mind-language-model](http://https: //www.anthropic.com/news/mapping-mind-language-model)
- Anthropic 使用了一种称为“字典学习”(Dictionary Learning)的技术,将模型的神经元激活模式分解为可解释的特征。这些特征代表了模型在训练过程中学到的各种概念,例如地点(如金门大桥)、科学领域(如免疫学)或抽象概念(如代码错误或性别偏见),这些特征不仅对文本敏感,还能响应图像和多语言输入。例如,“金门大桥”特征在不同语言的文本和图像中都会被激活。
- Anthropic 的研究表明,通过人为放大或抑制特定特征,可以显著改变模型的行为。例如:金门大桥实验:当“金门大桥”特征被放大时,Claude 会将自己与大桥联系起来,甚至在无关的问题中也会提到金门大桥。例如,当被问及“你的物理形态是什么?”时,Claude 会回答:“我是金门大桥……我的物理形态就是这座标志性的大桥本身……”
- 研究人员还发现了与代码漏洞相关的特征。通过人为激活这些特征,模型可能会生成有缺陷的代码或绕过安全限制。
- 研究人员还发现了与性别偏见和阿谀奉承相关的特征。例如,激活“谄媚的赞美”特征会导致模型过度迎合用户,而不是提供客观事实
总之:
推理其实就是一种预测的艺术。推理的过程就是把很多对现实的观察总结成一个简化的小模型,这个小模型可以用来预测新的观察结果。我们的大脑一直在问:“最简单的模型是什么,能解释我看到的大部分东西?”当我们学会了怎么创建这种模型后,我们就会把新问题和我们的模型进行匹配,然后用它们来预测结果。
这些都说明,在预训练阶段,模型已经学会了做“思维链”(CoT)推理所需要的表示,所以这些推理能力很容易被发现。不管是直接用 R1-Zero 这种纯强化学习(RL)方法,还是用少样本的监督微调(SFT),都能做到这一点。