跳转至

1.9 前沿模型案例研究

本章你将学到

  • 如何阅读前沿模型的架构表,并把每一项翻译成它所代表的权衡。
  • 对 Llama 3 405B、DeepSeek-V3、Qwen3-235B-A22B、gpt-oss-120b、Kimi K2 和 Gemma 3 27B 做并排比较,只使用它们的技术报告和已发布模型配置中公布的数字。
  • 如何根据这些数字计算并比较它们的 KV cache 占用和训练算力。
  • 每家实验室的独特选择换来了什么,并把 1.1–1.8 章串联起来。

为什么重要

现在你已经了解了现代 LLM 的每一个组件。真实的模型,是在种种约束之下对这些组件所做的组合:算力预算、硬件集群、服务成本目标、上下文长度目标、团队对风险的胃口。带着这样的视角去读技术报告,是跟上最新进展最快的办法,因为新模型大多只是已知思路的新组合和新调优。本章就在六个有影响力的 2024–2025 年模型上练习这项技能。

来源与约定

数字来自各模型的技术报告或模型卡,精确的维度则来自随权重一起发布的配置文件。“—”表示该数字没有公布(或我们无法确认),而不是表示零。上下文长度是所支持的最大长度;“K”表示各实验室所用的 \(2^{10}\) 个 token(128K = 131,072)。

直觉

每个模型对同样三个问题给出了不同的回答:

  1. 我们如何换取质量? 更多参数(稠密或 MoE)、更多 token、更好的数据、更好的优化器。
  2. 我们如何让训练保持稳定且负担得起? 精度(BF16 还是 FP8)、并行布局、均衡方案、归一化技巧。
  3. 我们如何让推理服务保持便宜? 更少的激活参数(MoE)、更小的 KV cache(GQA、MLA、滑动窗口)、对量化友好的设计。

一个稠密的 405B 模型(Llama 3)把全部筹码押在 (1) 和稳定性上;DeepSeek-V3 和 Kimi K2 借助 MLA 和极度稀疏的 MoE 在 (3) 上用力极深;gpt-oss 针对单块 GPU 上的部署做了优化;Gemma 3 则瞄准在人们实际拥有的加速器上获得出色的质量。

读下去之前先试一试

对每个模型,仅凭这张表预测:

  • 它的权重在 BF16 下大约需要多少 GPU 显存(2 字节 × 总参数量);
  • 每生成一个 token 要花多少计算量(\(2 \times\) 激活参数量);
  • 它在 128K 上下文下的 KV cache,能否与权重一起舒适地放进一台 8 卡节点。

然后对照下面的实例演算检查你的答案。

工作原理:对比表

Llama 3 405B DeepSeek-V3 Qwen3-235B-A22B gpt-oss-120b Kimi K2 Gemma 3 27B
类型 稠密 MoE MoE MoE MoE 稠密
层数 126 61 94 36 61 62
\(d_{\text{model}}\) 16,384 7,168 4,096 2,880 7,168 5,376
query 头数 / KV 头数 128 / 8 128 / — (MLA) 64 / 4 64 / 8 64 / — (MLA) 32 / 16
头大小 128 128(q/k 另有 64 个 RoPE 维度) 128 64 128(q/k 另有 64 个 RoPE 维度) 128
注意力 GQA MLA(latent 512) GQA + QK-norm GQA;全注意力 / 128 token 带状窗口交替;可学习的 sink MLA(latent 512) GQA + QK-norm;5 个局部(窗口 1024): 1 个全局
FFN SwiGLU,\(d_{ff}\) 53,248 前 3 层稠密;之后 256 个路由专家 + 1 个共享专家,top-8,专家隐藏维度 2,048 128 个专家,top-8,无共享专家,专家隐藏维度 1,536 128 个专家,top-4,专家隐藏维度 2,880 第 1 层稠密;之后 384 个路由专家 + 1 个共享专家,top-8,专家隐藏维度 2,048 GeGLU,\(d_{ff}\) 21,504
总参数 / 激活参数 405B / 405B 671B / 37B 235B / 22B ~117B / ~5.1B 1.04T / 32B 27B / 27B
词表 128K 128K(129,280) 151,936 201,088(o200k_harmony) 160K(163,840) 262K
上下文 128K 128K 原生 32K,配合 YaRN 达 128K 128K(从 4K 起用 YaRN) 128K 128K
预训练 token 数 15.6T 14.8T 36T — 15.5T 14T
RoPE 底数 500,000 10,000(+YaRN) 1,000,000 150,000(+YaRN) 50,000(+YaRN) 全局 1M / 局部 10K
优化器 / 精度要点 AdamW,BF16 FP8 混合精度;无辅助损失的均衡;MTP 全局批次均衡损失 发布时 MoE 权重已做 MXFP4 量化 MuonClip 从更大的教师模型蒸馏

