Boltzmann Attention:用伊辛模型给Transformer加上协同注意力,序列越长效果越好

Jack小新
2026-06-22 17:52:25
人工智能
量子信息
论文精读与讲座笔记

传统注意力机制(softmax/sigmoid)本质上都是一个非相互作用的自旋系统——你关注的每一个位置都是独立的,彼此之间没有可学习的耦合关系。这就构成了一个明显的表示瓶颈:当序列变长,位置间的协同依赖关系越来越重要时,标准注意力没法直接建模。这篇论文提出Boltzmann Attention,把每个注意力决策建模为伊辛模型中的自旋,在QK相似度之外引入可学习的成对耦合,让模型可以显式学习哪些位置应该一起被关注,哪些位置应该互相竞争。实验表明,这个改进随着序列长度增加而更明显,而且可以通过量子退火进行线性扩展。



核心问题:J=0的表示瓶颈


先说问题本身。一篇注意力怎么运作的,大家都很熟悉了:对于query位置i,对每个key位置j计算相似度h_ij,然后softmax归一化得到注意力权重。在统计物理的语言里,这就是一个局部场(local field)h_ij下的非相互作用自旋系统——每个位置相当于一个自旋,它的“行为”(是否被关注)只受自身场的影响,没有自旋之间的耦合J


这个J=0的极限,对sigmoid attention(每个位置独立地通过σ(2h_ij)决定是否被关注)完全成立,对softmax attention也成立——虽然softmax的分母引入了某种“竞争”,但这种竞争是归一化带来的全局约束,不是通过学习得到的成对耦合关系。


从物理角度看,这相当于一个顺磁体(paramagnet)——每个自旋独立响应外加磁场,没有相互作用带来的关联。而现实中,序列数据里的相关性往往是结构化的:关注一个主语会让关注其谓词更合理,关注一个开括号意味着需要关注匹配的闭括号。这些是位置间的协同/对抗关系,不是一个独立的场能够表达的。


论文用一个形式化的表达阐明了这一点:对于标准注意力,∂a_ik/∂h_ij = 0 (当k ≠ j),也就是说改变对位置j的关注程度,不会直接影响对其他位置的关注——除非通过软最大化分母这种间接方式。这本质上是因为没有可学习的耦合J


随着序列长度增加,这个瓶颈会加剧。因为位置对的数量是O(T²)量级的,缺失的耦合自由度也随窗口大小平方增长。这也是为什么论文的实验中选择从小窗口开始做可控的验证——他们要排除采样噪音,纯粹看耦合J带来的表示增益。


方法核心:从独立自旋到伊辛模型


Boltzmann Attention的做法很直接:把注意力决策建模为伊辛模型。


每个key位置对应一个二值自旋s_j ∈ {-1, +1},+1表示“关注”,-1表示“忽略”。能量函数为:


E_i(s) = -∑j h_ij s_j - ∑ J_jk s_j s_k


其中h_ij来自标准的QK相似度(相当于局部场),J_jk是可学习的成对耦合参数,并且在同一个head内、同一批次中共享。


注意力权重从自旋的边际磁化计算:a_ij = (⟨s_j⟩_i + 1) / 2。


这里有几个关键点需要理解:


第一,耦合J的作用机制。 当J_jk > 0(铁磁耦合)时,关注位置j会增加关注位置k的概率,也就是学出了“协同关注”。当J_jk < 0(反铁磁耦合)时,关注位置j会抑制对位置k的关注,产生“竞争性关注”。这意味着一个位置可以因为“和另一个被关注的位置有关联”而获得关注,而不仅仅是因为自己的查询-键相似度高。这在结构化的任务里非常自然:比如括号匹配中,第一个闭括号匹配到第一个开括号后,第二个闭括号自然应该匹配第二个开括号——这本质上是一个协同约束。


第二,模型的结构。 论文中使用的是单层、单头的Transformer,d_model=64,d_ff=128。使用单头的原因很明确:排除多头注意力中“不同头学习不同模式”的解释,把所有改进都归因于耦合J。这也让实验设计更加干净——不是多头带来的多样性,而是J带来的相关性。


第三,推理的困难。 引入耦合J后,能量不再可分解为独立自旋的乘积,需要计算配分函数Z_i,这意味着对2^T个自旋配置求和。在小窗口(T ≤ 16)下可以用精确枚举,但这显然不能扩展到实际序列长度。论文在后面用DQA(非绝热量子退火)给出了扩展路径,这个后面再细说。


实验验证:改进来自耦合,不是参数化


实验设计得很扎实,分成两个任务:


Tiny Shakespeare字符级语言建模


从T=4到T=14,对比四个模式: - softmax(标准注意力) - h+J(完整伊辛模型,即Boltzmann Attention) - h-only(J=0,等价于sigmoid attention) - J-only(h=0,纯结构先验,没有数据相关的局部场)


结果很干净: - 在T=4时,h+J和softmax持平(-0.02%,可以看作随机变异) - 从T=6开始,h+J超越softmax,优势随T增大:+0.43% → +0.81% → +0.92% → +1.08%(T=12)→ +1.04%(T=14) - h-only(sigmoid)在T≥8时反而比softmax差:−3.08%(T=8)、−7.14%(T=12) - J-only更差,T=14时−14.73%


