---
layout: post.njk
source: https://yage.ai/share/pretraining-difficulty-survey-20260418.html
speaker: yage.ai
title: 训练一个大语言模型到底有多难
date: '2026-04-18'
summary: 本文深入探讨了训练大语言模型的严峻挑战，涵盖了硬件故障、计算效率（MFU）、数值精度、数据限制及资源规划等六个维度。文章指出，其难度源于大规模和高成本下众多工程问题的叠加，而非单一瓶颈，并提供了一个评估 LLM 训练能力的框架。
area: tech-engineering
category: ai-ml
tags:
  - llm-pretraining
  - computational-cost
  - hardware-reliability
  - scaling-laws
  - training-stability
people:
  - Dario Amodei
companies_orgs:
  - Meta
  - Google
  - NVIDIA
  - Anthropic
  - Hugging Face
  - MosaicML
  - Epoch AI
products_models:
  - Llama 3
  - Llama 3.1
  - PaLM
  - GPT-4
  - OPT-175B
  - DeepSeek-V3
  - MegaScale-MoE
  - H100
  - TPU v4
  - FineWeb
  - FineWeb-Edu
media_books: []
draft: true
status: evergreen
---

大多数人不会自己训练大语言模型，未来也大概率不会。但理解训练的难度有两个实际用途。第一，它决定了这个行业里谁能做、谁不能做，进而决定了开源模型的战略价值、算力定价的底层逻辑、以及
AI 行业集中度的走向。第二，也许更实际的一点：当有人用一堆技术名词来渲染
pre-training
的复杂度（无论是融资故事、算力推销还是技术自我吹嘘），你能分辨哪些是真实的工程约束，哪些是在夸大。

训练大语言模型分为
pre-training（预训练，从海量文本中学习语言和知识）和
post-training（后训练，对齐人类偏好）两个阶段。Pre-training
消耗绝大部分算力和资金，是区分谁能从头训练 frontier
model、谁只能在现有模型上微调的分界线。这篇文章只讨论 pre-training。

下面从量级感知开始，依次展开硬件、算力利用率、数值稳定性、数据和资源规划六个维度。

## 量级：多少卡、多少钱、多少天

先对 pre-training 的规模建立直觉。

Meta 训练 Llama 3
405B 用了 16,384 张 H100 GPU，跑了 54 天。Google 训练 PaLM 540B 用了
6,144 个 TPU v4 芯片。GPT-4 的规模没有官方数据，行业估算约 25,000 张
A100，约 95 天。

成本方面，Stanford
AI Index Report 2026 给出的估算：GPT-4 约 1 亿美元，Google
的旗舰模型约 1.5 亿美元。Meta 的 Llama 3
全系列（含所有尺寸的模型和多次训练尝试）估算超过 5
亿美元。这些数字只是算力成本，不含数据标注、工程人力和失败实验的开销。

Anthropic CEO Dario Amodei 在 2024 年 4
月公开表示，当时的模型训练成本已接近 10 亿美元，并预计 2025-2026
年将达到 50 到 100 亿美元。这一表述被收录在 FTC
的 6(b) 调查报告中。据 The Information 报道，Anthropic 2026
年的训练预算约 120
亿美元。这些数字反映的不仅是单次训练的算力费用，还包含大量失败实验的成本。Pre-training
在大多数情况下不会一次成功，中间可能因为 loss
发散、硬件故障积累、数据配比失误等原因需要从检查点回滚甚至从头重来。

在这个量级下，后面讨论的每一个技术问题都有一个共同特征：它本身可能并不罕见，但在万卡规模和数月周期下，处理它的代价会被放大到百万美元量级。

## 硬件：故障是统计必然

一张 GPU 一年出一次故障，听起来可靠性很高。但一万张卡就是每天出故障
27 次。Pre-training
的集群规模恰好落在一个痛苦的区间：大到每小时都有故障，又无法像大型云服务那样做完全无状态的容错（因为训练是有状态的，所有卡必须同步推进）。

