原文地址|Zeyuan Allen-Zhu|2025-12-19 发表,2026-07-28 更新至 v2
原文在争什么
Transformers 在全局注意力上花的计算成本,很大一部分被浪费在了相邻 token 之间的信息传递上了。
这不是一篇「我们加了个新东西」的论文,而是在问一个更根本的问题:你为什么要用昂贵的注意力机制来做廉价的事?
Zeyuan 反对的默认观点是:
- 缄默假设:「在学术规模(1.3B 参数、100B token)很难做出对比实验,因为噪音太大,所以架构 A 和 B 没法有意义地比较」
- 隐藏的浪费:「注意力已经很优雅了,应该能高效处理所有 token 通信」
- 学术品质困境:「基准测试得分」不足以反映真实的推理能力差异
他提出的反面观点:通过精心设计的合成任务隔离出底层能力,再加上显式的局部混合层(Canon layers),可以让弱架构变强、让强架构更强——而且这些合成任务可能预测未来模型在真实数据上的表现。
第一性原理拆解
用 AI 顶级原理 的透镜看,Canon Layers 在做什么:
-
原理②表示决定成败:问题不在「优化算法」(注意力),而在「表示方式」——tokens 之间的信息是怎么流动的。cannon 层提供了一个显式的水平(horizontal)聚合表示,而不是让注意力机制为之埋单。
-
原理④泛化才是终点:学术规模模型在简单任务上失败(2-hop 推理只能做到 10% 准确率),说明现有指标(perplexity)不能预测真实泛化能力。合成任务删掉了噪音,露出了原型。
-
原理⑨规模与苦涩教训:Canon 不是「算法创新」,而是一个建筑学问题——给定的参数/计算量预算,怎么分配才能打出最强的联合效应。Linear attention 有 Mamba2 的 conv1d(部分 Canon 效果),加上完整 Canon 后又进步了,说明有「最后一公里」的信息流设计。
这是一篇在第二、四、九原理的交叉点上的文章:纠正表示、暴露真实泛化、通过架构重新分配计算。
连接与冲突
连接点
-
与 KV Cache 显存成本 的关系:Canon 的核心洞察是「不是所有 token 通信都值得用全局注意力」。如果能识别哪些通信可以是局部的,就能降低 attention head 的负担,进而降低 KV cache 压力。
-
与 MCTS 和搜索策略 的关系:Zeyuan 用「Depo/Brevo 合成任务」隔离「推理深度」和「推理广度」,本质上是在搜索空间内造出能度量推理质量的探针。这个方法论——用控制实验隔离出能力的原型——和 AlphaGo 用自对弈验证 MCTS 的思路类似。
-
与 上下文工程 的潜在关系:如果 Canon 层让模型「对相邻 token 更敏感」,那意味着 prompt 中的局部相关性突然被放大了。这会改变 in-context learning 的最优提示设计吗?(未在论文中讨论,我的猜想)
冲突点
-
与「Transformer 是万能的」这个信念的碰撞:论文证明 NoPE(无位置编码)+Canon 打过单独的 RoPE。这挑战了「位置信息必须编进每个 head 的注意力」的假设——实际上,显式的局部聚合可能比隐式的位置编码更直接。
-
与「更大的模型自动更强」的叙事冲突:Canon 层只增加 <0.45% 的参数量,却能让 1.3B 模型在合成任务上提升 2-4 倍。这说明 scale 的价值部分来自「找到正确的架构预设」,而不仅仅是「更多参数」。
我的判断
哪些论断可信
-
合成任务框架的有效性(可信,已部分验证):
- 论文在学术规模上(1.3B, 100B token)做了合成任务和真实数据的平行对照(Result 12)
- 模式「mirror」了(论文原话),说明隔离能力的思路不是虚幻的
- 风险:「模式 mirror」的程度没有给精确数字;Result 12 的具体数值(提升多少 %)在摘要中没写明
-
Canon 层的机制(非常可信,代码级可验证):
- 实现就是 1-D casual conv 配权重学习,CUDA 原生支持
- 「shooting a bird with a cannon」的比喻虽然说反了(应该是「用小刀做小事,用大炮做大事」),但机制本身清楚
- 可以自己写 30 行代码复现
-
NoPE + Canon 超过 RoPE + Canon(可信但需要边界声明):
- 合成任务上确实这样(我找不到具体数字,但摘要写了)
- 但学术规模 + 真实数据上呢?论文没有并排对比表
- 这是一个「在干净环境下成立」的发现,外泛能力还需验证
哪些需要验证
-
「synthetic task 能预测真实模型行为」(可信度中等,需要长期验证):
- 论文说「can even PREDICT how future architectures will behave」——这是个很强的宣称
- v2 的更新中加了「GDN experiments, tightens others for a stronger, fairer comparison」,说明他在回应公平性质疑
- 风险:这个预测性可能对「足够大」的模型成立,但在 1B~7B 范围内的泛化还需要独立团队验证
-
Canon 在线性注意力(GLA / Mamba2)中的增益(数字诚实,但实用性待定):
- 论文 Result 6-9 显示 GLA+Canon 让推理深度从 1-hop 到 4-hop,听起来很大
- 但这是在 Capo 等合成任务上;在真实的长文本生成或代码任务上呢?
- Mamba2 本身就有 conv1d,加全 Canon 后「further improvements」,但没给相对 % 数字
作者的立场偏差
-
Zeyuan 在 Reflection AI,这家公司致力于「推理时计算」和「思维过程」。让模型在推理深度上更强,符合他们的产品方向(类似 o1/R1 的长思考)。
-
他长期做「Physics of LLM」系列,建立了「用控制实验拆解 LLM」的方法论权威。这个立场的好处是非常严谨,坏处是合成任务可能高估了某些架构在真实工作负载上的表现。
-
与 Mamba2 作者等线性注意力拥护者的潜在利益冲突:论文说 GLA+Canon 能对标 Transformer,这对「是否该用线性模型」的辩论有影响。他的结论可能倾向于「线性模型需要 Canon 这样的补充」,而不是「线性模型本身足够」。
行动:你可以怎么做
对架构研究者
-
复现 Result 2 和 Result 3(成本:中等):
- 用 fairseq 或 transformers 库加上 FLASH-2 的基础
- 在 Canon-A(注意力前)和 Canon-C(MLP 前)两个位置试试,看 NoPE 和 RoPE 的相对排名是否反转
- 需要:学术规模数据集(Wikitext / PILE 的子集)、10-20 小时的 A100 计算
-
在你的生产模型上 A/B 测试(成本:高):
- 如果你有 1B+ 规模的预训练流程,可以在训练中期切入 Canon
- 关键指标不是合成任务得分,而是下游任务 BLEU / 数学求解正确率
- 论文的 Result 12 说真实数据上「patterns mirror」,但没有给置信区间
对应用工程师
-
如果你用开源大模型,暂不需要急着改:
- Llama 3 / Qwen 等主流模型已经是优化好的 Transformer 架构
- Canon 层的增益在「从零开始预训练」的设定里最大;在微调阶段收益会折扣
- 不过,如果要做持续预训练,可以考虑冻结 Canon 层再训,看看是否无损迁移
-
在 local infra 上自测合成任务框架(成本:低):
- 论文提供了 Depo/Brevo/Capo 等任务的描述,可以自己实现一个轻量版
- 用这个框架评估「我的改进是真进步还是指标游戏」,这个方法论比具体的 Canon 层更有长期价值
- Zeyuan 的核心贡献其实是这个评估框架,不只是一个层
对论文作者 / 审稿人
- 建议 v3(已公开)或后续版本加上:
- 真实数据上的 NoPE vs RoPE 对比表——不只是「patterns mirror」
- Canon 层的泛化边界——在什么参数量/数据规模下有益、什么时候失效
- 与其他局部聚合方案的对比(e.g. grouped query attention,dilated attention)——为什么 Canon 的 kernel size 4 是最优的
参考来源
核心论文
- Zeyuan Allen-Zhu. “Physics of Language Models: Part 4.1, Architecture Design and the Magic of Canon Layers.” arXiv:2512.17351v2. Published Dec 19, 2025; updated Jul 28, 2026. https://arxiv.org/abs/2512.17351v2
相关系列(同作者的 Physics of LLM)
- Part 2.1: “Grade-School Math and the Hidden Reasoning Process” (arXiv:2407.20311)
- Part 2.2: “How to Learn From Mistakes on Grade-School Math Problems” (arXiv:2408.16293)
- Part 3.3: “Knowledge Capacity Scaling Laws” (arXiv:2404.05405)
背景与类比
- Dao-AILab FLASH-2 Attention: https://github.com/Dao-AILab/flash-attention
- Mamba2 论文(对比点,Canon 与 SSM 内嵌 conv)
诚实的提醒
未亲手复现的部分:
- Result 12(学术规模真实数据上 Canon 的收益):论文说「patterns mirror synthetic results」但没有给关键数值对比表
- NoPE + Canon 相对于 RoPE + Canon 的学术外泛能力:只看到合成任务数据
最低成本的验证实验(你可以跑):
# 1. 下载 tiny 数据集 (WIKITEXT-2, ~2MB)
python -c "from datasets import load_dataset; d = load_dataset('wikitext', 'wikitext-2-raw-v1'); print(d['train'][0]['text'][:200])"
# 2. 在 transformers 库上加 Canon 层(30 行伪代码实现)
# 参考: torch.nn.Conv1d(input_dim, input_dim, kernel_size=4, padding=3)
# 3. 在 Depo 合成任务上对比 NoPE vs RoPE
# 任务: "Given a → b → c → d, find d when given a"
# 这需要 3-hop reasoning,能直观看出推理深度差异
这个验证不需要 GPU,可以在笔记本上 30 分钟跑完,能验证「合成任务框架本身有没有问题」。