少量高质量数据SFT激活LLM推理能力

本文介绍两篇最新的用少量高质量数据SFT激活LLM推理能力的研究,分别是LIMO和s1。众所周知,一般说到SFT,尤其是参数比较大的模型,都是需要大量数据的;再加上推理任务本身又比较复杂,所需的数据可能更多。但这两篇文章的结论有点颠覆认知。这里的核心是:LLM本身需要具备如此能力,才有可能通过少量高质量数据SFT激活,否则可能难以见效。随着R1的出现,后训练算是彻底发生改变了。

LIMO

第一篇是LIMO,相关资源如下:

核心发现:「复杂的数学推理能力可以通过极少的训练数据(817条)有效地引出」。这一发现不仅挑战了海量数据要求的假设,还挑战了人们的普遍看法,即监督微调主要导致记忆而不是泛化。

LIMO: In foundation models where domain knowledge has been comprehensively encoded during pre-training, sophisticated reasoning capabilities can emerge through minimal but precisely orchestrated demonstrations of cognitive processes.

基于上面的假设,复杂推理的引发阈值并不是固有地受到目标推理任务复杂性的限制,而是由两个关键因素根本决定的。

  • 模型在预训练期间编码知识的完整性。
  • 后训练样本的有效性,这些样本作为“认知模板”,向模型展示如何有效利用其现有知识库来解决复杂的推理任务

而此前我们一般认为模型推理需要比较多的数据,基于如下两个假设:

  • 掌握复杂的认知过程需要大量的监督数据。
  • 监督微调主要导致记忆化而非真正的泛化。

近期的研究进展表明或许有更高效的方法:

  • 知识基础的革命:预训练时融入数学知识,挑战从知识获取变为知识引发。
  • 推理时Scaling:推理时的计算提供了至关重要的认知工作空间,模型可以在其中系统地展开和应用其预训练知识。

本文假设成功的推理源于这两个因素的协同作用:丰富的预训练知识和推理时充足的计算资源。提出LIMO假设:如果模型拥有丰富的推理知识并获得了足够的计算空间,那么激活推理能力可能只需要少量鼓励长时间思考的高质量训练样本。

LIMO 的性能始终优于使用多 100 倍数据训练的模型,绝对性能提高了 40.5%。结果普遍适用于分布外问题,表明获得了真正的推理能力,而不是简单的模式匹配。

LIMO vs LIMA vs RL Scaling

LIMO vs LIMA

LIMA首次在一般对齐的背景下展示了Less-is-More这一现象。

LIMO vs RL

RL假设推理能力需要通过大规模强化学习被广泛训练到模型中。本质上将 RL 视为一种广泛的搜索机制,通过大量计算资源来发现有效的推理模式。

DeepSeek-R1 这样的强化学习Scaling方法可以视为LIMO的具体实现,利用强化学习作为一种机制来搜索这些轨迹。

Dataset

LIMO的重点是:找到那样的(高质量)数据(认知模板)!

数据质量由两个因素决定:

  • 问题的质量。包括问题解决方法的多样性、挑战模型能力的适当难度级别以及所涵盖知识领域的广度等因素。
  • 答案的质量。包括教学价值(比如由易到难,逐步推导)、逻辑一致性和方法论严谨性等方面。

高质量数据构建:问题

问题选择(应该自然而言地引发扩展的推理过程)标准:

  • 难度等级:优先选择具有挑战性的问题,促进复杂的推理链、多样化的思维过程和知识整合。
  • 通用性:偏离模型训练分布的问题,能够鼓励模型探索新的推理方法。
  • 知识多样性:问题应涵盖不同的数学领域和概念,要求模型在解题过程中整合并关联远距知识。

数据来源:NuminaMath-CoT、AIME、MATH。选择流程(817/千万)如下:

  • 过滤掉Qwen2.5-Math-7BInstruct在几次尝试后能解决的问题,这些问题没难度。
  • 使用更强的模型(R1、DeepSeek-R1-Distill-Qwen32B、O1-Journey),保留这些模型通过多次采样迭代成功率依然低于特定阈值的问题。
  • 为了保证多样性,采用策略性抽样技术,平衡了数学领域和复杂性层次的代表性,同时避免了概念上的冗余。

高质量数据构建:答案

  • 收集问题的官方解决方案(如果有),并辅以由人类专家和 AI 专家编写的解决方案。此外,利用最先进的推理模型生成大量不同的解决方案。
  • 人工检查方案后,确定区分高质量推理链(即答案)的几个关键特征:
    • 优化的结构组织:关键节点Token多,简单步骤则简短。
    • 有效的认知支持:精心构建的解释逐步建立理解,提供教育支持。
    • 严格的验证:包含频繁的验证步骤,确认每个推导的逻辑一致性和最终答案的可靠性。
  • 规则+LLM辅助为每个问题选择高质量解决方案。