Meta
基于 1.5 亿 A100 GPU 使用小时数的分析表明，1,024
张卡的集群平均故障间隔（MTBF）约 8 小时，16,384 张卡降至约 1.8
小时。Llama 3 405B 的训练实际验证了这个数字：54 天里发生了 419
次意外故障，平均每 3 小时一次，其中约一半与 GPU 本身或 HBM3
显存有关。更早的案例是 OPT-175B 的训练日志：992 张
A100 跑了约两个月，硬件故障导致至少 35 次人工重启，超过 100 台 GPU
主机被替换，GPU 有效利用时间仅 52-59%。

比显性故障更棘手的是 Silent Data Corruption（SDC，静默数据损坏）。SDC
指 GPU
产生了错误的计算结果但不报任何错误。这个错误值会通过梯度聚合操作（AllReduce）扩散到整个集群，最终导致模型权重全部变成无效值。Google
的工程团队报告他们在训练中每隔一到两周遇到一次 SDC。Llama 3 训练 54
天里记录了 6 次 SDC。ACL 2025
有一篇专门研究 LLM 训练中 SDC 问题的论文。Meta
为此开发了专门的检测机制，Google
使用确定性训练来允许回放和追溯错误来源。

故障频率高不等于训练必然失控。Meta 报告 Llama 3 的有效训练时间仍超过
90%，靠的是一整套自动错误检测、SDC 监控和异步检查点系统。NVIDIA 在 USENIX
SREcon 2026
的演讲中给出的经验法则是：一万张卡的集群里，即使单卡故障率只有
0.01%，每天也必然有至少一张卡出问题。故障本身无法避免，但可以通过工程手段把影响控制在可接受范围内，代价是大量的专项投入。

## 算力利用率：买了一万张卡，能用上多少

硬件层面解决了”卡能不能正常工作”的问题，下一个问题是”正常工作的卡有多少时间在做有效计算”。衡量指标叫
MFU（Model FLOPs Utilization），即实际计算量占 GPU
理论峰值算力的百分比。

Dense 模型（所有参数每次都参与计算）的 MFU 通常在 38-46%。Google 的
PaLM 540B 在 TPU v4 上达到约 46%，Meta 的 Llama 3 在 H100 上约 38-43%。换算一下：一万六千张卡里真正在做有效矩阵运算的，等效于六千到七千张。

MoE（Mixture of Experts，混合专家）架构进一步压低了这个数字。MoE
让每个 token
只激活一小部分参数，推理时效率高，但训练时需要在整个集群中频繁交换数据（All-to-All
通信）。NVIDIA 在分析 DeepSeek-V3
的训练时指出，未优化状态下跨节点专家并行的计算与通信时间比约为
1:1，GPU 有一半时间在等数据传输。DeepSeek-V3 的实测 MFU 在 FP8 精度下约
21.4%。字节跳动的 MegaScale-MoE 在 1,440 张
Hopper GPU 上训练 352B MoE 模型，经过大量通信优化后 MFU 仍在
28-32%。

MFU 低不仅仅是通信的问题。现代 pre-training
需要同时使用多种并行策略来把模型和数据分配到数千张卡上：张量并行（TP，在
GPU 间切分单层计算）、流水线并行（PP，把不同层放在不同 GPU
组上）、数据并行（DP，不同 GPU
处理不同数据）、序列并行（CP，切分长序列），MoE
还需要专家并行（EP）。Llama 3.1 405B 的一个 MLPerf
配置是 TP=8, PP=9, CP=2,
DP=4。这些维度之间有约束关系，不同配置对通信模式、显存占用和效率的影响各不相同。找到最优配置需要了解硬件拓扑（哪些卡通过
NVLink 高带宽互连，哪些跨交换机通信），还需要大量消融实验。

一个帮助理解量级的换算：在一万六千张 H100 的集群上，MFU 每提高 1
个百分点，等效于多出 160 张卡的有效算力。一次为期两个月的训练 run 里，1%
的 MFU 差距对应约 50 万美元。

