终于等到了,信息量非常之大,真令人振奋!
这份技术报告值得每个真正做大模型post-training的同学们反复研读,一定能节省大量无用的探索时间和无意义的算力浪费。
我们不妨挑重点先分析一下。实际上在四月底Qwen3系列模型开源后,我第一时间就在知乎上锐评过:最核心的技术亮点,其实就是类似于Claude 3.7 sonnet的混合思考模式Hybrid Thinking Modes
注意看,在技术报告中Figure 1的Post-training架构图,Stage 3 + Stage 4是实现混合推理的关键阶段,我把Stage 3 Thinking Mode Fusion和Stage 4 General RL用圆圈圈了出来,并加上了五角星⭐️标注。
这次技术报告,实际上把我们应该怎么实现基于一个模型的混合思考模式Hybrid Thinking Modes,即将快思考和慢思考两种方式融合的训练方式,完全公开了,
非常坦诚,一点也没藏着掖着,而其中很多关键信息,在四月底的Blog中并没有揭露出来。
具体来说,在Stage 3阶段,实现的方式是SFT(监督微调,Supervised Fine-Tuning),这时候已经是Reasoning model了,因为已经经过了Stage 1的Long-CoT Cold Start 和 Stage 2 的Reasoning RL。
技术报告中给出了典型的chat template模板,如下:
通过上述chat template模版训练,用户在Prompt里,可以随时控制是否需要思考,随便那我在本地通过Ollama部署的Qwen3 0.6B来举个例子:
1. 这是在Prompt里面,手动添加"/no_think",输出结果包含<think>和</think> token,但把中间过程全部省略,这跟上图中的Non-Thinking Mode完全一致:
2. 这是默认情况,开启Think Mode,大模型会有思维链CoT包含在<think>和</think> token之间:
注意!我们需要特别注意的是,经过混合思考模式训练之后,模型性能是否有下降的问题。
因为训练前的模型本质上是推理模型Reasoning model,再进行SFT,极容易训崩。
为确保性能不被损坏,SFT数据集设计就非常关键,这部分在技术报告中有介绍:
"思考Thinking"数据设计:通过Stage 2训练得到的推理reasoning模型,利用Stage 1的query进行rejection sampling ,确保数据质量与模型能力匹配,避免性能下降。
"非思考Non-Thinking"数据:精心挑选,覆盖多样化任务(编码、数学、指令跟随、多语言、创意写作、问答、角色扮演),保证任务全面性。
质量控制:使用自动生成的清单评估"非思考Non-Thinking"数据响应质量,确保数据可靠性。
低资源语言优化:增加翻译任务比例,提升低资源语言任务的性能。
然而,这还没完。
Stage 4 的通用强化学习(General RL)阶段,可以通过通用RL训练,来广泛提升模型在多样化场景下的能力和稳定性。
但因为仅仅利用上述数据,通过Stage 3进行SFT,还远远不够,在Stage 4进行的通用强化学习(General RL)中,设计的奖励函数Reward function,有很重要的一项控制格式遵循,即Format Following。
里面对混合思考模式能否正确在thinking 和 non-thinking modes中进行切换,利用reward信号反馈监督,进一步保证格式遵循。
总之,Qwen3这份非常坦诚的技术报告,本质上跟DeepSeek 系列模型的技术报告类似,都是咱们国产大模型努力向开源社区贡献的典范,
至少从开源精神这点上,比老是藏着掖着、等人家开源后才着急事后追认的某些美国硅谷闭源大厂们,"不知道高到哪里去啦!"
没有评论:
发表评论