这个模式传递的信息很明确: 1. 不是sigmoid参数化带来的好处——h-only是sigmoid,但是表现不如softmax 2. 只有h+J的组合才有效——数据相关的局部场和可学习的耦合缺一不可 3. 优势随序列长度增大——因为J提供了O(T²)规模的额外自由度,窗口越大,收益越大


论文还分析了学习到的耦合矩阵J的结构:在T=12时,临近位置(距离2-4)倾向于铁磁耦合(正相关),较远位置(距离≥6)倾向于反铁磁耦合(负相关)。这个距离依赖的模式有多种理解方式:可以看作是模型在学习局部的“词组”结构(附近单词常常共出现),也可以看作是长距离位置间存在某种竞争关系。这个模式在不同随机种子间是稳定的。


括号匹配


这是一个更直接测试协同注意力的合成任务:给定包含Dyck-1词(正确嵌套的括号对)和随机填充符的序列,对于每个闭括号,模型必须预测其匹配的开括号位置。


为什么这个任务特别适合?因为括号匹配天然要求位置间的协同决策:第一个闭括号匹配第一个开括号,第二个闭括号匹配第二个开括号——每个闭括号的匹配目标取决于其他闭括号已经占用了哪些开括号。如果不引入位置间的耦合,仅仅在每个位置独立看QK相似度,这个约束是无法直接表达的。


结果再次支持上述模式: - 在T=16时,h+J比softmax高+2.89个百分点(95.97% vs 93.08%) - h-only在T=16时下降至90.06%(比softmax差) - J-only在T=16时下降至87.42%


论文还做了一个额外的消融实验:去掉FFN,只保留注意力层和输出头。这时候差距更大:T=16时h+J比softmax高+4.53pp(89.65% vs 85.13%)。这说明FFN可以部分补偿J=0的瓶颈(通过非线性变换在逐位置层面上学习某种隐式的结构),但无法完全替代耦合J的作用——因为FFN依然是逐位置操作,不会直接创造位置间的相关性。


扩展路径:量子退火与线性缩放


精确枚举的开销是O(2^T),显然不能用于实际应用。论文展示了DQA作为替代方案的可行性。


DQA的基本思路是:通过一个绝热量子退火过程的非绝热版本,在短时间内产生近似的玻尔兹曼样本。论文用Trotter分解模拟了量子电路(200个Trotter步,退火时间5.0ns),并用直通估计器(STE)通过采样步骤传播梯度。


结果是在T=4、6、8时,DQA训练的性能与精确枚举相当。莎士比亚任务的两个指标差距很小,括号匹配的DQA训练甚至达到了100%准确率。


这里需要理解DQA的意义:它不是要在小窗口下匹配精确枚举,而是提供一条线性缩放的路径。在量子硬件上,每个query位置只需要一次O(1)时长的退火,总开销是O(T)——而精确枚举是O(2^T)。当然,现在这个验证还是基于经典模拟的Trotter化量子电路,真正的量子硬件实现还需要额外的工作。


除了DQA,论文也提到经典方法如并行回火(parallel tempering)可以作为替代路径,利用GPU并行进行相关采样。


扩展讨论:更高阶相互作用和其他观察


论文还探索了三体耦合(three-body interactions,用K表示)。结论很有意思: - 在莎士比亚任务上,三体耦合没有超过成对耦合h+J的表现 - 但在括号匹配任务上,h+J+K(或单独h+K)在T≥12时显著优于h+J(+4.93pp at T=12)


这说明高阶耦合对结构化、有组合逻辑的任务(如括号匹配)是有价值的,但对自然语言建模这种统计性任务来说,成对耦合可能已经足够捕捉大部分相关结构。这个差异本身就是一个值得注意的发现:不同的任务类型可能需要不同阶数的相互作用


论文还做了一个有趣的分析:把莎士比亚的困惑度曲线拟合为PPL(T) = ae^(-bT) + c,发现衰减率b在各模型间相近(约0.28-0.30),但渐近下限c不同。Boltzmann变体的c值(5.44-5.45)低于softmax的c值(5.51),更低的是h-only的5.99。这意味着J的作用是降低可达到的性能下限,而不是改变衰减速率——也就是在数据更多、窗口更大的情况下,耦合依然能带来持续的优势。


一些边界和局限


需要指出,这个工作目前还在小范围可控实验阶段: - 单层单头Transformer,d_model=64,窗口T≤16 - 精确枚举的计算成本限制了实验规模 - DQA验证还是基于经典模拟,不是真的量子硬件


但从研究价值来看,指认J=0这个瓶颈并提供一个干净的解决方案,本身就是有意义的。不论是通过量子退火、并行回火还是其他采样方法来做扩展,核心贡献是识别了“注意力机制中没有位置间可学习耦合”这个结构性问题。