这六个模型都使用 Pre-norm RMSNorm、RoPE 和门控 FFN。差异在于注意力(如何缩小 KV cache)、FFN(稠密还是稀疏到什么程度),以及训练技巧。

阅读任何模型配置的检查清单

新模型发布时,它的 config.json 和报告能回答大部分架构问题。请按顺序过一遍这些字段,并对每一项问:它花了什么代价,又换来了什么:

  1. vocab_size → 分词粒度和多语言覆盖;嵌入层和输出层的大小(见 1.2)。
  2. num_hidden_layers、hidden_size → 深度和宽度;再加上 FFN 的大小,就得到参数量(见 1.3)。
  3. num_attention_heads、num_key_value_heads、head_dim(对 MLA 则是 kv_lora_rank、qk_rope_head_dim)→ 注意力类型和每个 token 的 KV cache 大小(见 1.4)。
  4. sliding_window、层类型列表 → 局部/全局交错,以及缓存中有多大一部分是有上限的(见 1.6)。
  5. rope_theta、rope_scaling、max_position_embeddings → 位置频率,以及上下文是否用 YaRN 或类似方法扩展过(见 1.6)。
  6. intermediate_size、moe_intermediate_size、路由/共享专家数量、每个 token 的专家数、最前面的稠密层数 → FFN 是稠密还是稀疏,总参数与激活参数(见 1.5)。
  7. 与归一化相关的字段(rms_norm_eps、QK-norm 开关)、tie_word_embeddings、偏置 → 稳定性与小模型的经济性(见 1.4)。
  8. 只在报告里才有的信息:训练 token 数、数据配比、优化器、精度、并行方式、调度(见 1.7、1.8)。

设计选择及其换来的东西

设计选择 谁在用(本章范围内) 换来了什么 付出了什么 章节
稠密 FFN Llama 3 405B、Gemma 3 27B 简单、训练稳定、易于部署 单 token 计算量随全部参数增长 1.3
细粒度 MoE DeepSeek-V3、Qwen3、Kimi K2、gpt-oss 以很小的激活计算量获得大量参数 所有专家占用的内存、all-to-all 通信、均衡 1.5
共享专家 DeepSeek-V3、Kimi K2 通用知识集中在一处;路由专家得以专业化 每层多一个始终开启的 FFN 1.5
KV 头很少的 GQA Llama 3、Qwen3、gpt-oss、Gemma 3 更小的 KV cache、更快的解码 KV 头减少时,质量有小幅风险 1.4
MLA DeepSeek-V3、Kimi K2 在 MHA 水平的质量下,全注意力缓存最小 kernel 更复杂;需要解耦的 RoPE 1.4
局部/全局交错 gpt-oss、Gemma 3 大部分层的缓存和计算都有上限 局部层的远距离访问更弱 1.6
QK-norm / QK-clip Qwen3、Gemma 3 / Kimi K2 注意力 logit 不会爆炸 小额开销;QK-norm 与 MLA 配合不太方便 1.8
较大的 RoPE 底数和/或 RoPE 重新缩放(YaRN、插值) 六个模型都用,只是组合不同 主要靠短上下文预训练就获得长上下文 需要一个长上下文训练阶段 1.6
极大的 token 预算 Qwen3(36T) 更好的小型和中型模型 数据获取和过滤的投入 1.7
FP8 训练 DeepSeek-V3 矩阵乘法吞吐量约为 BF16 的 ~2× 需要谨慎缩放以避免精度损失 1.8
Muon 优化器 Kimi K2 算力效率优于 AdamW(据 Moonlight) 较新,需要稳定化手段(QK-clip) 1.8

代码

下面的脚本把这张表变成对成本最重要的两个数字:每个 token 的 KV cache(服务)和训练 FLOPs(\(C \approx 6 N_{\text{active}} D\),见 1.7)。

