最近DeepseekR1大火,标题党纷纷凑热闹,s1真的有这么牛吗?
![李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区 李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区](https://s4.51cto.com/oss/202502/11/0122859313ce6e17757505c3be7db2e3aa982e.png)
![李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区 李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区](https://s9.51cto.com/oss/202502/11/68f42823677b13661d14729fb8124e5c0db7c2.png)
下面,我们来解读一下S1
S1用了不到50美元,训练出了媲美Deepseek的原因
![李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区 李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区](https://s7.51cto.com/oss/202502/11/e78e93d75d3044999f86155c2ffc21811d2c78.png)
构造微调样本时,精心挑选了1000个问题,通过Gemini Thinking Experimental中提取这些问题的推理轨迹和答案。
实验中发现,随机选择、选择具有最长推理轨迹的样本或仅选择最大多样性的样本,都会导致性能显著下降。
因此,使用59K个示例的完整数据池(s1K的超集)进行训练,并没有比选择的1K样本带来显著的提升。
用1K数据对现成的预训练模型进行监督微调 (SFT),在小型数据集上仅需在16个H100 GPU上进行26分钟的训练。
并且不是从0开始训练一个大模型,当然训练所需花的钱,不到50美元。
这给了我们的启示是:在领域微调时,精心挑选1000条左右的问答数据就完全足够了。
- 训练后,使用预算强制(Budget forcing)策略来控制模型测试时的计算量:
![李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区 李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区](https://s9.51cto.com/oss/202502/11/95b3a051313c85a6bc9336699da96b79ff831e.png)
- 通过强制终止模型的思考过程或在模型试图结束时多次附加“等待”来延长其生成过程。
- 强制终止:如果模型生成的思考符元数量超过预设限制,通过附加一个思考结束分隔符(end-of-thinking token delimiter),作为结束标记来强制结束思考过程,并且过渡到生成答案。
- 延长思考:如果我们希望模型在一个问题上花费更多测试时计算量,我们抑制思考结束分隔符的生成,而是将“等待”(Wait)字符附加到模型当前的推理轨迹中,以鼓励更多探索。
![李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区 李飞飞+50美元+蒸馏 S1=? DeepSeekR1-AI.x社区](https://s6.51cto.com/oss/202502/11/646f575665ac6d97db89113205788dcd3c776e.png)
训练样本的选择方法介绍
训练样本的筛选,需要根据质量(Quality)、难度(Difficulty)和多样性(Diversity)三个标准筛选来筛选
- 质量筛选:通过人工检查样本,排除格式错误或质量低下的数据;
- 难度筛选:利用两个预训练模型(Qwen2.5-7B-Instruct和Qwen2.5-32B-Instruct)评估问题的难度,选择模型无法正确解答的问题;
- 多样性筛选:根据数学主题分类系统(MSC)对问题进行分类,从每个领域中选择具有较长推理链的问题,以确保覆盖不同类型的推理任务。
本文转载自CourseAI,作者: CourseAI