「CS336 之后」01:长上下文的路线之争,在课程结束后三个月合流了

这是「CS336 之后」系列的第一篇。

起因是我把 CS336 Spring 2026 跟完之后(逐讲增量盘点),发现一个尴尬的事实:课程在 6 月 3 日结束,而 Kimi K3(7/16)、GLM-5.3(8/14)全都是这之后发布的。课堂上的例子永远比时代晚一个身位。

但换个角度想,这恰恰是课程最有价值的地方:它给的不是结论,是提问的能力。技术报告是答案,但没有框架你连问题都提不出来。

这一篇就拿长上下文这个主题做示范。我会先复述课程给的判断框架,再看三个最新模型各自交了什么答卷,最后指出——其中一个结果,课程没预料到


一、课程给的问题:L4 的两条路线

CS336 2026 的 L4(4 月 8 日)是今年全新的一讲。2025 年这一讲叫 "Mixture of experts",2026 年改成了 "Attention alternatives and mixture of experts"——60 页里前 13 页是全新的

动机很直白:FFN 的开销随序列长度线性增长,attention 是二次增长。序列一长,attention 就是瓶颈。

课程把解法归成两类,然后用一个统一的公式骨架串起了四代模型:

  1. 线性注意力QKᵀV = Q(KᵀV),复杂度从 n²dk + n²dv 降到 2·n·dv·dk。循环形式 S_t = S_{t-1} + k_t v_tᵀ 与 LSTM 同构,形成"训练用并行二次形式、推理用串行线性形式"的对偶。
  2. Mamba-2:加输入相关的 γ_t 门控 + v_tᵀD 直通项,动机是"何时遗忘"。
  3. Gated DeltaNet:再加 β_t "no-input" 门与 (I − β_t k_t k_tᵀ) 沿当前 key 方向的擦除。讲义指出这与 fast weight programming / test-time training 的元学习最小二乘殊途同归

然后是三个落地模型及混合比例:MiniMax M1(7:1 线性:full)Nemotron 3(Mamba-2 约 3:1)Qwen 3.5 / Next(GDN 3:1)

另一个完全不同的路线是 DSA(DeepSeek Sparse Attention):稀疏而非线性。先用一个轻量 indexer(QK 内积 + ReLU + top-K)筛出子集,再对子集做 full attention。要点是 indexer 本身仍是二次的但常数极小(可低精度/低维),K 有上界所以第二阶段"贵但短",而且可以 post-hoc 在长上下文扩展阶段才插入,成本极低。

课程给了四条明确的判断:

# 判断
1 至今没有人证明纯线性注意力在大规模可行,下面讲的全是 hybrid
2 混合比存在性能悬崖:低比例几乎无损,比例一高长上下文检索与 QA 单调劣化,全 RNN 明显掉点
3 DSA 是完全不同的第二条路线(稀疏 vs 线性),且可 post-hoc 插入
4 线性注意力与 SSM 是 KV cache 之外的方向,当前架构"fundamentally inference-unfriendly"

这四条就是我们拿来读报告的尺子。


二、三份答卷

先把时间线摆清楚,因为有个容易搞错的地方:

模型 发布 相对课程(3/30–6/3)
DeepSeek V4 4/24(技术报告+开源权重) 课程期间
Kimi K3 7/16 结课后 6 周
GLM-5.3 8/14 结课后 10 周
GLM-5.3-Flash 8/26 结课后 12 周

DeepSeek V4 是在课程期间发布的(4/24,58 页技术报告,同步开源权重)。L10 在 4/29 上课,Percy 讲的是 5 天前刚出的东西。所以 V4 不算"课程没讲到"——恰恰相反,它是课程实时性的证明。真正没讲到的是 K3 和 GLM-5.3。

答卷一:DeepSeek V4 —— 走压缩,复用 DSA

规格:V4-Pro 1.6T 总参 / 49B 激活,V4-Flash 284B / 13B 激活,双双支持 1M 上下文