# 根据已公布的配置计算每个 token 的 KV cache 和训练算力(BF16 缓存,每元素 2 字节)。
MODELS = {
    # 每个全注意力层、每个 token 的缓存元素数;全注意力层 / 窗口层的层数;窗口大小
    "Llama 3 405B":       dict(kv_per_layer=2 * 8 * 128,  full=126, local=0,  window=0),
    "DeepSeek-V3":        dict(kv_per_layer=512 + 64,     full=61,  local=0,  window=0),   # MLA latent + RoPE key
    "Qwen3-235B-A22B":    dict(kv_per_layer=2 * 4 * 128,  full=94,  local=0,  window=0),
    "gpt-oss-120b":       dict(kv_per_layer=2 * 8 * 64,   full=18,  local=18, window=128),
    "Kimi K2":            dict(kv_per_layer=512 + 64,     full=61,  local=0,  window=0),   # MLA
    "Gemma 3 27B":        dict(kv_per_layer=2 * 16 * 128, full=10,  local=52, window=1024),
}
ACTIVE_AND_TOKENS = {  # (激活参数, 训练 token 数),两者都有公布的才列出
    "Llama 3 405B": (405e9, 15.6e12), "DeepSeek-V3": (37e9, 14.8e12),
    "Qwen3-235B-A22B": (22e9, 36e12), "Kimi K2": (32e9, 15.5e12), "Gemma 3 27B": (27e9, 14e12),
}

def kv_cache_bytes(cfg, context, bytes_per_elem=2):
    full = cfg["full"] * context
    local = cfg["local"] * min(context, cfg["window"])
    return (full + local) * cfg["kv_per_layer"] * bytes_per_elem

print(f"{'model':18s} {'KiB/token':>10s} {'GiB @128K':>10s} {'train FLOPs':>12s}")
for name, cfg in MODELS.items():
    per_tok = cfg["full"] * cfg["kv_per_layer"] * 2 / 1024
    at_128k = kv_cache_bytes(cfg, 131072) / 2**30
    flops = ""
    if name in ACTIVE_AND_TOKENS:
        n, d = ACTIVE_AND_TOKENS[name]
        flops = f"{6 * n * d:.1e}"                      # C ≈ 6 N_active D
    print(f"{name:18s} {per_tok:10.1f} {at_128k:10.1f} {flops:>12s}")

gpt-oss 的层划分(18 个全注意力层 + 18 个带状层)遵循它的交替模式;对于 Gemma 3 27B,其配置是每五个局部层之后放一个全局层,这样 62 层中就有 10 个全局层和 52 个局部层。

实例演算

脚本的输出,BF16 缓存,一条 128K-token 的序列:

模型 每个 token 的 KV cache(全注意力层) 128K 下的 KV cache 训练算力 \(6 N_{\text{active}} D\)
Llama 3 405B 504 KiB 63.0 GiB \(3.8 \times 10^{25}\)
DeepSeek-V3 68.6 KiB 8.6 GiB \(3.3 \times 10^{24}\)
Qwen3-235B-A22B 188 KiB 23.5 GiB \(4.8 \times 10^{24}\)
gpt-oss-120b 36 KiB 4.5 GiB —
Kimi K2 68.6 KiB 8.6 GiB \(3.0 \times 10^{24}\)
Gemma 3 27B 80 KiB 10.4 GiB \(2.3 \times 10^{24}\)

读懂这些数字:

  • Llama 3 405B 用了约 DeepSeek-V3 的 11 倍训练算力(\(3.8 \times 10^{25}\) 对 \(3.3 \times 10^{24}\)),尽管 DeepSeek-V3 的总参数更多,原因是每个 token 都要经过全部 405B 个参数。对 Llama 3 的 \(6ND\) 估算,与其报告中的 \(3.8 \times 10^{25}\) FLOPs 吻合。
  • MLA 使 DeepSeek-V3 和 Kimi K2 每个 token 的缓存,比 Llama 3 405B 的 GQA-8 小约 7×。
  • gpt-oss 的缓存最小:它有一半的层被限制为 128 token 的带状窗口,其全注意力层使用 8 个大小为 64 的 KV 头。
  • Gemma 3 的 5:1 局部:全局模式,把它的缓存从约 62 GiB(假如每一层都是全局的)降到了约 10 GiB。
  • 每生成一个 token,推理计算量约为 \(2 N_{\text{active}}\):Llama 3 405B 是 810 GFLOPs,DeepSeek-V3 是 74,Qwen3-235B-A22B 是 44,gpt-oss-120b 约为 10。

根据配置重建参数量。 与 1.3 和 1.5 同样的核算方法,就能还原出这些头条数字。(归一化权重和偏置可以忽略,故省略。)

