Lazy loaded image
O1-Pruner: Length-Harmonizing Fine-Tuning for O1-Like Reasoning Pruning
Words 1388Read Time 4 min
2025-1-29
2025-6-17
type
status
date
slug
summary
tags
category
icon
password
org

📝 主要贡献

  1. 设计了一个简单的实验指出长思维链推理模型推理过程中的一个重要问题,长度不和谐问题(length disharmony)
  1. 针对这个问题,提出了一种在保持模型推理准确度的情况下提升模型推理效率的方法,LengthHarmonizing Fine-Tuning (O1-Pruner),使用长度调和reward
  1. 证实了有效性,并提出一些思考

🧐 Length disharmony问题

问题定义:使用Length disharmony描述长思维链推理过程中效率低下的现象:当模型生成不同长度的响应时,若较短回答已具备足够高的准确率,那么较长响应就成为冗余的计算成本支出。由于Transformer框架的复杂度是n方的,这样的冗余会极大增加推理时间。
notion image
一方面,针对同样的问题,思维链的长度和问题的准确率直接没有什么关系。
notion image
另一方面,总的来看,思维链越短,其准确率更高。回复更短意味着模型能够更加高效地找到最优的解决路径,就少了很多的反思回溯的过程。
💡
“长度不和谐”指的是模型生成的推理过程的长度,与其解决问题的效率和最终的准确率之间,存在一种不匹配或不协调的现象。本质是模型缺乏根据问题自动调整思维链长度的能力。

🤗 方法

Length-Harmonizing Fine-Tuning (O1-Pruner)

该方法对LLM进行微调,假设该模型是一个能够使用长思维链解决数学问题的模型,并且存在上面发现的思维链长度不和谐的问题。
在不减小准确率的情况下从两个方面解决这个问题
  1. 总体来说,让模型缩短推理路径
  1. 让模型在遇到简单问题的时候缩短答案,遇到复杂问题的时候用更长的推理路径
具体如何解决呢?
这个问题是一个有约束的优化问题,在准确率的约束下,让思维链变短,同时要适应问题难度。该论文提出这样的优化目标:
notion image
其中L代表长度(用token数量计算)。这个目标巧妙的将问题难度考虑在思维链缩短上,使用一个参考模型(这里用初始的LLM作为参考模型)对一个问题的输出长度作为问题难度的参考:
  1. 一方面,最大化这个目标函数,就是让L(y)变小,缩短模型的思维链
  1. 另一方面,当问题难度很大时,参考模型的输出长度更长,相对而言,作为分母的输出思维链长度也就更长
其约束条件为:
notion image
即优化后的模型的准确率不低于原来的参考模型。
然后将该有约束优化问题,转化为带惩罚项的无约束优化问题:
notion image
接下来对问题进行简化,由于参考模型是确定的,与参考模型有关的期望都可以通过采样直接进行计算:
notion image
得到:
notion image
 
为了再较少计算复杂度,进行离线训练(off-policy),使用PPO类似的loss进行简化改进:
notion image
其中
notion image
notion image
整体的算法伪代码如下:
notion image

🎰 实验

模型:使用Marco-o1-7B和QwQ-32BPreview进行实验,其中7B模型是全参微调,32B模型使用PEFT(对比了LoRA和FFT,选择更好的FFT)。
数据集:选用MATH数据集进行训练,只使用其问题和答案,推理过程不需要;测试使用MATH, GSM8k和GaoKao的测试集。
Baseline:
  1. FastSolving Prompt:直接用prompt进行指导
  1. SFT:每个问题用两个最短的solution进行微调
  1. DPO:用两个最短的soluntion作为正例,最长的solution作为负例
评估指标:
  1. 准确率
  1. 输出长度
  1. AccuracyEfficiency Score (AES):论文定义的指标,评估准确率和减少计算消耗的效果的trade off
notion image

📎 实验结果

 
主实验结果,准确率提升,思维链长度减小,推理效率增加:
notion image
推理时间有明显缩短:
notion image
惩罚项的消融实验:
notion image
难度的影响:使用越难的数据进行训练,其在测试集上的输出结果长度会越长,准确率也会更高
notion image
这个准确率的提升是因为使用更难的数据集进行训练,得到的更强的推理能力,还是因为思维链变长带来的呢🤔论文只说是更难的问题让模型准确率提升,并没有分析这个思维链长度的影响。

✨ 总结

整个论文的思路就是发现并提出了“长度不和谐”这个问题,并根据这个问题提出O1-Prune的方法,让模型缩短思维链、根据问题难度调整思维链长度,最终有一个比较好的效果。
 
上一篇
When More is Less: Understanding Chain-of-Thought Length in LLMs
下一篇
FoodSeg