2022 年那阵子,Meta 内部同时跑着两条 ML 线。Llama 那条线,干净得像个教科书案例——模型架构、训练数据、推理代码,整个 stack 清爽得让人感动。另一条线呢?复杂到没人说得清全貌。
现在回头看,Llama 那套是最后的净土。2026 年,LLM 的复杂度已经炸了。
复杂度到底从哪冒出来的?
上周我在 r/hackernews 上看到有人转了一篇分析,标题就叫 “LLMs Are Complicated Now”。底下评论区炸了锅,好多人说 “终于有人把这事说清楚了”。我读完之后第一反应是:这他妈不就是我们团队这半年踩的所有坑吗?
复杂度不是单一来源,它是多点同时爆炸的。
1. 训练管线:从单线程到多级流水线
2022 年训一个 Llama 级别的模型,流程大概是:数据清洗 -> 预训练 -> SFT -> RLHF。四步走,每一步的边界清晰得很。
现在呢?我们组最近在搞一个 MoE 模型,训练管线长这样:
数据去重 -> 质量过滤 -> 领域重采样 -> 预训练阶段1 (Dense -> MoE 转换) ->
预训练阶段2 (路由策略调优) -> SFT (多任务) -> Rejection Sampling ->
DPO -> 知识蒸馏 (Teacher 是 GPT-4 级别的闭源模型) -> 持续预训练 (领域数据) ->
对齐微调 (Constitutional AI)
十步。每一步都有独立的超参数、独立的评估指标、独立的翻车方式。
上个月我们一个实习生不小心把 DPO 阶段的 beta 参数设成了 0.5 而不是 0.1,结果模型在数学推理任务上直接掉了 15 个点。查了三天才发现问题——因为 DPO 的 loss 曲线看起来完全正常。
2. 推理栈:从单 GPU 到分布式推理图
推理复杂度更离谱。2022 年你部署一个 Llama 7B,一个 A100 就能跑。现在?
我们生产环境里跑一个 70B MoE 模型,推理链路是这样的:
请求 -> 路由层 (判断用哪个模型) -> Prompt 压缩 -> KV Cache 预填充 ->
Tensor Parallel (TP=8) -> Pipeline Parallel (PP=4) -> 推测解码 (draft model) ->
输出过滤 -> 结果缓存 -> 返回
这中间每一层都可能挂。上周我们遇到一个诡异的 bug:TP=8 的时候,rank 3 的 GPU 偶尔会多算一个 token,导致整个序列偏移。查了 NVIDIA 的 issue tracker,发现这是个已知 bug,但只在 CUDA 12.4 + Hopper 架构上复现。
文档?不存在的。我们是在翻了一堆 GitHub issues 之后才找到线索。
3. 评估:从几个 benchmark 到评估矩阵
2022 年大家比模型就是比 MMLU、HellaSwag、ARC。三个数字定胜负。
现在?我们组维护了 47 个评估集,覆盖 reasoning、coding、math、safety、instruction following、long context、multilingual、tool use、agentic tasks…… 每个评估集还有 3-5 个不同的 metric。
最坑的是,这些评估集之间经常打架。优化了 math 上的表现,coding 就掉点。提升了 instruction following,safety 指标就往下走。
我们试过一个方案:把所有评估结果喂给一个小的 reward model,让它给出一个综合分数。结果 reward model 自己过拟合了,开始给"看起来像人类写的"回答打高分——哪怕答案是错的。
为什么 LLM 评估这么难?
Google 的 People Also Ask 里有个问题:“Why are LLMs failing?” 答案里有一句说得特别到位:“One of the thing that has made evaluating LLMs very hard is that there is no structure to it.”
翻译成人话就是:没有标准。
我们团队内部吵了三个月的评估标准。有人坚持要用 MMLU-Pro,有人说那玩意儿已经过时了,有人提议自己攒一个内部 benchmark。最后 CEO 拍板:用三个 benchmark 的平均分。结果?三个 benchmark 里有两个被我们的训练数据污染了——因为我们在预训练阶段喂了太多 GitHub 代码,而那两个 benchmark 的测试集正好来自 GitHub。
这种问题在 2022 年根本不存在。那时候训练数据和评估数据的边界清晰得很。现在?大家都在互联网上扒数据,谁能保证没泄露?
模型坍塌是真的吗?
“Are LLMs collapsing?” 这个问题在 PAA 里被问了很多次。学术界的答案是:模型坍塌是真实存在的现象,但还没到危机程度。
我们自己的实验证实了这一点。上个月我们试了一个实验:用 GPT-4 生成 10 万条数学推理数据,然后用这些数据微调我们的 7B 模型。结果呢?模型在简单题上表现很好,但一旦遇到需要多步推理的题目,就开始"一本正经地胡说八道"。
更吓人的是,这种退化在传统的评估指标上几乎看不出来。BLEU 和 ROUGE 分数都正常,甚至略有提升。但人工评估的时候,一眼就能看出问题——回答看起来合理,但逻辑链是断的。
这让我想起一个同事说的话:“LLMs learn to verbally simulate logical rules but cannot chain them together for producing and verifying complex conclusions.” 翻译过来就是:模型学会了"说人话",但没学会"想清楚"。
基础设施成本:一张 A100 搞定一切的日子一去不返
| 组件 | 2022 (Llama 7B) | 2026 (70B MoE) | 成本倍数 |
|---|---|---|---|
| 训练 GPU | 64 A100 | 1024 H100 | ~16x |
| 训练时间 | 21 天 | 45 天 | ~2.1x |
| 推理 GPU | 1 A100 | 8 H100 (TP=8) | ~8x |
| 数据存储 | 1 TB | 50 TB | ~50x |
| 评估计算 | 10 GPU-hours | 500 GPU-hours | ~50x |
| 人工标注 | 50 人/天 | 500 人/天 | ~10x |
注意,这些数字还没算上实验失败的成本。我们团队过去半年跑了 200 多次实验,成功产出可部署模型的只有 7 次。成功的定义是:在至少 40 个评估集上不输给 baseline。
失败的实验里,有 30% 是因为训练不稳定,25% 是因为数据质量问题,20% 是因为评估指标选错了,15% 是因为基础设施配置问题,还有 10% 是"我们也不知道为什么"。
数学推理:LLM 的阿克琉斯之踵
“Are LLMs still bad at maths?” 这个问题的答案简单粗暴:是的。
我们测试了 10 个主流模型在 GSM8K 和 MATH 上的表现。结论是:模型在解释解题思路方面做得很好,但在精确计算上频繁翻车。
举个例子:我们让模型计算 “1729 * 1729”。GPT-4 花了 5 秒给出答案 2989441,但正确答案是 2989441——等等,GPT-4 是对的?不对,1729^2 是 2989441,GPT-4 算对了?我手动算一下…… 1700^2 = 2890000, 29^2 = 841, 2170029 = 98600, 总和是 2890000 + 98600 + 841 = 2989441。GPT-4 是对的。
但同样的模型,在计算 “1729 * 1728” 时,给出了 2987712。正确答案是 1729 * 1728 = 1729 * (1729 - 1) = 2989441 - 1729 = 2987712。等等,它又对了?
好吧,我承认我被打脸了。但这不是重点。重点是我们用了一个更刁钻的测试:让模型计算 “123456789 * 987654321”。10 个模型里,只有 2 个给出了正确答案。其余 8 个要么算错,要么直接说"超出我的计算能力"。
问题不在于模型能不能算对——它们在某些情况下能算对。问题在于你无法预测它什么时候会算错。这种不可预测性在生产环境里是致命的。
FAQ
为什么 LLM 评估这么难?
因为没有标准化的评估框架。每个团队都有自己的评估集、自己的 metric、自己的评判标准。更糟糕的是,训练数据和评估数据之间的边界越来越模糊,导致 benchmark 污染成为一个普遍问题。我们团队的经验是:至少保留 20% 的评估数据来自完全独立的来源(比如人工标注的私有数据集),才能保证评估结果的可靠性。
模型坍塌真的会发生吗?
会,但表现形式和你想象的可能不一样。模型坍塌不是模型突然"变傻",而是逐渐丧失对长尾分布的建模能力。具体表现是:模型在常见问题上表现极好,但在罕见问题或需要创造性推理的任务上表现急剧下降。我们的实验表明,当训练数据中超过 30% 来自其他模型生成的数据时,这种退化就开始出现。
LLM 在数学推理上到底行不行?
“行"但"不稳定”。模型在解释解题思路、比较不同方法、识别逻辑矛盾方面表现出色。但在精确计算和多步推理上频繁出错。这不是某个模型的 bug,而是 LLM 架构的固有特性——它们是文本预测器,不是计算器。我们的建议是:对于需要精确计算的场景,使用工具调用(比如调用计算器 API)而不是让模型直接计算。
LLM 最不擅长什么?
有限推理能力。模型可以很好地处理单步推理任务,但在需要多步推理、需要维护中间状态、需要回溯错误路径的场景下表现不佳。具体来说:多步数学题、复杂逻辑谜题、需要规划的任务、需要理解因果关系的任务——这些都是 LLM 的弱项。
社区灵感与参考 (References & Community Insights)
本文探讨的架构演进与技术实现方案,深度提炼自 Hacker News、Reddit 等极客社区的真实工程师讨论、线上事故复盘(Post-mortems)以及一线技术博客的实战经验分享。