Llama 3 405B(\(L = 126\),\(d = 16{,}384\),128 个 query 头和 8 个大小为 128 的 KV 头,SwiGLU \(d_{ff} = 53{,}248\),\(V = 128{,}256\),输入输出不共享):

组成部分 计算 参数量
每层注意力 \(W_Q, W_O\):\(2 \times 16{,}384^2\);\(W_K, W_V\):\(2 \times 16{,}384 \times 1024\) 570.4M
每层 FFN \(3 \times 16{,}384 \times 53{,}248\) 2,617.2M
126 层 \(126 \times 3{,}187.7\text{M}\) 401.6B
嵌入层 + 输出层 \(2 \times 128{,}256 \times 16{,}384\) 4.2B
合计 ≈ 405.8B

请注意 GQA 如何使 \(W_K\) 和 \(W_V\) 比 \(W_Q\) 小 16 倍,以及 FFN 占据了每层参数的 80% 以上。

Qwen3-235B-A22B(\(L = 94\),\(d = 4096\),64 个 query 头和 4 个大小为 128 的 KV 头,128 个隐藏维度为 1,536 的专家,top-8,\(V = 151{,}936\),输入输出不共享):

组成部分 计算 总参数 激活参数
每层注意力 \(2 \times 4096 \times 8192 + 2 \times 4096 \times 512\) 71.3M 71.3M
一个专家 \(3 \times 4096 \times 1536\) 18.9M
每层专家 \(128 \times 18.9\text{M}\)(激活 8 个) 2,415.9M 151.0M
每层路由器 \(4096 \times 128\) 0.5M 0.5M
94 层 233.8B 20.9B
嵌入层 + 输出层 \(2 \times 151{,}936 \times 4096\) 1.2B 1.2B
合计 ≈ 235.1B ≈ 22.2B

“235B-A22B”这个名字,恰好就是这样算出来的。请注意,query 投影的宽度是 \(d\) 的两倍(\(64 \times 128 = 8192\)),这一选择把注意力宽度与残差流宽度解耦了。

实践中的做法(2025–2026):各项设计换来了什么

Llama 3 405B:认真做好的稠密基线

Meta 有意选择了标准的稠密 Transformer而不是 MoE,目的是“最大化训练稳定性”,并把投入放在数据(15.6T token,配比经过精心调优,见 1.7)、128K 的分词器(见 1.2)、用于长上下文的 500,000 大 RoPE 底数(见 1.4),以及在 16,384 块 H100 上的 4D 并行(见 1.8)。它还会对打包进同一条训练序列的不同文档之间屏蔽注意力。模型大小是由它自己的缩放定律拟合选定的(预测其预算下算力最优约为 402B)。这份报告是目前对稠密前沿流水线最完整的公开描述,包括分阶段的长上下文训练直至 128K,以及退火。权衡:最大程度的简单与稳健,代价是昂贵的推理(每个 token \(2 \times 405\text{B}\) FLOPs 以及很大的 KV cache)。

DeepSeek-V3:处处讲究效率

几乎每个组件都是为成本而选的:用 MLA 获得小 KV cache(见 1.4);用 细粒度 MoE,256 个路由专家 + 1 个共享专家,671B 中激活 37B(见 1.5);用无辅助损失的均衡,使均衡不与语言建模损失冲突;用节点受限路由限制 all-to-all 的流量;用带细粒度缩放的 FP8 训练以及 DualPipe 调度(见 1.8)。它还加入了多 token 预测(MTP):一个额外的串行模块预测下下个 token,使训练信号更加稠密,并且在推理时可以复用为投机解码(speculative decoding)的草稿模型(报告引用了第二个 token 85–90% 的接受率;见 第 3 部分)。报告称完整训练耗费 2.788M 个 H800 GPU 小时。

Qwen3-235B-A22B:干净、传统的 MoE

Qwen3 把只有 4 个 KV 头的 GQA(query 与 KV 的比例为 16:1)、QK-norm(并且不像 Qwen2 那样带 QKV 偏置),以及一个 128 个专家、top-8、无共享专家的 MoE 结合在一起,并用全局批次损失做均衡,使专家可以按领域专业化。它最有特色的押注是数据量:该系列中每个模型都用 36T token,包括分阶段的预训练(含一个重推理的阶段和一个长上下文阶段)。权衡:设计简单、被充分理解,数据量非常大,GQA 的缓存比 MLA 的大,但更容易实现和部署。

gpt-oss-120b:为部署而设计

