分析 DeepSeek-R1 在实际开发中的应用优势与权衡。对需要选型和优化 AI 模型成本的团队有直接指导价值。
对于使用 AI 的软件团队来说,如何在能力与实用性之间取得平衡始终是一项挑战。最近出现的一些思路似乎同时改善了这两个方面。以下是从昨天发布的 DeepSeek-R1 模型中总结出的几点启示,它们提供了一些新的视角。
强化学习(Reinforcement Learning,RL)是一种让模型通过反复试错进行学习的技术,它可以将基础 AI 系统转变为熟练的问题解决者。传统方法依赖预先标注的数据集,而基于 RL 的后训练则不同,它让模型能够借助算法奖励实现自我改进。
GRPO 算法(Group Relative Policy Optimization,组相对策略优化)最早随 DeepSeekMath 提出,并被用于 DeepSeek-R1。它通过消除一个关键瓶颈——“critic”模型,简化了 RL 流程。
PPO 等传统 RL 方法需要两个神经网络:一个负责生成回答的 actor,以及一个负责评估回答的 critic。GRPO 使用统计比较取代了 critic。对于每个问题,它会生成多个候选解答,然后根据整个候选组的平均表现计算相对奖励。
下面通过一个 GRPO 的实际示例,说明它如何评估并改进模型回答:
Prompt:“求解 x:2x + 3 = 7”
GRPO 从当前模型中采样若干个回答(例如 3 个):
GRPO 使用基于规则的奖励:
准确性奖励:如果答案正确(2),则为 +1;否则为 0。
格式奖励:如果正确使用 <think>/<answer> 标签,则为 +1。
GRPO 使用组内统计数据计算相对优势:
平均值:(2 + 1 + 2) / 3 = 1.67
标准差:0.47
GRPO 使用这些优势值调整模型的策略:
强化:回答 1 和回答 3(正优势)会得到“增强”。
惩罚:回答 2(负优势)会受到“抑制”。
完成 GRPO 更新后,模型会学会:
避免错误(例如 2x = 7)。
优先采用正确的步骤(2x = 4 → x = 2)。
保持正确的格式(保留 <think> 和 <answer> 标签)。
这个例子展示了 GRPO 如何通过一种轻量但有效的方法——简单比较,迭代地引导模型生成更好的输出。由于不再需要 critic 模型,内存和计算资源的使用量得以显著降低。
另一个关键洞见挑战了“越大越好”的假设:直接对较小的模型(例如 7B 参数)应用 RL,带来的提升十分有限。更好的做法是:
训练大模型(例如使用 GRPO)
训练大模型(例如使用 GRPO)
将它们的能力蒸馏到更小的版本中
将它们的能力蒸馏到更小的版本中
DeepSeek-R1 蒸馏后的 7B 模型在推理任务上的表现超过了许多 32B 级别的模型,同时所需的计算资源少得多。有趣的是,这与软件工程中的一项原则不谋而合:先构建一个健壮的“参考实现”,再针对生产环境进行优化。
从首次提出 GRPO 的 DeepSeekMath 论文中,还可以看到另一个有趣的洞见:使用代码进行预训练的模型,其推理能力会得到提升,例如在解决数学问题时表现得更好。
代码的结构化语法似乎能够教会模型一些可迁移到广泛领域的技能,例如求解方程或解决逻辑谜题。
DeepSeek-R1 的发布凸显了 AI 训练创新如何弥合性能与实用性之间的鸿沟。GRPO 使用基于候选组的比较,取代了传统 RL 中资源消耗巨大的“critic”,让团队能够在保持准确性的同时简化模型优化流程。
同样引人注目的是,将经过 RL 训练的大模型蒸馏成更小、更高效版本所取得的成功。有趣的是,这种策略也与经过实践验证的软件工程方法相呼应。
最后,代码预训练与推理能力之间的联系,凸显了跨学科学习的价值。
综合来看,这些洞见为开发兼具能力与成本效益的 AI 系统提供了一条路线图:既追求前沿成果,也兼顾现实世界中的部署限制。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。