架构创新三条:

  1. 混合注意力 CSA + HCA

    • CSA(Compressed Sparse Attention):沿序列维度压缩 KV cache,然后执行 DSA
    • HCA(Heavily Compressed Attention):更激进地压缩 KV cache,但保持 dense attention

    注意这两者的分工很讲究:CSA 压缩后走稀疏(保证长程召回),HCA 压缩更狠但保持稠密(保证局部精度)。DSA 是从 V3.2 直接复用的——这正好印证了课程说的"DSA 可以 post-hoc 插入"。

  2. mHC(Manifold-Constrained Hyper-Connections):升级传统残差连接。这个后面还会出现,记住它。

  3. Muon 优化器:用于 V4 系列训练,"faster convergence and improved training stability"。

基础设施上有两个细节值得注意:用 TileLang(一种 DSL)平衡 kernel 开发效率与运行效率;KV cache 落盘(On-Disk KV Cache Storage)——这正是 L18 客座讲座里 Dan Fu 讲的"现代版操作系统换页"(HBM → DRAM → SSD)。

答卷二:Kimi K3 —— 给线性注意力投了 2.8T 参数的信任票

规格:2.8T 总参 / 104B 激活 / 1M 上下文 / 原生多模态

架构三条:

  1. 混合注意力 KDA + Gated MLA,3:1

    "Each block contains 3 KDA layers followed by 1 Gated MLA layer, giving a 3:1 mixing ratio."

    3:1。 和课程里 Qwen 3.5 的 GDN 比例一模一样。这不是巧合,后面会讲。

  2. KDA(Kimi Delta Attention)的公式

    1
    S_t = (I − β_t k_t k_tᵀ) · Diag(α_t) · S_{t−1} + β_t k_t v_tᵀ

    这就是课程 L4 讲的 Gated DeltaNet 公式,一字不差:(I − β_t k_t k_tᵀ) 沿当前 key 方向的擦除,外加一个 channel-wise 的衰减 Diag(α_t)

    课程 4/8 讲,K3 在 7/16 用它跑了 2.8T 参数。这说明课程讲的不是象牙塔里的东西,就是当时业界正在用的东西。

    工程上 K3 还解决了一个具体的数值问题:chunkwise 形式需要用 1/Γ 重缩放 key,而 Γ 是 (0,1) 区间的衰减因子连乘,倒数会无界增长导致溢出。Kimi Linear 的解法是在 log 空间算相对衰减并把 chunk 切成 16-token 的二级 tile;K3 改用 scaled sigmoid 从下界约束 log-decay。这是典型的"算法—系统协同设计"。

  3. Stable LatentMoE:专家空间扩到 896 个,每 token 激活 16 个。配套 Normalized LatentMoE、SiTU-GLU、Quantile Balancing 来稳定极端稀疏下的优化。

    对比一下:课程 L11 讲 Kimi K2 选 sparsity = 48,理由是"那之后边际递减"。K3 的 896/16 = 56。稀疏度还在往上推。

另外两个点:K3 用的是 Per-Head Muon(不只是 Muon,是 per-head 变体);官方称相比 K2,overall scaling efficiency 提升约 2.5 倍

答卷三:GLM-5.3-Flash —— 两条路线直接缝合

规格:320B 总参 / 18B 激活 / 1M 上下文,GLM-5 系列首个原生多模态。

官方原话:

"是首个采用稀疏注意力与线性注意力混合架构的开源前沿模型。"

具体机制:

  • 线性注意力通过递归机制捕获局部依赖
  • 稀疏注意力借助轻量级索引器召回全局上下文
  • 为降低 1M 上下文下索引器的时延与内存开销,引入 IndexPool,通过加权池化把索引器的 4 个缓存向量压缩为 1 个

效果(官方数据,对比 GLM-5.3):注意力计算量降低 3.01 倍,KV 缓存降低 4.44 倍