OpenAI 的开放权重模型激活计算量很小(约 117B 中激活约 5.1B),并为部署服务做了工程设计:全注意力与 128 token 带状注意力交替,使长距离注意力的开销和缓存减半;每个头有可学习的 attention sink,让头可以“什么都不关注”,这对窗口注意力有帮助(见 1.6);8 个 KV 头的 GQA;以及以 MXFP4(4 比特)发布的 MoE 权重,据其模型卡称,这使 120b 模型能放进单块 80 GB 的 GPU。它使用 o200k_harmony 分词器,带有用于其聊天格式的特殊 token。训练 token 数没有公布。

Kimi K2:扩大稀疏度与优化器

Kimi K2 从一个类似 DeepSeek-V3 的设计出发,改了三处。它把稀疏度提高到 384 个专家(top-8,1 个共享),总参数达到约 1.04T、激活 32B,其动机是它发现,在激活计算量固定时,专家越多,损失会持续下降(见 1.5)。它把注意力头数减半到 64,以降低长智能体(agentic)上下文的推理成本。并且它用 MuonClip 训练:Muon 优化器加上 QK-clip,后者在注意力 logit 增长过大时重新缩放 query/key 权重(见 1.8)。报告描述了 15.5T token 的预训练过程没有出现一次损失尖峰,并大量使用改写(合成)数据来延展高质量 token。

Gemma 3:每块加速器上的质量

Gemma 3 面向能在单块 GPU 或 TPU 上运行的模型。27B 模型使用每个全局层配 5 个局部层(1024 token 窗口),使 KV cache 在 128K 上下文下仍然很小;QK-norm(取代 Gemma 2 的 logit 软截断);局部层(10K)和全局层(1M)使用不同的 RoPE 底数;为多语言覆盖而设的 262K 大词表(见 1.2);以及预训练期间从更大的教师模型做知识蒸馏(蒸馏见 第 2 部分)。它还是多模态的,带一个基于 SigLIP 的视觉编码器。权衡:在这个规模上用稠密计算换取简单,同时对注意力在内存方面做了激进的工程设计。

  • Pre-RMSNorm + RoPE + 门控 FFN + GQA 或 MLA 是通用的骨架(见第 1.3–1.4 章)。
  • 细粒度专家的 MoE 在前沿占主导;在面向单设备部署的规模上,稠密模型仍然常见。
  • 缩小 KV cache 在每一个层面都在推进:更少的 KV 头、潜变量缓存、局部窗口、sink;接下来是混合线性注意力(Qwen3-Next、MiniMax-01)和可训练的稀疏注意力(DeepSeek-V3.2)。
  • Token 数:15–36T,配合大量过滤、合成改写和退火(见 1.7)。
  • 精度与优化器如今已成为有竞争力的差异化因素:FP8 训练(DeepSeek-V3)、Muon(Kimi K2)、4 比特发布格式(gpt-oss)。
  • Llama 4(2025,仅有博客)让 Meta 也转向了 MoE(Scout 和 Maverick),具备原生多模态,并用交错的 RoPE/NoPE 层(“iRoPE”)来处理长上下文。

常见误区

  • 用总参数量来比较 MoE 和稠密模型。 一个 671B、激活 37B 的 MoE,训练成本远低于 405B 的稠密模型;比较计算时看激活参数,比较内存时看总参数。
  • 以为词表或上下文的数字越大,模型就越好。 这些都是权衡;质量取决于数据和训练。
  • 把“128K 上下文”读成“128K 可用”。 长上下文的质量各不相同;请查看大海捞针(needle-in-a-haystack)和长文档推理的结果。
  • 在显存估算中忽略精度。 gpt-oss 能放进单块 GPU 的说法取决于 MXFP4 的专家权重;用 BF16 的话,约 117B 的权重本身就要约 234 GB,大约是三块 80 GB 的 GPU。
  • 把模型卡上的数字当作可以互换的。 “128K”词表可能是 128,000、128,256 或 129,280,取决于特殊 token;当精确数字很重要时,请去读配置。

本章要点

  • 六个前沿模型共享同一个骨架,差异在于注意力(GQA、MLA、局部/全局)、FFN 的稀疏度、数据量和训练技巧。
  • 每个 token 的 KV cache 从约 36 KiB(gpt-oss-120b)到约 504 KiB(Llama 3 405B)不等,这在很大程度上决定了长上下文的服务成本。
  • MoE 让 DeepSeek-V3、Qwen3-235B-A22B 和 Kimi K2 只需 Llama 3 405B 约十分之一的算力就能训练,同时拥有相当或更多的总参数。
  • 每个独特的选择都对应一种约束:稳定性(Llama 3 稠密)、成本(DeepSeek-V3 的 MLA + FP8)、数据(Qwen3 的 36T)、部署(gpt-oss 的窗口 + MXFP4)、稀疏度与优化器(Kimi K2)、单加速器上的质量(Gemma 3)。
  • 学完 1.1–1.8 章,你就能根据任何配置文件自己算出这些权衡。