## 数值精度与训练稳定性

前两节讨论的是硬件和网络层面的问题。即使集群稳定运行、通信高效，训练过程本身还有一层挑战：数值计算的精度和模型训练的稳定性。

GPU
做浮点运算时使用的数值精度越低，计算速度越快、显存占用越少，但计算误差也越大。截至
2026 年初，BF16（16 位浮点）仍然是大多数 frontier model
的默认训练精度，Llama 3 全程使用 BF16。行业正在向 FP8（8
位浮点）过渡，代表案例是 DeepSeek-V3。DeepSeek-V3
的做法是按层按算子精细分配精度：矩阵乘法用 FP8（FP32
累加），激活和梯度用 BF16，embedding、输出头、归一化和 attention
算子保持 BF16/FP32，优化器状态维持高精度。这是目前公开的最大规模 FP8
训练案例，从中可以看出低精度训练远不是简单地切换一个开关，而是一个逐层权衡的工程问题。更低的
FP4（4 位浮点）训练目前只存在于研究论文中。NeurIPS 2025 的 Quartet
论文在 1B 参数模型上做了演示，但需要 NVIDIA Blackwell
架构的原生硬件支持，距离大规模工程落地还有很远。

训练过程中另一个持续存在的挑战是 loss
spike：训练损失突然飙升，如果不及时处理会导致模型参数劣化。Loss spike
有时被描述为完全不可预测的随机事件，但 COLM 2025
的研究已经从理论上找到了根因：梯度范数的突发增长，由残差路径和 Layer
Normalization 的相互作用导致。PaLM 的原始论文也记录了 spike
的处理流程：跳过异常 mini-batch、调整学习率、从检查点重启。字节跳动分析了 428
个生产训练失败事件，将根因归纳为数据/算法问题、硬件故障和工程 bug
三类，每类都有对应的诊断路径。Loss spike
仍然是实际训练中的高频事件，但它已经是一个有理论框架和工程手段应对的问题。

超参数（尤其是学习率）的选择同样已经有了系统性的方法。μP（maximal update
parameterization）允许在小模型上搜索最优超参数，然后通过理论推导的缩放规则迁移到大模型。ICLR 2025
的研究提出了可以跨学习率 schedule
预测损失曲线的多幂律模型。这些方法没有完全消除调参的不确定性（2025
年的研究发现 weight decay 和 μP
之间的交互关系仍未完全理论化），但调参已经从纯经验试错演进到了有理论指导的系统工程。

## 数据：边界在逼近，但还没到

前面三节讨论的都是”怎么跑”的问题：硬件要稳定、通信要高效、数值要可控。这一节和下一节转向”跑什么”的问题：训练数据从哪来，模型应该多大。

Pre-training 需要海量的高质量文本。Epoch
AI 发表在 ICML 2024
的研究给出了迄今为止最系统的量化：人类生成的高质量公开文本总量约 300
万亿 token（90% 置信区间
100T-1000T），按当前增长趋势，耗尽的中位数年份是 2028 年，区间为
2026-2032 年。数据还没有用完，但边界已经可见。

当前 frontier model 消耗的数据量已经很大。Llama 3 使用了约 15 万亿
token。FineWeb（Hugging
Face 2024 年开源的预训练语料库）从 CommonCrawl 2013-2024
年的爬取数据中清洗出 15 万亿 token，其中精选的教育内容子集 FineWeb-Edu
约 1.3 万亿
token，在下游基准上优于十倍大小的其他数据集。这说明数据质量的杠杆效应很大：经过严格清洗的
1T token 可以比粗筛的 10T token 更有效。