而且官方直接给出了与 DeepSeek-V4-Flash、Kimi-K3 的横向对比(每 Head 每层注意力计算量、每层平均 KV 缓存大小 BF16):

"在所有基线模型中,GLM-5.3-Flash 的注意力计算量最低。不过,GLM-5.3-Flash 的 KV 缓存大小仍略高于 Kimi-K3 和 DeepSeek-V4-Flash。"

这句话很实在——没有全面最优,只有权衡。纯线性路线(K3)在 KV cache 上仍然领先,混合路线(GLM)在计算量上领先。

另外 GLM-5.3-Flash 也用了 mHC,和 DeepSeek V4 一样。


三、逐条对照:课程的四条判断

现在拿尺子量。

判断 1:"纯线性注意力在大规模未被验证,全是 hybrid" —— ✅ 完全应验

K3 是 3:1 hybrid,不是纯线性。GLM-5.3-Flash 也是混合。没有任何一个模型赌纯线性。

值得注意的规模:K3 用 2.8T 参数验证了 3:1 的线性混合。这比课程里讲的 Qwen 3.5、Nemotron 3 大了一个数量级。所以"未验证"这个说法现在要改口——在 2.8T 规模上,3:1 的线性混合是被验证可行的。但纯线性仍然无人尝试。

判断 2:"混合比存在性能悬崖" —— ✅ 应验,而且收敛到了同一个点

课程给了三个比例:MiniMax M1 的 7:1、Nemotron 3 的 3:1、Qwen 3.5 的 3:1。

半年后 K3 选了 3:1

不同团队、不同架构、不同规模,都停在 3:1 附近——这强烈暗示存在一个经验最优区间。课程的"性能悬崖"判断是对的:7:1 是激进的一端(只有 MiniMax 敢试),3:1 是共识。

判断 3:"DSA 是完全不同的第二条路线,可 post-hoc 插入" —— ✅ 应验

DeepSeek V4 直接复用 V3.2 的 DSA。GLM 用的也是稀疏索引器路线(GLM-DSA)。这条路线的可复用性被证明得非常彻底。

判断 4:两条路线是"二选一" —— ❌ 被推翻了

这是课程没预料到的部分。

课程把线性注意力和稀疏注意力讲成两条竞争路线。讲义里甚至有一页专门讲 ByteDance Seed 与 UC Santa Cruz 的混合比实验,暗示你要在"线性占比"这个一维坐标上选一个点。

但 GLM-5.3-Flash 给出的答案是:两个都要,但分工不同——

  • 线性注意力负责局部(递归机制天然擅长邻近依赖,且 KV cache 固定大小)
  • 稀疏注意力负责全局(轻量索引器召回远处的关键信息)

这是一个二维的选择,不是一维的。课程的框架仍然有效,但它描述的是 2026 年 4 月的认知状态。

还有一个课程没讲但已经成了共识的东西:mHC。

DeepSeek V4 和 GLM-5.3-Flash 都用了 Manifold-Constrained Hyper-Connections。这是 Xie et al. 2026 的工作,升级传统残差连接。两个独立团队同时采用,说明残差拓扑是当前架构创新的一个活跃方向——而课程 L3 讲残差时(pre-norm vs post-norm、QK-norm、z-loss)完全没有覆盖到这一层。


四、两个仍然悬而未决的问题

技术报告回答了一些问题,也暴露了新问题。

1. Muon 到底好不好?仍然没有答案。

课程 L11 的完整叙事是:nanoGPT speedrun 上 Muon 大幅超 Adam → 大规模研究显示收益随 scale 递减 → Kimi K2 全量用 Muon,但没有 ablation,"是否真比 AdamW 好"仍是未解问题

现在 K3 用 Per-Head Muon,DeepSeek V4 也用 Muon。两个前沿模型都上车了。

但依然没有 ablation。 报告里只说"faster convergence and improved training stability",没有和 AdamW 的同规模对照。课程里 Tatsu 那句"一半是科学,一半是 vibes",到今天仍然成立。

