AI 学院 · LLM大模型线 · 节点 06 / 14

训练目标与缩放定律:亲手算 loss 和成本

loss 曲线是训练的仪表盘,缩放定律是花钱的地图。这一课你亲手算一次交叉熵、学会读曲线、用公式估算成本——从此训练不再是玄学。全程约 50 分钟。

状态 手把手 · 必修前置 05 Transformer预计 50 分钟
本课模式:三步走——手算一次交叉熵 → 学会读 loss 曲线 → 用缩放定律估算成本。做完你就有了「训练决策回到 loss 上回答」的心智。

📋 本课你将完成

步骤 1

手算一次交叉熵(15 分钟)

未完成

🎯 这一步的目标:理解模型在优化什么——用最小例子亲手算一次。

打开 Python 交互模式
python3
▶ 预期输出(点开对照)
>>> 
照抄:交叉熵计算
import numpy as np
true_token = 2  # 真实的下一个 token 是第 2 号
probs = np.array([0.2, 0.3, 0.5])  # 模型预测:第 2 号概率 0.5
loss = -np.log(probs[true_token])
print(f"loss = {loss:.3f}")
# 对比:如果模型很不确定(0.2)
loss2 = -np.log(0.2)
print(f"不确定时 loss = {loss2:.3f}(更大 = 更差)")
▶ 预期输出(点开对照)
loss = 0.693
不确定时 loss = 1.609
(loss 越小 = 模型对真实 token 越确定 = 学得越好)
✅ 检查点:你能解释「交叉熵在惩罚什么」以及 loss 的方向。
步骤 2

学会读 loss 曲线(15 分钟)

未完成

🎯 这一步的目标:用交互工具建立「曲线长什么样」的直觉——这是训练中最重要的一双眼睛。

打开下方「loss 曲线解读器」
▶ 预期输出(点开对照)
(见下方交互实验:切换正常/过拟合/欠拟合/学习率太大四种情况,看曲线形态)
写下判断规则
▶ 预期输出(点开对照)
train ↓ / val ↓ = 正常
train ↓ / val ↑ = 过拟合(停或加数据/正则)
两者 flat = 学习率太小 / 数据有问题 / 模型太小
锯齿状 = 学习率太大
✅ 检查点:你能在 4 种曲线形态间正确判断。
步骤 3

用缩放定律估算成本(15 分钟)

未完成

🎯 这一步的目标:把算力换算成钱——公式:FLOPs ≈ 6 × 参数量 × token 数。

估算你的训练成本
python3 -c 'params = 0.5e9; tokens = 10e9; flops = 6*params*tokens', 'print(f"FLOPs = {flops:.2e}" )', 'print(f"≈ 租 A100 约 {flops/3.1e14/3600:.1f} 小时" )'  # A100 约 312 TFLOPS BF16
▶ 预期输出(点开对照)
FLOPs = 3.00e+19
≈ 租 A100 约 26.9 小时
(0.5B × 10B tokens 一次全量训练 ≈ 27 卡时,按小时租约几十美元)
理解放大规律
▶ 预期输出(点开对照)
7B × 140B tokens ≈ 5.9e21 FLOPs ≈ A100 数百小时(数百–数千美元)
记住:真实成本是 3–5 倍(中间实验浪费)——先小后大不只是方法论,是省钱
✅ 检查点:你能为自己的目标规模估算一次成本(公式 + 数字)。
🧪 交互实验 · loss 曲线解读器

四种情况切换着看——训练时你能一眼认出它们,就知道该调什么。

橙 = train loss,蓝 = val loss。先猜每种情况曲线长什么样,再切换对照——这是训练者最重要的直觉练习。

❓ 老师答疑(卡住了先看这里)

❓ 交叉熵为什么不是「正确率」?
正确率只看「选没选对」,交叉熵看「对真实 token 有多确定」。模型给 0.9 和 0.6 都是选对,但 0.9 明显学得更好——交叉熵能区分这种细微差异,梯度信息更丰富。
❓ val loss 为什么不降但 train 降?
过拟合信号:模型在背训练数据,没学到规律。检查:训练数据是否太少、模型是否太大、正则是否缺失。
❓ 缩放定律对我这种小规模有用吗?
非常有用。核心推论:①数据不够时模型再大也白搭;②先小后大是免费安全网(超参/数据配方先在 50M 验证);③小模型训 60% 步数的曲线可预示大模型。全是为你这种条件设计的。
❓ FLOPs 公式 6 是从哪来的?
前向 + 反向 ≈ 2×3 = 6 倍参数量×token 数(每个参数在前后向各被用约 3 次)。是工程估算,精确值随实现略有差异,但量级可靠。

📝 自测清单(全勾才算过)

全勾 → 节点 06 / 14 完成。未勾 → 回看对应步骤,别急着往前走。

📚 推荐资料