一个 Transformer 能同时想两件事:线性叠加假说与一心二用的解码魔法
假设你有两段完全无关的文本。A 段在讲量子计算,B 段在讲意大利菜谱。你把它们的 embedding 逐 token 取平均——不是拼接,不是交替,是直接相加除以二——然后把这个"混合信号"喂给一个预训练好的大语言模型。
一个 Transformer 能同时想两件事:线性叠加假说与"一心二用"的解码魔法
一个反直觉的实验
假设你有两段完全无关的文本。A 段在讲量子计算,B 段在讲意大利菜谱。你把它们的 embedding 逐 token 取平均——不是拼接,不是交替,是直接相加除以二——然后把这个"混合信号"喂给一个预训练好的大语言模型。
直觉告诉你,模型应该会崩溃。毕竟 Transformer 内部堆满了非线性组件:self-attention 有 softmax,MLP 有 GELU/SiLU 激活函数,层归一化也是非线性的。把两个语义流硬塞进同一个前向传播,就像把两首歌叠加在一起播放——你听到的应该是噪音。
但 Pavel Tikhonov 和同事们做的就是这个实验,结果让人掉下巴:模型不仅没崩溃,还同时输出了两个流的下一个 token。A 段的正确续写出现在 top-10 里,B 段的正确续写也出现在 top-10 里。一个前向传播,两份预测,同时存在。
这就是论文《Your Transformer Can Hold Two Thoughts at Once: Evidence of Linear Superposition in LLMs》的核心发现——叠加线性性假说(Superposition Linearity Hypothesis)。
什么是"线性叠加"
用最朴素的语言讲:如果一个函数 f 满足 f(αx + βy) = αf(x) + βf(y),它就是线性的。线性函数有个美妙性质——输入的线性组合对应输出的线性组合,两条信息通路可以独立叠加,互不干扰。
Transformer 明明不是线性的。Softmax 归一化会把概率重新分配,注意力权重是经过 softmax 的非线性映射,MLP 的激活函数更是非线性的。从数学上看,Transformer 不该有这个性质。
但实验数据说:它有。
具体来说,当你把两个文本流 A 和 B 的 embedding 逐位置取平均,得到混合输入 x_mix = (x_A + x_B) / 2,然后跑一次前向传播得到输出分布 p_mix,你会发现:
- A 流的下一个 token 在 p_mix 里仍然有显著概率质量
- B 流的下一个 token 在 p_mix 里也有显著概率质量
- p_mix 近似等于 p_A 和 p_B 的平均
这不是训练学来的,是架构自带的
这里有个关键问题:这种线性叠加是模型在训练过程中学会的,还是 Transformer 架构本身的固有性质?
作者通过追踪预训练过程给出了答案:叠加性在初始化时最强,随着预训练推进逐渐减弱。
换句话说,一个随机初始化的 Transformer,叠加性最好。训练得越多,叠加性越差。这说明线性叠加不是模型"学会"的能力,而是架构本身的"出厂设置"——训练的目标函数在优化单流语言建模时,会逐渐破坏这个性质。
这和近期的另一条研究线索吻合:decoder-only Transformer 的残差流中,相邻层之间的转移可以很好地被仿射映射近似。层与层之间是近似线性的,端到端的行为也保留了相当程度的线性。
0.025% 的数据就能恢复线性
预训练破坏线性性,但破坏得不算彻底。作者发现,只需要一个非常轻量的微调阶段——用不到原始预训练数据集大小的 0.025%——就能把叠加性大幅恢复。
这个数字值得停下来想一想。0.025% 意味着,如果原始预训练用了 4 万亿 token,微调只需要 10 亿 token 左右。这和 LIMA 论文("Less Is More for Alignment")的精神一脉相承:很多能力已经在预训练中获得了,只需要少量数据"激活"它。
微调后的模型,叠加性显著提升——混合输入的输出分布更接近两个独立输出分布的平均,两个流的正确续写 token 在 top-10 中的排名都更靠前。
一心二用:从一次前向传播解码出两段文本
如果叠加性足够好,能不能反过来利用它?作者提出了一个大胆的解码方案:从一次混合前向传播中,同时生成两段独立的续写。
思路是这样的:
1. 把两个文本流 A 和 B 的 embedding 混合,跑一次前向传播 2. 得到混合的 logits 分布 3. 用"联合对比解码"(Joint Contrastive Decoding)把两个流的预测分离开来 4. 分别对两个流做采样,得到两段独立的续写
这相当于让模型"一心二用"——一次计算,两份输出。如果能稳定工作,推理吞吐量直接翻倍。
作者确实做到了。在微调后的模型上,从同一个混合前向传播中解出的两段续写都是连贯的、语义正确的。论文里有个细节值得注意:直接用几何平均(geometric mean)来分离会遇到障碍——因为两个流的概率分布不是简单的可加关系,需要更精细的解码策略。但"联合对比解码"绕过了这个障碍。
为什么这很重要
这篇论文触及了三个层面的问题。
第一层:Transformer 到底有多线性? 我们一直以为 Transformer 是高度非线性的模型,但这篇论文表明,在端到端行为层面,它保留了相当程度的线性。这和"残差流是线性叠加的"这条线索一致——Transformer 的非线性可能比我们以为的要少得多。
第二层:模型的"出厂设置"和"训练后状态"不是一回事。 叠加性在初始化时最强,训练后减弱。这意味着训练过程在做某种"特化"——把一个通用的、可叠加的表示空间,塑造成一个专一的、单流的表示空间。但这个能力并没有消失,只需要少量数据就能唤醒。
第三层:推理效率的新可能。 如果一次前向传播能同时处理两个独立的输入流,推理吞吐量可以翻倍。这对推理成本的影响是直接的——不是通过量化或剪枝来省成本,而是通过利用架构本身的叠加性质。
跨域类比:物理学的叠加态
这个发现和量子力学的叠加态有惊人的相似性。在量子力学中,一个粒子可以同时处于多个状态的叠加——薛定谔的猫同时是死的和活的,直到被"测量"才坍缩到一个确定状态。
Transformer 的叠加性也有这个味道:两个文本流同时存在于同一个前向传播中,各自保留自己的预测分布,直到被解码策略"分离"才变成两段独立的文本。
区别在于,量子叠加是物理世界的底层规律,而 Transformer 的叠加是架构的数学性质。但两者的核心洞察是一样的:"一个系统同时持有多个状态"不是魔法,是线性性的自然结果。
诚实的局限
论文也坦承了局限。叠加性在训练后减弱,微调能恢复但不是完全恢复。解码策略对某些类型的文本效果更好,对另一些(比如高度依赖上下文的推理任务)可能不够稳定。而且,实验主要在 Qwen2.5-3B 和 Llama 系列上做的,更大规模的模型是否保留这个性质还需要验证。
但作为一个"发现"——而不是"工程优化"——这篇论文的价值在于它揭示了一个被忽视的架构性质。我们用了八年的 Transformer,居然一直没注意到它可以一心二用。
一个更深的暗示
如果 Transformer 的端到端行为是近似线性的,那我们对"模型容量"的理解可能需要修正。传统观点认为,非线性是模型表达能力的来源——没有非线性,模型就只能学线性函数。但 Transformer 的非线性组件(attention、MLP)在端到端层面"组合"出了一个近似线性的系统。
这暗示一种可能:非线性组件的作用不是让整体行为更非线性,而是让线性叠加在更高维的空间中发生。attention 负责在混合表示中"路由"信息,MLP 负责在路由后的表示上做非线性变换,但整体输入-输出映射仍然保留了线性叠加性。
如果这个图景是对的,那"叠加"就不是 bug,而是 feature。Transformer 之所以能处理如此多样的任务,可能正是因为它的架构天然支持多个语义流的叠加——在训练中,这种叠加性被"特化"为单流处理能力,但底层架构始终保留着"一心二用"的潜力。
论文链接: https://arxiv.org/abs/2609.29845
HTML 全文: https://arxiv.org/html/2609.29845v1