自测

为什么 Qwen3-235B-A22B 每个 token 的 KV cache 比 DeepSeek-V3 大,尽管它的总参数少得多?

KV cache 的大小取决于注意力的设计,而不是参数量。Qwen3 缓存 4 个 KV 头 × 128 维 × 2(K 和 V)= 每层 1,024 个元素,共 94 层;DeepSeek-V3 缓存的是 576 个元素的 MLA latent,共 61 层。

估算一个假设的 MoE 的训练算力:20B 激活参数,在 25T token 上训练。

\(6 \times 20 \times 10^9 \times 25 \times 10^{12} = 3 \times 10^{24}\) FLOPs,与 DeepSeek-V3 或 Kimi K2 大致相同。

gpt-oss 的可学习 attention sink 解决了什么问题?为什么它对其带状层格外重要?

softmax 强制权重之和为 1,所以一个没有相关内容可关注的头也必须把权重放到某个地方。可学习的 sink logit 给了它一个“无处可去”的选项。在带状层中,通常隐含的 sink(第一个 token)落在了窗口之外,所以显式的 sink 就格外有用。

Kimi K2 把注意力头数相比 DeepSeek-V3 减半了。既然 MLA 的缓存与头数无关,这样做能省下什么?

prefill 和解码时的注意力计算量(每个头都要对整个上下文计算分数),以及 query 和输出投影的大小。对长的智能体上下文,即使缓存很小,每个 token 的注意力计算量仍是一项重要成本。

尽管 MoE 在计算上有优势,Meta 为什么可能还是为 Llama 3 405B 选择了稠密模型?

报告给出的理由是训练稳定性。稠密模型避免了路由坍缩、均衡损失、all-to-all 通信和专家并行的工程,这降低了一次非常大、持续数月的训练的风险。

延伸阅读

报告 看什么
The Llama 3 Herd of Models — Llama Team, Meta, 2024 90 多页,涵盖完整的稠密 405B 流水线:数据配比、由缩放定律驱动的规模选择、4D 并行、长上下文阶段、后训练。关于“前沿实验室如何做”的最佳单一参考。
DeepSeek-V3 Technical Report — DeepSeek-AI, 2024 MLA + 细粒度 MoE + 无辅助损失均衡 + MTP + FP8 + DualPipe。V3.1/V3.2 后来加入了混合思考和 DeepSeek Sparse Attention。
Qwen3 Technical Report — Alibaba, 2025 稠密与 MoE 系列(0.6B → 235B-A22B)、36T token、QK-norm、统一的“思考 / 非思考”模式。Qwen3-Next 加入了混合 Gated DeltaNet + 极度稀疏的 MoE。
gpt-oss-120b & gpt-oss-20b Model Card — OpenAI, 2025 MoE、稠密/带状窗口注意力交替、attention sink、MXFP4 量化的 MoE 权重、o200k_harmony 分词器。
Kimi K2: Open Agentic Intelligence — Moonshot AI, 2025 用 MuonClip 训练的 1T 总参数 / 32B 激活的 MoE;稀疏度缩放;大量智能体数据合成。
Gemma 3 Technical Report — Google DeepMind, 2025 5:1 的局部:全局注意力以缩小 KV cache、QK-norm、从更大教师模型蒸馏、多模态。
Llama 4 (blog) — Meta, 2025 MoE(Scout / Maverick)、通过早期融合实现的原生多模态、用于长上下文的交错 RoPE/NoPE 层(“iRoPE”)。
2 OLMo 2 Furious — AI2, 2025 端到端完全可复现;最适合学习,因为数据、代码和检查点全部发布。
Better & Faster LLMs via Multi-token Prediction — Gloeckle et al., 2024 额外的头预测多个未来 token:更稠密的训练信号,以及用于投机解码的免费草稿模型(DeepSeek-V3 采用)。
The Big LLM Architecture Comparison — Sebastian Raschka 对近期架构持续更新、配有插图的对比;本章的好搭档。
Smol Training Playbook — Hugging Face 从实践者角度,端到端讲解训练一个现代 LLM 背后的各项决策。