顺带说个方法论问题:L11 讲过,做 optimizer 对比至少要同时盯住两个轴——compute 与 Chinchilla ratio(token:param)。只扫模型尺寸轴的对比论文基本不可信。以后看到任何"XX 优化器吊打 AdamW"的说法,先问它扫了 ratio 没有。

2. 稀疏度应该多大?没有理论,只有实践。

模型 总参 激活 专家数 激活专家 稀疏度
Kimi K2 1T 32B 48
Kimi K3 2.8T 104B 896 16 56
DeepSeek V4-Pro 1.6T 49B ~33
GLM-5.3-Flash 320B 18B ~18

从 18 到 56,差 3 倍。没有收敛,也没有公开的选择依据。课程 L11 讲 Kimi K2 选 48 是"因为那之后边际递减"——这是唯一的公开推理,而且是单点的。

顺带一提,GLM-5.3-Flash 只有 320B 却拿到 AA 智能指数 57 分(与 Claude Opus 4.8 持平),稀疏度只有 18。这暗示小模型 + 低稀疏度 + 好架构,可能比大模型 + 高稀疏度更划算。当然,官方数字要打折看。


五、一份可以复用的检查清单

这一篇的方法论,总结一下就是:拿课程当解剖刀,而不是当百科全书

具体到长上下文这个主题,读一份技术报告时该问:

该问的问题 出处
走的是线性、稀疏,还是混合? L4
如果是混合,比例多少?为什么停在这个点? L4(3:1 共识,7:1 是激进端)
稀疏注意力是 post-hoc 插入还是从零训? L4
KV cache 怎么压?MLA / DSA / 压缩?压了多少倍? L10
1M 上下文时 attention 的算术强度是多少?memory-bound 还是 compute-bound? L2
长上下文阶段的 EP / CP 怎么配? L8(TP ≤ 8,CP 可到 64)
KV cache 有没有分层?落盘了吗? L18(HBM→DRAM→SSD 换页)

这套问题可以套到任何一份技术报告上——包括半年前发布的旧报告,以及将来才会出现的新报告。


六、系列预告

这个系列会按技术主题切,不按模型切——避免退化成模型发布简讯。计划中的几篇:

  1. 长上下文:路线之争与合流(本文)
  2. MoE 稀疏度:从 K2 的 48 到 K3 的 56,稀疏度这个维度到底怎么选
  3. Muon 与优化器:一个课程明确说"仍是未解问题"的话题,半年后进展如何
  4. Agent 能力从哪来:mid-training 注入 vs 末段注入(L15/L16 的核心争议)
  5. 国产芯片上的推理:GLM-5.3-Flash 跑在国产芯片集群上,这件事的系统含义

每篇都会有一个明确的结构:课程给了什么判断 → 报告给了什么答案 → 哪些应验、哪些失效

最后说一句本系列的立场。技术报告是 PR 文档,不是论文——它只写成功的不写失败的。而课程里最有价值的判断恰恰是负面的:"至今没有人证明纯线性注意力在大规模可行"、"混合比存在性能悬崖"。这类信息你不会在任何一份技术报告里看到。

所以这两样东西是互补的,不是替代关系。 课程给尺子,报告给读数。


附:本篇的一手材料

全部落盘在 ~/valyang-daily/cs336/techreports/,可复现:

  • DeepSeek V4:arXiv 2606.19348,《DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence》
  • Kimi K3:arXiv 2607.24653,《Kimi K3: Open Frontier Intelligence》
  • GLM-5.3-Flash:智谱官方文档 docs.bigmodel.cn(含架构说明与横向对比数据)

说明:本篇只纳入有技术报告或官方技术文档的模型。混元 Hy4 preview(8/28 发布)截至本文写作时仅有新闻稿、无技术报告,无法验证其架构细节,故未纳入分析范围;待其技术报告发布后再单独补篇。

课程材料见 《CS336 Spring 2026 有什么新东西》