合成数据（用已有模型生成训练数据）是延缓数据短缺的主要手段之一，但有代价。Shumailov
等人发表在 Nature
上的研究发现，当模型反复在前代模型输出上重训练时，原始数据分布的尾部（低频但有信息量的部分）逐代消失，最终模型输出趋向退化。不过后续研究也表明，当合成数据与真实数据混合使用、且真实数据比例超过一定阈值时，退化可以避免。工业界目前已经在大规模使用合成数据，Meta
的 Llama 3.1
将合成数据作为训练的组成部分，主要用于代码和数学推理等窄领域任务。

多模态训练（同时用文本、图像、视频训练）带来了额外的挑战。Zhai 等人
2023
年的系统研究发现，加入视觉数据后模型的文本推理能力确实可能下降，但关键因素是训练数据的多样性：多样化的视觉-语言指令数据导致更少的遗忘，数据多样性不足才是主要风险。

## 资源规划：该训练多大的模型、用多少数据

数据的量和质决定了训练的原材料。在此基础上，还有一个更上层的决策：给定算力预算，模型应该多大、数据应该多少？

Hoffmann
等人 2022 年的 Chinchilla 论文给出了一个影响深远的结论：在
compute-optimal 条件下，训练 token 数应约为模型参数量的 20
倍。按这个比例，700 亿参数的模型需要约 1.4 万亿 token。这个结论在 2022
年改变了行业认知，让大家意识到之前很多模型（包括
GPT-3）其实处于欠训练状态，用更多数据训练更小模型可以达到更好效果。

但 2024 年以后的工业实践已经系统性地偏离了这个比例。Llama 3 用 15
万亿 token 训练 405B 参数的模型，token/参数比约 37:1，远超 20:1。原因是
inference-optimal
策略：刻意过度训练一个较小的模型，使其推理性能接近更大模型，从而降低部署成本。训练多花的钱可以在大规模推理部署中通过更小的模型尺寸赚回来。

Chinchilla 之后的 Scaling Law 研究进一步分化。MosaicML 2023
年的研究认为如果考虑推理效率，比例应该达到 190:1。MoE 架构的研究发现大型
MoE 模型所需的 token/参数比低至 8:1。Epoch
AI 的后续工作重新审视了原始 Chinchilla 数据，给出了约 25.6:1
的修正值。这些分歧说明 Scaling Law
仍然是一个活跃的研究方向，不同架构、不同优化目标下的最优配置差异很大。

这里的难度在于：训练开始之前就必须做出关于模型大小、数据量和训练时长的决策，这些决策互相耦合，每一次验证的代价以百万美元计，而最优解还在随硬件成本和推理需求的变化而移动。

## 回到最初的问题

前面六节分别讨论了 pre-training
在不同维度上的困难。把它们放在一起看，可以更清楚地理解 pre-training
的核心特征：它不是某一个技术问题特别难，而是多个中等难度的问题在万卡规模和数月周期下同时存在，且任何一个环节的失误都可能让整次训练作废。

这些问题的成熟度也不同。硬件故障和通信开销已经有了成熟的工程方案（Meta
把 Llama 3 的有效训练时间维持在 90%
以上），代价是巨大的资金和人力投入。混合精度、并行策略和数据配比有系统性的方法论（μP、Scaling
Law），但每次验证的实验成本以百万美元计，搜索空间远未被充分探索。数据效率的天花板、合成数据的边界、多模态训练的干扰消除则仍然是开放问题，连评估标准都还在演化中。

这个分层提供了一个实用的判断框架。当一个团队说自己能做 pre-training
时，可以问三个递进的问题：集群能否稳定运行数周？有没有足够的预算做并行策略和数据配比搜索？在数据效率和架构选择上有没有独立的研究能力？这三个问题的答案，大致决定了他们能训练出什么水平的模型。

反过来，当有人用 Silent Data Corruption、Activation Spike、Model
Collapse 这些术语来渲染 pre-training
的门槛时，你也可以用同样的框架去检验：这个问题属于哪一层？已经有工程方案了，还是仍然是开放问题？描述的程度和公开数据一致吗？Pre-training
确实很难，但它的难度是可以被具体理解的，不需要被神秘化。