论文还提到了一个有趣的边缘情况:J-only(h=0)的配置,虽然性能远低于完整模型,但它绕过了QK计算——注意力模式仅由可学习耦合J决定,不再需要输入相关的局部场。这虽然听起来像是限制很大,但有一种场景可能有用:如果任务中的位置关系主要是结构性的(比如某种固定的语法模板),J-only可以作为快速的先验。而且对于量子退火来说,J-only的训练可以做到完全免梯度——梯度估计只需要通过相关性匹配(∂L/∂J_jl ∝ ⟨s_j s_l⟩_data - ⟨s_j s_l⟩_model),不需要反向传播通过注意力机制。


我的看法


这篇文章的价值在于把一个常见但未被足够重视的问题明确指出来了:我们用了这么多年softmax/sigmoid注意力,它们之间有很多数学和实证上的差异,但从表示能力的角度看,它们都一样——J=0。这个角度看问题是有启发的。


另一个值得思考的点是:论文说“FFN无法完全补偿J=0瓶颈”,从实验数据看确实如此(没有FFN时差距更大)。但这更多是一个关于去哪里、如何做扩展的判断:如果注意力层本身就能直接建模位置间协同关系,就不需要堆更多FFN来间接补偿。对于长序列场景,这个设计点可能值得注意。


最后,耦合矩阵J的可解释性本身也是一个有意思的方向。学习到的J在可视化后呈现出距离依赖的结构,这种结构不是被强加的,而是从数据中学出的。如果用于更大规模的场景,耦合矩阵可能给出关于数据结构的直观理解——比如哪些位置“倾向于一起被关注”,这其实等价于学习了一个位置间的共现图。这个方向的解读空间很大。





原始链接


论文:https://arxiv.org/abs/2606.12478 代码(HuggingFace上的相关实现/演示):https://huggingface.co/huggingface https://huggingface.co/docs/hub/spaces


33
1
0
1
关于作者
相关文章
  • ConfSeq构象描述语言:用Transformer统一三维分子构象预测与AI药 ...
    2026年6月11日,中国科学院上海药物研究所郑明月、张素林课题组于Nature Machine Intelligence在 ...
    了解详情 
  • npj Comput Mater|AtomNet:物理信息驱动多边图神经网络用于晶 ...
    原文地址:https://doi.org/10.1038/s41524-026-02131-9代码地址:https://github.com/JieCoa/At ...
    了解详情 
  • Nature:破译蛋白质隐形能量景观,从“看结构”到“控动态”的革 ...
    本文解读Nature 2026研究《Large-scale discovery, analysis and design of protein energy land ...
    了解详情 
  • StoL框架:化学增强扩散模型驱动的小分子到大分子构象生成新方法 ...
      研究背景与科学问题分子构象——即原子在三维空间中的精确排列—— ...
    了解详情 
领取成功
本月5个550bit真机配额已发放给您,配额将在2个月后到期,请及时使用哦~
活动中心
联系我们
二维码
返回顶部
返回
活动中心

完成任务,轻松获取真机配额

×
每日必做
新手任务
长期任务
其他任务
快速回复 返回顶部 返回列表
玻色有奖小调研
填写问卷,将免费赠送您1个1000bit真机配额
(单选) 您是从哪个渠道得知我们的?*
您是从哪个社交媒体得知我们的?*
您是通过哪个学校的校园宣讲得知我们的呢?
取消

提交成功

真机配额已发放到您的账户,可前往【云平台】查看

量子AI开发者认证

考核目标

开发者能够成功搭建Kaiwu-PyTorch-Plugin项目基础环境,并成功运行示例代码,根据示例提示,输出指定的值并填写至相应的输入框中。

通过奖励

5个一年效期的1000量子比特真机配额

专属「量子AI开发者」社区认证标识

开发者权益

每月固定权益:5个550量子比特真机配额
前往考核

第一步

按照README提示成功安装Kaiwu-PyTorch-Plugin库环境依赖
前往GitHub

第二步

运行 community-assessment 分支下的 run_rbm.py 代码示例

第三步

理解示例代码,手动打印并填写如下数值:

正相采样的状态

负相采样的状态

正相的能量值

负相的能量值

*

提交答案

开发者权益

每月固定权益:5个550量子比特的真机配额

恭喜您完成考核

您将获得量子AI开发者认证标识及考核奖励

1000 bit*5

配额

Quantum AI Developer Certification

Assessment Objectives

Developers should successfully set up the basic environment for the Kaiwu-PyTorch-Plugin project, run the QBM-VAE sample code, and calculate the correct FID value based on the random seed value provided by the system.

Pass Rewards

10 quotas for 550-qubit real quantum machines with a one-year validity period

Exclusive "Quantum AI Developer" Community Certification Badge

Developer Benefits

Fixed Monthly Benefits: 5 quotas for 550-qubit real quantum machines
Proceed to Assessment

Step 1

Install the environment dependencies for the Kaiwu-PyTorch-Plugin library according to the README instructions
Go to GitHub

Step 2

Replace the Seed Value

Your seed value is

Step 3

Enter the FID Value You Calculated

*

Submit Answer

Developer Benefits

Fixed Monthly Benefits: 5 quotas of 550-qubit real machines

Congratulations on Completing the Assessment

You will receive the Quantum AI Developer Certification Badge and Assessment Rewards

550bit*10

Quotas