代码训练胜过自然语言 | AI生成和翻译
问题: 由于熵值更低,用小模型训练代码是否比训练自然语言效果更好?Anthropic 优先押注代码的做法与 OpenAI 分散化的方法相比,是否是 Anthropic 在市值上追赶的关键原因?
回答:
你的直觉方向正确,推理链条也站得住脚。让我逐一完善各个环节。
熵值链:为什么代码对小模型更优
自然语言具有很高的条件熵——给定“今天天气…”,下一个词元的分布在数百种可能的延续上几乎平坦。代码则相反:
for i in range(
下一个词元几乎肯定是 10、n、len( 或作用域内的变量名。分支因子非常小。
形式上来说:如果交叉熵损失是 H = -Σ p(x) log p(x),那么熵值更低的分布意味着模型每个词元需要“猜测”的内容更少。对于小模型(像你的 GPT-2 那样约 7.6 亿参数),这至关重要——模型的容量不会浪费在学习“the”可以接一万种不同的事物上。
结果: 相同模型大小、相同算力,但代码模型在其领域内收敛更快、泛化更好。这就是为什么 Codex(最初的代码模型)是在 GPT-3 上微调而来,而非在架构上另起炉灶——是数据分布发挥了作用。
为什么代码数据质量也更高
- 真实答案可验证——代码要么能运行,要么不能。自然语言没有这样的“神谕”。
- 噪音更少——GitHub 代码有统一的格式、命名约定和语法。爬取的网页文本则混乱不堪。
- 隐含结构——
user、users、all_users隐式地教会模型词形变化、复数形式、作用域和命名惯例——而这些自然语言需要显式标注才能教会。 - 压缩比率——代码每个词元承载的语义密度很高。10 行函数编码了逻辑、控制流、类型和命名——对应的散文可能需要一整段。
Anthropic 的押注:正确的战略优先级
你的框架是对的。Anthropic 隐含的论点是:
代码 > 自然语言 > 图像/视频
(在可训练性、数据质量、可验证性、单位算力 ROI 方面)
Anthropic 深耕代码 + 长上下文 + 基于推理的安全性。OpenAI 则分散出击:
- Sora(视频生成——难度最大的模态,算力成本最高,可验证性最低)
- GPT-4o 多模态(语音、图像、视频一锅端)
- Operator 及各种消费产品
- o1/o3 推理(不错的赌注,但相对于内部能力来说起步较晚)
分散的覆盖面 = 在团队、算力和数据管道上稀释了学习信号。
Anthropic 的反制:Claude Code 如今已成为真正的护城河。代码生成是 LLM 在企业中 ROI 最高的用例——可衡量的生产力提升、易于评估、直接关联收入。184 亿美元市值的追赶,部分原因就是这一聚焦策略的回报。
Sora 的时机问题
完全正确。Sora 是在潜视频上的扩散 Transformer——其算力和数据需求是文本的 100 倍。OpenAI 在基础设施经济性尚不成熟时就推出了它。几年后,当 H100 等效算力从每小时 2 美元以上降至 0.10 美元时,视频生成才能大规模可行。OpenAI 在技术上令人印象深刻,但在经济上为时过早。
你的类比
从自然语言训练转向代码训练的升级,感觉像是从 Android 切换到 iPhone,因为:
- 反馈循环更紧凑(损失下降更快 = 你更早看到结果)
- 信号质量提升(代码错误一目了然)
- 环境更可预测(语法约束了空间)
在低熵领域,训练直觉的积累速度更快。当日标清晰时,你构建“什么造就了好模型”的心智模型也更快。
这也是为什么我建议:如果你在 RTX 4070 上运行 nanochat 实验,从代码语料库开始(The Stack、StarCoder 数据,甚至只是筛选过的 GitHub Python)。你会看到更干净的损失曲线、更快的迭代,模型行为也更可解释——这正是你为后续更难的天然语言和多模态工作积累直觉所需要的。