方法和结果

对Qwen2.5-32B-Instruct进行SFT。评估时Zero-Shot CoT,不同的Benchmark有不同的生成和评估策略。

整体结果

817条数据超越了114k和100k的数据。

影响分析

  • 答案质量:
    • LIMO中抽取500条,分成5个质量等级。
    • 结论是质量越高性能越好。
  • 问题难度:
    • 从MATH和AIME中选择了简单(MATH级别1-2)、复杂(MATH级别3-5)、高级(AIME)各500个问题。
    • 衡量难度的标准是:在各种LLM上准确性的下降和正确生成的推理链的平均长度增加。
    • 结论是:难度越大性能越好,而且推理能力强,泛化也更好。
  • LLM Backbone:
    • 相比Qwen1.5-32B-Chat,Qwen2.5-32B-Instruct数据质量更高,尤其是代码和数学相关数据。
    • 结果相差巨大,说明模型参数空间更丰富的预训练知识可以在微调过程中更有效地利用样本。笔者也在R1-Zero上验证了同样的结论。

未来工作

  • 领域泛化:能否激活(扩展)多种能力,比如推理、Code、规划等?
  • 理论基础:形式化预训练知识、推理时计算和推理能力之间的关系。
  • 自动评估:推理链(答案)自动化质量评估工具。
  • 多模态集成:视觉信息和结构化数据如何增强数学推理能力。
  • 现实世界影响:适应于教育、科学研究和工业应用中的实际问题。
  • 认知科学桥梁:研究不同的推理方法如何影响模型的表现和泛化,并将认知科学原理融入推理链的设计中。

s1

接下来是s1,s是Simple的意思,相关资源如下:

核心发现与LIMO类似:少量高质量数据SFT可以让LLM具备推理能力。

Dataset

核心依然是数据集构建(筛选)。有如下两个结论:

  • 选择数据时考虑难度、多样性和质量非常重要。
  • 1k高质量超过59k。

收集59k

考虑高质量、有难度、多样性(多个领域推理任务)的数据集。

选择1k

质量、难度、多样性三步过滤。

  • 质量:过滤掉包含格式问题的字符串模式(例如 ASCII 艺术图、不存在的图像引用或不一致的问题编号等)。
  • 难度:采用模型表现和推理链长度两个指标。
    • 过滤掉Qwen2.5-7B-Instruct 或 Qwen2.532B-Instruct上答对的问题(Claude 3.5 Sonnet判断对错)。使用两个模型能够降低由于其中一个模型在简单问题上出现罕见错误而导致简单Case通过过滤的可能性。
  • 多样性:先选领域,再根据推理链长度筛选一个问题。
    • 用Claude 3.5 Sonnet将每个问题分到对应的领域。

算法流程如下:

Budget forcing

Budget forcing主要包括两个关键操作:

  • 提前结束思考:如果模型生成的思考标记超过了设定的限制,则添加一个思考结束标记强制结束思考过程。以这种方式结束思考会使模型过渡到生成答案的阶段。
  • 增加更多思考:如果希望模型在某个问题上花费更多的测试时间计算,则抑制思考结束标记的生成,并在模型当前的推理轨迹后添加“等待”以鼓励更多的探索。

效果如下:

BF在进一步缩放时的两个局限性:

  • 最终会变平(没效果了)。
  • 底层语言模型的上下文窗口限制。

文章提出:Budget forcing能够进一步外推推理时计算,它能否与强化学习结合?

但其实BF本质上是一种Trick,虽然长度增加是一种和Best-of-N、树搜索等Parallel Scaling对应的Sequential Scaling,但BF增加长度的方法有点粗暴——直接硬控输出过程。不过它倒是不失为一种工程推理方案,毕竟很多问题不需要思考那么久。

小结

这两篇论文都验证了少量高质量数据SFT可以激活LLM的推理能力。但是我们开头也说了,这前提是LLM具备推理能力。这里的做法其实和R1的冷启动有异曲同工之妙,不过R1数据筛选可能没这么细,但它有后续的RL弥补。

也就是说,从本文角度看,RL并不是必须的,我们可以把R1范式重新简化为:预训练—少量高质量数据SFT—收集数据—SFT—对齐,当然冷启动后再加RL能进一步提升性能(DeepScaleR)。

此外,LIMO的数据筛选过程更加精细,值得借鉴。而s1提出的Budget forcing则可以用在推理工程上,提升推理效率。