J-Comm:不传文本传雅可比坐标,token 省下 74.8%

文章目录

大模型多智能体系统里,两个模型之间的每一次交流都要落成字。Planner 想完,把想法写成一段话,Solver 把这段话读进来再想一遍。这段话是可读的、可审计的、可复现的,但它同时也是有代价的:发送端必须把内部连续的计算压成一个个离散 token,接收端必须把这些 token 再还原成向量。而在这条链路上,被丢掉的东西比被传过去的东西更值得讨论。

J-Comm 这篇论文拆的正是这条链路。它先把「发送端怎么连续地想」和「接收端能收到什么」当成两个必须同时回答的问题,然后给出两半答案:发送端用一套无训练的几何重加权规则 GEAR 构造下一步的连续输入;接收端用 H+J 双通道,把消息拆成「用接收端自己的词表重建的输入向量」和「用 Jacobian 透镜读出的 token 坐标读数」。在 Qwen3-8B 到 Qwen3-4B 的主设定上,七个基准的平均分全部排在第一位,生成文本 token 比文本基线少 19.2% 到 74.8%。

一分钟速览

三句话版本

  • 问题定位:文本多智能体把一次推理压成一段离散 token,发送端要解码、接收端要重编码,中间连续状态被反复丢弃。
  • 本文第一半:GEAR,无训练、无新增模块,用固定余弦核给每个候选算「几何支持」,把概率与支持逐元素相乘再归一化得到 q_t,每一步单调提升候选集的一致性。
  • 本文第二半:H+J 协议。H 通道把发送端真正消耗过的反馈分布搬到接收端 embedding 表上,变成 M 个输入位置;J 通道把中间残差在 Jacobian 透镜下最大的 32 个 token 坐标读数(ID 加带符号值)传过去,接收端用自己的字典重建后写到 block 26 的消息位置。

数字先摆出来

  • 发送端缺口:Soft Thinking 这类做法按预测概率加权混合候选 embedding,但权重完全不看候选向量之间指向是否一致;同一个概率分布可以落在几何结构完全不同的候选集上。
  • 接收端缺口:已有的潜空间方法要么要求共享 KV cache(同构同宽才能对齐),要么交换中间激活(坐标必须对得上),跨模型宽度和跨词表都很别扭。
  • 主结果:Qwen3-8B → Qwen3-4B,MATH500 94.80%、GPQA-Diamond 54.55%、AIME2024+2025 73.33%、ALFWorld 62.93%,七项平均分最高。
  • 相对文本基线:比 TextMAS 高 1.29 到 8.59 个百分点,同时生成的文本 token 少 19.2% 到 74.8%(五个静态任务在 44.2% 到 58.3%)。
  • 可解释性:J 消息可以用 token 名字打印出来,两个案例里分别读出了 apoptosis 与 rotations 这类任务相关概念。
  • 代价先说:发送端潜步数最少 40、上限 32768;每一对模型都要单独标定 Jacobian 词典,需要拿到白盒权重;论文没有给延迟、显存或总算力数字。

为什么离散 token 通信是瓶颈

论文开篇第一句就把问题拆成了两个必须同时成立的条件:潜空间通信既需要一个有效的连续推理过程,也需要一个让外部模型能用上这些中间计算的接口。这句话看起来像套话,实际上它规定了整篇论文的结构------只做前半句,就只是「推理时不写字」;只做后半句,就只是「把某个层的向量搬过去」。

一条消息的成本落在哪

文本多智能体这一支的做法是很直接的继承:链式思考让模型把中间步骤写出来(Wei 等,2022),多智能体系统则让模型之间通过辩论或对话交换并修订回答(Du 等,2024;Wu 等,2024)。在这套范式里,一次通信的内容形态是硬约束的:必须是 token,必须已经解码完成,必须按顺序生成。

这三个「必须」带来了三类成本。第一类是解码成本:发送端本来只需要算出一个分布,现在必须真的采样、真的写出 token、真的把后续注意力算在写出来的字上。第二类是串行成本:文字只能一个一个吐,通信延迟与消息长度成正比。第三类是信息损失:发送端在每一步其实维护的是一个概率分布和一个高维隐状态,落成文字时只保留了一个 argmax 意义上的选择。

论文用的文本基线叫 TextMAS,它的 token 账算得很实在:发送端的思考与计划生成、接收端的输出,全部计入生成文本 token。而所有潜空间方法只在接收端生成文本。这个口径差异直接决定了后面那些百分比怎么读------省下来的不是总计算量,是「必须变成字的那部分」。

潜空间通信想省掉的到底是什么

先把两条已有的连续推理路线摆清楚。Coconut 的做法是把最后一个隐状态直接当作下一个输入喂回去(Hao 等,2025);Soft Thinking 则按模型自己的预测分布对候选 token 的 embedding 加权平均,拼出一个连续输入(Zhang 等,2025)。两者都实现了「推理时不必每步吐一个离散 token」,因此都提升了单步的表达带宽。

但论文对 Soft Thinking 的批评很具体:这些权重并不显式反映候选 embedding 是否指向相似的方向,而同一个概率分布完全可以落在几何结构完全不同的候选集上。举个能对上原文的例子:两个候选的概率都是 0.5,如果它们的向量几乎同向,那混合出来的点仍然落在「一个明确概念」附近;如果它们几乎反向,混合出来的点就是两者中间的一块空地,而那个位置在模型的表示空间里可能什么都不代表。

这就是 GEAR 要解决的问题,也是论文标题里「几何」两个字的来源。它不是换一个更好的加权方式,而是往权重里塞进一个新变量:候选之间的相互支持。

已有潜空间方法留下的两个空档

接口这一侧的工作更多,但论文给出的定位是「都没同时解决两件事」。按原文的梳理,CIPHER 通过接收端的 embedding 表传递概率加权的 token embedding(Pham 等,2024);Interlat 学一个通信适配器(Du 等,2025);ThoughtComm 用前缀适配器学共享与私有的潜表示(Zheng 等,2025);LatentMAS 对齐隐状态做潜生成,并把逐层 KV cache 搬过去(Zou 等,2025);StateBridge 用闭式 Procrustes 对齐做同模型通信(Peng 等,2026);另外还有一支工作直接交换、相加或替换中间激活(Ramesh 和 Li,2025)。

这些方法的分野可以落在两个问题上:传的东西在接收端的坐标系里有没有定义?以及要不要把两边绑成同一套结构?共享 KV cache 的做法天然要求同构同宽,交换激活的做法要求两边的层与位置能对上,而 CIPHER 这条线只要求词表能对上------这是它最容易被复用的地方。

J-Comm 选择的位置是:把「分布导出的输入」和「中间状态的读数」配成一对,用每模型自己固定的词典来解释坐标,同时让 KV cache 各自留在本地。这样一来,隐藏宽度可以不同,词表也可以通过字符串匹配打通,而两边不需要共享任何缓存。

解法分两半:连续地推,和有选择地传

整篇论文的架构可以用一句话概括:发送端在自己的轨迹里连续地走,走到最后 M 步时把「用了什么权重」和「算出了什么中间状态」成对留下,然后分别用两条通道送到接收端的不同深度上。

图 1|J-Comm 的整体流程:发送端按几何一致性重加权候选并反馈成下一输入,尾部 M 步成对留下分布与中间状态;H 通道把分布映射为接收端输入,J 通道传 top-32 锚的带符号读数,接收端在 block 26 上按范数加法写入。

上半:GEAR 负责「怎么连续地想」

GEAR 的全名是 Geometric Agreement for Latent Reasoning,翻译过来是「面向潜推理的几何一致性」。它的输入是发送端当前步的 logits,输出是下一个位置要喂进去的连续向量。中间做三件事:先做温度缩放与候选过滤得到一个候选集 C_t 和归一化概率 p_t;再用一个固定的余弦核算出候选集内部的相互支持;最后把支持与概率相乘、归一化、加权求和成向量。

论文特别强调了它的「零成本」属性:规则只用冻结模型已有的 embedding 表,不需要训练任何反馈模块,也不需要采样 token。这也解释了为什么它敢自称 training-free------所有可训练的东西本来就在模型里。

下半:H+J 负责「传什么给下游」

H 通道的直觉是「给接收端一个可以往下想输入」。对每一个保留下来的反馈分布 q_t,接收端用自己的 token embedding 做同样的加权,再按接收端 embedding 的平均范数做一次缩放,得到 M 个连续的输入位置。论文明确说这一步沿用 CIPHER 的接收端侧构造方式,变化在于混合权重来自发送端真正消耗过的 GEAR 分布,而范数标定到接收端自己的表上。

J 通道的直觉是「给接收端一点计算内部的提示」。它不去对齐两边的激活坐标,而是把中间状态投影到一组由 Jacobian 透镜定义、以 token ID 命名的方向上,只传「哪 32 个 token」和「沿着这些方向读数是多少」。接收端用同样的 32 个 ID 取出自己词典里的锚行,解一个小正则化最小二乘,重建出向量,再按相对范数写进指定层。

两条通道的分工在论文里写得很清楚:H 提供接收端用来推理的输入,J 在接收端的计算内部提供额外指引。一个是「从哪想」,一个是「想到哪」。

两个贡献各自站在哪个位置

用论文自己的贡献列表校准一下,能看清哪一步是新的:

  1. GEAR,一条用概率加权几何支持构造下一输入的连续推理递推规则。
  2. H+J 通信协议,把消耗过的反馈分布与中间状态的 token 坐标读数配对,并用接收端自己的 embedding 与 Jacobian 词典分别构造 H 输入与 J 残差写入。

第一个贡献解决的是发送端的表达质量,第二个解决的是接收端的可用性。论文没有把两者混着讲,实验也是分开验证的:GEAR 用 Soft Thinking 与 Self-only 做对照,H+J 用 H-only、shuffled J、null-slot 等做对照。

GEAR:把候选之间的几何一致性乘进概率

GEAR 的全部数学只有两个式子,但它的行为值得单独讲一节。

候选集与余弦核

先看候选集怎么来。发送端把 logits 除以温度 0.6,保留最大的 30 个,normalize 成概率;然后按核采样阈值 0.95 截断并重新归一化;再去掉概率低于最大概率 0.001 倍的候选,最多保留前 10 个,重新归一化得到 p_t。所有几何计算都在这最多 10 个候选上做。

设归一化后的候选 embedding 记作 Ê,几何支持与核的定义是:

K t , i j = exp ⁡ ( cos ⁡ ( E ^ i , E ^ j ) − 1 ) K_{t,ij} = \exp\left(\cos(\hat{E}_i, \hat{E}_j) - 1\right) Kt,ij=exp(cos(E^i,E^j)−1)

s t , i = ∑ j ∈ C t K t , i j   p t , j s_{t,i} = \sum_{j \in C_t} K_{t,ij}\, p_{t,j} st,i=j∈Ct∑Kt,ijpt,j

K 是以余弦相似度减一为指数的核,同向时取 1,正交时取约 0.368;s 是第 i 个候选从整个候选集拿到的支持,天然把概率质量大的候选算得更重。

支持度算完之后,把概率与支持相乘再归一化:

q t = p t ⊙ ( K t p t ) p t ⊤ K t p t , x t + 1 = ∑ i ∈ C t q t , i E i q_t = \frac{p_t \odot (K_t p_t)}{p_t^{\top} K_t p_t}, \qquad x_{t+1} = \sum_{i \in C_t} q_{t,i} E_i qt=pt⊤Ktptpt⊙(Ktpt),xt+1=i∈Ct∑qt,iEi

⊙ 是逐元素乘,分母是归一化因子,q_t 就是新的权重,x 是下一个位置喂进去的向量。要注意分子里出现的是原始 embedding,而核里用的是归一化 embedding------论文特意点明了这一点。

一条重加权规则的三个身份

论文对这个规则给了三种解释,读起来像三个不同领域的语言在描述同一件事。

第一种是比值解释。对 p 大于 0 的候选,q 与 p 的比值等于「该候选的支持」除以「概率加权平均支持」。所以支持高于平均的候选会拿到相对更高的权重。同时因为自支持贡献了 p 的平方项,规则里既有概率锐化,也有不同候选之间的交互。

第二种是优化解释。定义候选集的几何一致性为

C ( p ) = p ⊤ K p = E i , j ∼ p K i j C(p) = p^{\top} K p = \mathbb{E}_{i,j \sim p}\leftK_{ij}\\right C(p)=p⊤Kp=Ei,j∼pKij

C ( q ) ≥ C ( p ) C(q) \geq C(p) C(q)≥C(p)

C 就是在这个核下随机抽两个候选的平均相似度,每一步都不会把它变小 。论文引用 Baum--Eagon 增长变换的结论:C(q) 不小于 C(p),取等当且仅当 q 等于 p。也就是说,这一步是单调的------它不会把一致性变差,除非本来就已经是驻点。

第三种是动力学解释。同一个式子是对称离散时间复制子更新,与主导集聚类里的亲和度更新同源。附录里给出的证明路径是把这个式子看成齐次多项式 C(p) 上的增长变换,再补一条候选间一致性变化与消耗向量位移的上界。

它到底改变了什么

一篇论文的规则好不好,最终要看它换来了多少准确率。论文把 GAF 与两个同参数对照放在一起:Soft Thinking 就是 q = p(不做几何重加权),Self-only 就是 q 正比于 p 的平方(只做自我锐化,不引入候选间交互)。三者匹配到相同的轨迹长度与候选过滤,都用最后 40 个位置、H + J26、8192 token 接收端上限。

在 MATH500 上,GAF 比 Soft Thinking 高 3.40 个百分点,比 Self-only 高 3.20;在 GPQA-Diamond 上分别高 5.56 与 4.55 个百分点(图 2)。这组数字的意义在于把「交互」这一项单独隔离出来了:如果增益只来自锐化,Self-only 应该追平;如果增益只来自概率混合,Soft Thinking 应该追平。两者都没追平。

还有一个成本数字值得一提:构造核的复杂度是候选数的平方乘以隐藏宽度,而配置里候选最多 10 个。这意味着 GEAR 的额外开销在发送端是可控的小量,真正的开销在别处------发送端要连续走很多步。

图 2|几何反馈的收益:MATH500 与 GPQA-Diamond 上,GAF 比同参数 Soft Thinking 高 3.40 与 5.56 个百分点,比只做自我锐化的 Self-only 高 3.20 与 4.55 个百分点。

J 通道:Jacobian 如何刻画「消息对下游决策的影响」

这一节是整篇论文最需要解释的部分。H 通道传的是「发送端的输入」,J 通道传的是「发送端的中间计算」,而中间计算之所以能被传,是因为它被投影到一组以 token 命名的坐标上。

从平均 Jacobian 到单位锚向量

Jacobian 透镜的来源是一篇关于「可言语化表示构成全局工作区」的工作(Gurnee 等,2026):它把中间残差流与该模型后续计算之间的关系写成一个平均雅可比矩阵,因此可以衡量「中间某一层、某一位置的状态」如何影响「后面某位置、最终归一化之前的残差」。

J ℓ m = E c ,   a ,   b ≥ a ∂ r L , b m ∂ r ℓ , a m J^{m}{\ell} = \mathbb{E}{c,\,a,\,b \geq a}\left\\frac{\\partial r\^{m}_{L,b}}{\\partial r\^{m}_{\\ell,a}}\\right Jℓm=Ec,a,b≥a∂rℓ,am∂rL,bm

b ℓ , v m = ( J ℓ m ) ⊤ d i a g ( γ m ) u v m ∥ ( J ℓ m ) ⊤ d i a g ( γ m ) u v m ∥ 2 b^{m}{\ell,v} = \frac{(J^{m}{\ell})^{\top}\mathrm{diag}(\gamma^{m})u^{m}{v}}{\|(J^{m}{\ell})^{\top}\mathrm{diag}(\gamma^{m})u^{m}_{v}\|_2} bℓ,vm=∥(Jℓm)⊤diag(γm)uvm∥2(Jℓm)⊤diag(γm)uvm

r 是残差,下标 L 指最终归一化之前的那一层,c 遍历标定用的上下文。把平均 Jacobian 与 token 的反嵌入向量 u 相乘、并把最后一层 RMSNorm 的增益 γ 折进去,就得到一个以 token ID 命名的方向 b,论文把它归一化成单位长度,叫锚向量。

这里有两个设计细节很关键。第一,锚向量命名的坐标是「token ID」,也就是说这套坐标天然是词表索引的------接收端只要认识同一个 token,就能找到对应的行,而不需要知道发送端的隐藏宽度是多少。第二,这些锚向量一般并不正交,所以后面重建时必须处理方向之间的重叠。

一条 J 消息的内容

对每一个保留的中间状态,论文算的是带符号的归一化读数:

c t ( v ) = ( b ℓ S , v S ) ⊤ r ℓ S , t + 1 S ∥ r ℓ S , t + 1 S ∥ 2 c_t(v) = \frac{(b^{S}{\ell_S,v})^{\top} r^{S}{\ell_S,t+1}}{\|r^{S}_{\ell_S,t+1}\|_2} ct(v)=∥rℓS,t+1S∥2(bℓS,vS)⊤rℓS,t+1S

J t = { ( v ,   c t ( v ) ) : v ∈ I t } J_t = \{(v,\, c_t(v)) : v \in I_t\} Jt={(v,ct(v)):v∈It}

I_t 是取读数最大的 32 个共享的非特殊 token ID。注意两个词:带符号(值可正可负,方向有意义)和归一化(除以状态自身的范数,去掉整体幅度的干扰)。消息本体就是这 32 个 ID 加 32 个数值。

论文强调了一个容易被忽略的选择:发送的是「与锚的内积」,而不是「在锚展开下的系数」。这两者只在锚正交时等价,而这里的锚不正交,所以重建端必须解一个带正则的最小二乘,而不能简单地把锚按读数加权求和。

为什么这算「刻画了对下游决策的影响」

这是本节的核心问题,也是我在读这篇论文时反复确认的一点。

如果把 Jacobian 透镜的定义代进去看,c_t(v) 其实回答的是这样一个问题:中间状态 r 沿着「最终输出更倾向说 token v」这个方向有多少分量,而分量由平均雅可比把「中间层的变化」映射到「最终残差的变化」之后测出来。换句话说,它测的不是「中间状态像不像 token v 的 embedding」(那是直接做余弦相似度),而是「中间状态在多大程度上会推动模型最终说出 token v」。

这两件事的区别在于后者包含了模型后半段的计算。一个中间状态可能和某个词的 embedding 几乎正交,但它沿着雅可比方向的分量很大------因为这个状态在后半段会被放大成对该词的偏好。论文的做法正是把这个「会被放大成什么」的部分提前算出来,然后用 token ID 当索引传过去。

论文对这个接口的自我定位比较克制:原始工作研究的是这个词典里稀疏激活的方向(即所谓 J-space),并报告了类似工作区的功能证据;本文只是把这个词典拿来定义「中间状态的 token 索引化测量」。我认为这个用法的价值不在于它是否忠实复现了 J-space 的语义,而在于它给出了一套可共享、可审计的坐标系:两个模型只要对同一个 token ID 有各自的锚,就能交换「往这个方向有多少分量」这样的量,而完全不需要宽度一致。

代价也很清楚:这套坐标是模型特定的 。锚向量依赖 J、依赖 γ、依赖反嵌入,换一个模型就要重新标定一套。这一点会在局限一节展开。

H+J 协议:一条潜消息怎么拼出来

把两半接起来,就是完整的通信协议。

发送端:保留尾部 M 步与配对状态

发送端先用角色提示词和任务输入做 prefill,然后进入潜推理循环。循环的停止条件有三条:最少消耗 40 步;某一步权重最高的候选是 end-of-thinking token 时,在这一步被消耗之前终止;或者全词表预测分布的熵连续 256 步低于 0.01 纳特时,在当前步之后终止。硬上限是 32768 步。

对每一个消耗掉的 q_t,论文同时保留 x_{t+1} 进入模型后产生的中间残差。也就是说,一对记录由「用了什么权重」和「算出了什么状态」组成。最后取尾部 M 对,主配置里 M 是 400。

这里有一个值得单独说的设计:通信位置数 M 与发送端走了多少步 T 是解耦的。原文的说法是,通信的位置数可以保持不变,而发送端的计算量可以变化。这句话在工程上很重要------它意味着带宽预算和算力预算是两个可以独立调的旋钮。

接收端:用自己的字典重建

接收端拿到两样东西:M 个 H 输入向量,和每个位置 32 个 J 坐标。

先看 J 的重建。用同样的 32 个 ID,接收端从自己的词典里取出 32 行锚,堆成矩阵 B,把传过来的读数堆成向量 c,然后解

D ℓ R , I t R = ( B ℓ R , I t R ( B ℓ R , I t R ) ⊤ + λ I P ) − 1 B ℓ R , I t R D^{R}{\ell_R,I_t} = \left(B^{R}{\ell_R,I_t}(B^{R}{\ell_R,I_t})^{\top} + \lambda I_P\right)^{-1} B^{R}{\ell_R,I_t} DℓR,ItR=(BℓR,ItR(BℓR,ItR)⊤+λIP)−1BℓR,ItR

d ℓ R , t R = ( D ℓ R , I t R ) ⊤ c t d^{R}{\ell_R,t} = \left(D^{R}{\ell_R,I_t}\right)^{\top} c_t dℓR,tR=(DℓR,ItR)⊤ct

λ 是 0.001 的岭系数,P 是 32。这个式子等价于最小化重建误差加二范数惩罚。论文给的解释是:直接按读数把锚求和会混掉彼此的重叠,而正则化的对偶字典能把重叠解耦开。

再看注入强度。因为不同层的词典尺度不一样,直接写入会让某些层过强,所以论文先用一个固定的参考层(ℓref = 29)算重建向量的范数,再按目标层的范数做缩放,最后在输出 block ℓR 处做消息位置的残差更新:

r ℓ R , t R ← r ℓ R , t R + α ∥ r ℓ R , t R ∥ 2 Δ t R r^{R}{\ell_R,t} \leftarrow r^{R}{\ell_R,t} + \alpha \|r^{R}_{\ell_R,t}\|2 \Delta^{R}{t} rℓR,tR←rℓR,tR+α∥rℓR,tR∥2ΔtR

α 取 1,Δ 是已缩放好的方向与幅度。这里有个容易漏掉的细节:写入的是相对范数,也就是按该位置残差自身的范数比例写,而不是一个绝对幅度。这样同一套 α 才能在不同位置、不同题目上通用。

写入时机也是设计的一部分:只在 prefill 阶段、只对消息位置写。接收端 prefill 完之后就用自己的 KV cache 正常解码,生成过程中不再有任何 J 干预。论文用一条定理来刻画这件事的有限写入误差:给定端点误差的上界,输出顺序(也就是在固定前缀下哪个 token 的 logit 最高)能被保持的条件是端点误差严格小于某个由头部对比度与 logit 间隔决定的阈值。这解释了为什么这套写入「能起作用但不至于破坏原有输出」。

一次通信的完整流程

把上面的步骤串起来,就是论文算法 1 的骨架。下面这段只是把原文的伪代码改写成中文流程,不求语法,只求能照着做:

text 复制代码
仅示意:以下为按论文 Algorithm 1 与第 3--4 节重写的中文流程,非原文代码
1  用发送端角色提示词与任务输入 prefill 发送端
2  循环:直到满足停止条件
3      取发送端当前步的候选分布 p
4      用余弦核算 K,用 p 与 Kp 算 q(几何重加权)
5      把 q 加权的 embedding 拼成的向量作为下一位置输入,更新本地 KV cache
6      把 (q, 该输入产生的中间残差) 存入尾部窗口
7  取尾部 M 对记录:
8      用接收端 embedding 表重建 H 向量,并按接收端平均范数缩放
9      对中间残差算 32 个 token 锚的带符号读数,组成 J 消息
10     用接收端同 ID 锚行与岭回归重建方向,再按参考层范数缩放成写入量
11 用接收端提示词、M 个 H 向量与生成提示 prefill 接收端,
   并在消息位置按目标 block 的残差范数写入 J
12 接收端在自己的 KV cache 上正常解码答案

关键超参与预算

把这些数字集中列一下,方便对照自己的资源预算(均来自论文主配置表与输出预算表):

项目 取值 说明
发送端 / 接收端 Qwen3-8B / Qwen3-4B 主实验模型对
读 / 写 block 26 / 26 零基索引,两侧都用 26
发送端温度 0.6 初始 top-k 30,核阈值 0.95,相对 min-p 0.001
反馈候选上限 10 几何计算只在这 10 个候选上做
潜步数 最少 40,上限 32768 熵停止条件 0.01 纳特连续 256 步
通信长度 M 400 主配置;消融覆盖 40 到 500
每位置锚数 P 32 从词表里挑读数最大的共享非特殊 token
岭系数 / 写入增益 0.001 / 1 重建正则与残差写入系数
幅度参考层 29 只用来标定写入范数
接收端输出上限 按数据集 GSM8K 2048,MATH500 与 GPQA 8192,AIME 31000 等

推理栈的分工也值得记一笔:连续发送端跑在 Hugging Face 上,主接收端跑在 vLLM 0.10.2 V0,模型执行用 bfloat16,候选概率、余弦核与对偶重建用 float32。为了让 H/J 钩子生效,prefix caching 与 chunked prefill 都是关闭的,原生上下文上限 40960,不开 YaRN。这些工程细节决定了一件事:这套方法可以复现,但它不是「换个库就能跑」的工作量。

主实验:七个基准、两个同构对手

实验的骨架是「一个模型对、七个任务、三个同构对手、一次跨族迁移」。

主表读法:涨点与省 token 同时发生

主设定是 Qwen3-8B 当发送端、Qwen3-4B 当接收端,七个任务分别是 GSM8K(1319 题)、MATH500(500 题)、GPQA-Diamond(198 题)、MedQA-USMLE 四选一测试(1273 题)、EvalPlus MBPP+ v0.2.0(378 题)、AIME2024+2025(60 题)与 ALFWorld(134 个未见任务)。所有结果都是三次运行的平均。

图 3|七个基准上的主结果:最后一行 GAF+H + J26 在七列上都是最高均值,括号内是相对 TextMAS 的生成文本 token 变化,ALFWorld 一列减少最多(74.8%)。

完整的 GAF+H + J26 拿到 94.54% 的 GSM8K、94.80% 的 MATH500、54.55% 的 GPQA-Diamond、80.52% 的 MedQA、76.72% 的 MBPP+、73.33% 的 AIME 与 62.93% 的 ALFWorld。对应的 TextMAS 是 93.25%、93.20%、45.96%、78.55%、71.16%、68.33% 与 61.39%,涨点分别是 1.29、1.60、8.59、1.97、5.56、5.00 与 1.54 个百分点。

把涨点和 token 变化放在一起看(图 3),才能看出这套方法的性质:

数据集 TextMAS GAF+H + J26 涨点 文本 token 变化
GSM8K 93.25 94.54 +1.29 −55.0%
MATH500 93.20 94.80 +1.60 −54.4%
GPQA-Diamond 45.96 54.55 +8.59 −44.2%
MedQA 78.55 80.52 +1.97 −58.3%
MBPP+ 71.16 76.72 +5.56 −58.3%
AIME24+25 68.33 73.33 +5.00 −19.2%
ALFWorld 61.39 62.93 +1.54 −74.8%

涨得最多的是 GPQA-Diamond(8.59 个百分点),省得最多的是 ALFWorld(74.8%)。这两个任务的共同点是「需要多次判断」:GPQA 是四选一的专家级题,ALFWorld 是 50 轮以内的动作决策,文本方案在这两类任务上都要反复输出大量中间文字。而 AIME 只省了 19.2%------它的接收端输出上限本来就给到 31000 token,长解答让文本占比压不下去。

三组抵消「只是多算了」的对照

潜空间方法最容易受到的质疑是:你不过是让发送端多想了几步,涨点是算力换来的,跟接口没关系。论文为此准备了三组对照,我认为这是全文实验设计里最扎实的部分。

Receiver only 完全不给消息,只有接收端自己答。Identity40 是 LatentMAS 提议的 40 步潜递推,Identity(TGAF) 则匹配每道题 GAF 实际走的步数。三者的差别在于「有没有连续推理」和「有没有通信」,而 Identity 系列与完整方法的差别在于「发送端的反馈规则是不是几何重加权」。

结果很有说服力:在 MATH500 上,Identity40+H + J26 是 89.40%,步数匹配的 Identity(TGAF)+H + J26 是 89.00%,而 GAF+H + J26 是 94.80%。也就是说,把 H+J 接口给到「普通潜递推」,只能到 89 上下;要再往上走,靠的是 GEAR 的反馈规则。反过来看,GAF+H(去掉 J)是 93.60%,说明在这个设定下 J 通道的增量是 1.2 个百分点左右。

ALFWorld 这一列的分层更细:Receiver only 49.25%、Identity40+H + J26 53.73%、Identity(TGAF)+H 54.25%、Identity(TGAF)+H + J26 57.32%、GAF+H 59.70%、完整方法 62.93%。每一级提升都在 1.5 到 3 个百分点之间,是一条很干净的阶梯。

和三个潜空间方法正面对比

上面那组对照是「自己减自己」,第二组对照是换对手。论文在同一接收端后端与同一套提示词下比较 LatentMAS、StateBridge 与 CIPHER,并让两个同规模 Qwen3 智能体互相通信。表里的 J-Comm 就是 GAF+H + J26,用 400 个通信位置。

两个 Qwen3-4B 智能体的结果:

方法 MATH500 GPQA-Diamond AIME24+25
J-Comm 92.00 41.92 68.33
LatentMAS 83.20 38.38 61.67
StateBridge 89.40 45.45 61.67
CIPHER 80.40 35.35 58.33

换成两个 Qwen3-8B 智能体之后:

方法 MATH500 GPQA-Diamond AIME24+25
J-Comm 95.20 49.49 75.00
LatentMAS 86.80 47.10 51.67
StateBridge 93.20 52.50 68.33
CIPHER 84.20 41.41 61.67

读法上要注意两件事。第一,J-Comm 在同构的 MATH500 与 AIME 两个尺度上都领先,而且 AIME 上的领先幅度不小(8B 对 8B 时 75.00 对 68.33)。第二,GPQA 上 StateBridge 反超:4B 尺度 45.45 对 41.92,8B 尺度 52.50 对 49.49。论文在正文里如实写了这一点,没有回避。我认为这个例外值得单独记住:GPQA 是四选一的专家题,StateBridge 用闭式 Procrustes 对齐做同模型通信,在这种「同构且答案空间只有四个选项」的场景里,逐坐标对齐的假设反而更省事。

跨词表:把 Qwen 的消息交给 Llama

最后一组是跨族:Qwen3-8B 的消息传给 Llama-3.2-3B-Instruct,只测 GPQA-Diamond。词表桥接的做法是:共享字节级 token 字符串的直接用 Llama 对应 embedding;没有匹配的普通 token 用 Llama 的字节级 BPE 拆成子词,取子词 embedding 的均值;q 加权混合后归一化到接收端原生尺度,仍然一个发送步对应一个连续位置。J 通道在 109566 个配对 token 锚上重算 top-32 读数,用预先标定好的 Llama 原生透镜重建,写入点是 Llama 的原生 block 20,幅度参考层是 block 22。

三个运行平均的正确题数(共 198 题)是:匹配的 HJ 75 题,H 71 题,TextMAS 73 题,HJshuf(打乱来源的 J)69 题,只有接收端 40 题。同一条目里还给了这组比较的完整条件:各条件用 40 个通信位置、接收端上限 8192,TextMAS 的发送端上限 4096。

这组数字要冷静读。好处是接口确实跨了词表、跨了模型族:匹配 J 比只有 H 多 4 题,比打乱 J 多 6 题,说明 J 带来的信息是有内容依赖的,不是随便加点扰动的副作用。但相对文本方案只多 2 题,按 198 题折算大约是 1 个百分点------跨族这条路上,潜空间通信对文本通信的优势还远没有同构设定那么稳。

消融:反馈规则、注入层与通信长度

三个旋钮各有自己的最优点,而且没有一个最优值是靠大差距取胜的。

反馈规则:几何交互值多少

前面提过的那组对照就是这一节的结论:在固定 H + J26、40 个位置、8192 token 上限的条件下,GAF 相对 Soft Thinking 在 MATH500 上 +3.40、在 GPQA 上 +5.56 个百分点;相对只做自我锐化的 Self-only 是 +3.20 与 +4.55。误差棒是题目配对的 95% 自助区间,在 MATH500 上两个比较的区间都不跨零。

这说明「候选之间的相互作用」这一项确实在做功。如果只是把分布变尖(Self-only),收益只有一半左右;如果不看几何(Soft Thinking),收益更低。

注入层:26 是最高点,但差距很小

固定发送端读 block 26,比较接收端写 block 20、26、29 三个位置,外加 H only 的对照。三条 J 分支共享同一条发送轨迹、同样的 top-32 锚与逐位置相对干预半径,各自用目标层的词典重建方向。

在 AIME2024+2025 上,block 26 给出最高均值 73.33%(标准差 1.67);block 20 是 72.78%(标准差 2.55);block 29 是 71.67%(标准差 2.89);H only 是 72.78%(标准差 0.96)。图注里直接写了「J26:最高均值,比只有 H 高 0.55 个百分点」(图 4)。

图 4|接收端注入层消融:写入 block 26 的均值最高(73.33%±1.67)且抖动最小,block 20 与 29 分别是 72.78%±2.55 与 71.67%±2.89,红色虚线带是只有 H 时的 72.78%±0.96。

我在这里要插一句提醒,这也适用于后面所有 AIME 数字:AIME2024+2025 一共只有 60 题,一道题就是 1.67 个百分点。0.55 个百分点不到一道题,而标准差在 1.67 到 2.89 之间。所以「26 最好」这个结论在方向上可以参考,但它的量级不应被当成稳定增益。真正稳的是三层的标准差差异:block 26 的标准差最小,说明它虽然均值只高一点点,但抖动更小。

通信长度:400 位置是曲线上的高点

固定 GAF+H + J26 与共享发送缓存,把通信位置从 40 扫到 500:40 位置 70.56%、100 位置 72.22%、200 位置 71.67%、300 位置 70.56%、400 位置 73.33%、500 位置 72.78%。论文给的对照是 TextMAS 的 68.33%(标准差 1.67),从 40 到 400 位置提升约 2.8 个百分点(图 5)。

图 5|通信长度消融:40 到 500 位置之间曲线非单调,400 位置的 73.33%±1.67 是最高点,绿色虚线带是 TextMAS 的 68.33%±1.67。

这条曲线不是单调的:200 与 300 位置反而回落,400 才抬起。作者把 400 选为主配置,理由是「在评估过的通信长度里均值最高」。从工程角度看,这条曲线说明一件事:M 不是越大越好,也不是线性收益。而且因为误差棒宽(400 位置的标准差 1.67,300 位置附近明显更大),这条曲线的形状本身就在噪声量级里,我不建议把「400 优于 300」当成可迁移的结论------更合理的读法是「M 在几百这个量级上工作,且没有明显的最佳点」。

案例:消息里真的读得出 apoptosis 和 rotations

如果 J 通道只是一堆数字,那这套方法的可解释性就无从谈起。论文附录给了两个案例,把这堆数字里的 token 名字打印出来了(图 6)。

图 6|可读的 J 坐标:上四格是 MedQA 凋亡题、下四格是 MATH500 方桌计数题的匹配消息与打乱消息对比,只有匹配 J 在输出预算内算完了计数题。

MedQA:一个没出现在题干里的词

题目描述 18 号染色体异常,问哪个蛋白的调控最受影响,参考答案是选项 A(caspase-9)。相关的中间机制是 BCL2 相关的凋亡抑制,接收端的解释里也提到了这一点。

匹配消息里出现的关键坐标是 apoptosis(按总读出幅度排第 3)、apopt(第 4)、inhibition(第 12)、inhib(第 42)。这两点值得注意:apoptosis 与 inhibition 都没有在题干或选项里出现过;apoptosis 这个坐标在 400 个位置中的 68 个上出现,而打乱来源的捐赠消息里只出现 2 次。含 apopt 的 token 家族占了匹配消息绝对读出幅度的 1.04%,打乱来源只有 0.0145%。

但三种条件(匹配 J、只有 H、打乱 J)最终都答对了 A,生成 token 分别是 1011、1239、1105(上限 4096),三者的解释都识别出了 BCL2/凋亡机制。也就是说,这个案例在准确率上看不出差异,能看出差异的是 token 用量与消息内容的可读性。

MATH500:3.22% 的读出幅度落在 rotations 上

第二个案例是计数题:八个人围一张方桌坐,每边两个座位,旋转后相同的安排视为同一种,正确答案是 8!/4 = 10080。

匹配消息里出现 permutations、factorial、rotations 三个词族,按总读出幅度分别占 0.43%、0.32%、3.22%,而打乱来源的消息(来自一道多项式系数和题)里这三个词族一个都没有。更有意思的是结果差异:在同样的接收端 H 与同样的输出预算下,匹配 H + J 用 6018 个 token 正确完成;只有 H 和打乱 J 都撞到 8192 的上限还没写完答案。两个对照都讨论了 8!/4,但都没算完。

这个案例比前一个更有说服力,因为它同时展示了两种效应:消息里的坐标确实指向与解法相关的概念;而少了这层指引,接收端就会在「7! 的启发式」和「8!/4 的正确做法」之间反复。

案例能证明什么,不能证明什么

能证明的是三件事。第一,J 消息不是不可读的黑箱,它的内容可以用 token 名字打印出来,而且打出来的词与任务语义相关。第二,这些相关词并非从题干里抄来的------apoptosis 和 rotations 都不在输入里,说明它们来自发送端的计算。第三,打乱来源的 J 会让这些词消失,说明坐标与题目内容是对齐的,而不是某种全局偏置。

不能证明的是因果层面的强度。两个案例都是单题;MedQA 那个案例三种条件全对,说明 J 在这道题上不是决定性的;MATH500 那个案例的差异体现在 token 预算耗尽的边界上,换个上限可能就不成立。论文也没有做「把 apoptosis 这个坐标人为放大或抑制会怎样」的干预实验。所以正确的读法是:这套接口是可解释的,可解释性的证据是定性的,不是定量的。

局限、失效场景与落地判断

这一节分两部分:作者自己写的,和我读完之后的判断。两者必须分开,因为前者有原文依据,后者只是推论。

作者自己承认的三条

论文的局限段落很短,只有三条:

  1. 通信依赖一套 token 对应关系,以及每一对模型各自标定的 Jacobian 词典。跨词表通信还要额外加 token 字符串匹配与子词分解。
  2. 自适应发送端最多可以消耗 32768 个潜步,所以即使通信后缀很短,发送端的计算仍然是总推理成本里的重头。
  3. 论文没有承诺这套方法能覆盖所有任务类型------不过原文没有把这条明说成局限,是我按实验范围归纳的:七个基准里只有一个交互式环境(ALFWorld),其余都是静态问答或代码,没有多模态、没有工具调用、没有长程规划。

我看到的四条额外代价

第一条是白盒前提。J 的定义里需要对残差求导,锚向量要折进最后一层 RMSNorm 的增益和反嵌入矩阵,词典还要用 32 条标定提示在通用文本上预先算好。这些操作都要求能拿到模型权重并做反向或雅可比向量积。用 API 调用的模型做发送端,这条路径直接不通。我认为这是全文最硬的落地约束,比 token 节省率更值得先确认。

第二条是「省 token 不等于省算力」。论文的所有效率数字都是「生成的文本 token 减少」,而发送端的潜步数是 40 到 32768,接收端还要额外 prefill M 个位置。论文没有给延迟、吞吐或显存的对比。所以「成本更低」这句话在这里只能理解成「输出侧成本更低」,不能理解成端到端更便宜。

第三条是推理栈的复杂度。连续发送端跑 Hugging Face、接收端跑 vLLM,而且为了让 H/J 钩子生效必须关掉 prefix caching 与 chunked prefill------这两项恰好是生产环境里最有效的两个优化。也就是说,就算 token 省了,服务侧的这些损失也要算进账里。要在生产里用,等于要自己在推理引擎里重写一套能保留缓存的注入路径。

第四条是统计强度。三次运行、AIME 只有 60 题(一题 1.67 个百分点)、GPQA 只有 198 题(一题 0.51 个百分点)。表 1 里 1.29 与 1.54 这样的涨点,在题目数少的基准上要谨慎看待;跨族实验里「比文本方案多 2 题」就更接近噪声。论文没有做显著性检验,只给了标准差或自助区间。

什么团队值得试

  • 两端模型的权重都在自己手里的团队。这是唯一能标定 Jacobian 词典的前提,也是这套方法全部收益的来源。
  • 输出 token 成本占主导的流水线,比如大规模批处理的评审、标注、判决类任务,发送端可以离线慢慢想,接收端只要一次短输出。
  • 需要审计「模型之间到底传了什么」的团队。J 坐标可以用 token 名字打印出来,这在受监管场景里是少见的优点------多数潜空间方法在这里是纯黑箱。
  • 研究潜空间接口本身的小组。GEAR 那套重加权是十几行代码就能实现的,几何一致性的单调性又有现成理论支撑,是很干净的实验基线。

什么团队别碰

  • 只能调 API 的团队。没有梯度就没有词典,J 通道直接缺失,剩下的 H 通道本质上是 CIPHER 那一类做法。
  • 延迟敏感的在线服务。发送端几百到上万步的潜递推、关闭的 prefix caching、额外的 M 位置 prefill,任何一项都会把 P99 拉长。
  • 需要「换了模型就能用」的场景。每一对模型都要一套词典:换模型要重标定,跨词表还要加字符串匹配与子词分解,运维成本随模型对数量增长。
  • 任务收益主要来自工具或检索的场景。这套接口传的是发送端的推理状态,不是工具返回的事实;如果提升来自外部信息,把它压成 32 个 token 坐标反而可能丢掉细节。

术语速查

术语 原文含义与本篇用法
GEAR Geometric Agreement for Latent Reasoning,无训练的连续推理递推:按几何支持重加权候选后再混合
GAF Geometric Agreement Feedback,指第 6 式那条重加权规则本身,表里用 GAF 指代 GEAR 的反馈规则
几何支持 候选从整个候选集拿到的加权相似度总和,概率大的近邻贡献更多
几何一致性 C§ 在该余弦核下随机抽两个候选的平均相似度,GAF 每步单调不减
Jacobian 透镜 中间残差到最终残差的平均雅可比,用来把中间状态投影到以 token 命名的方向
锚向量 平均雅可比乘上最后一层增益与 token 反嵌入后归一化得到的单位方向
H 通道 把发送端消耗过的反馈分布在接收端 embedding 表上重建为 M 个输入位置
J 通道 传 top-32 token ID 与带符号的归一化读出值,接收端用自己词典重建后写入中间层
对偶字典重建 带岭系数的闭式解,用来处理锚向量之间的不正交、避免读数互相混叠
幅度标定 用固定参考层重建向量的范数,把写入强度缩放到目标层自身的量级
prefill-only 写入 只在 prefill 阶段、只对消息位置写 J,解码阶段不再干预
TextMAS 文本多智能体基线:同一套 Planner/Solver 提示词,消息位置放发送端生成的文字
Identity40 / Identity(TGAF) 抵消「只是多想了」的对照:普通 40 步潜递推 / 匹配 GAF 实际步数的潜递推
相关推荐
谢白羽1 小时前
从传统运维到 AI Infra: K8s 上调度 100 张 GPU踩坑笔记
运维·人工智能·缓存·kubernetes·vllm·sglang·vllm-omni
镜子AI1 小时前
镜子AI工程实践:用熵权法 + TOPSIS 做多方案选型排序(零依赖 Python)
开发语言·人工智能·python
维基框架1 小时前
OpenAI GPT-6.1 Terra发布AI开始真正操作电脑,使用成本也降了
大数据·人工智能·gpt
志尊宝1 小时前
AI原生前端开发(028):AI辅助的调试与错误修复
人工智能·笔记·重构·ai-native
海宇服务1 小时前
零信任架构实战:基于海宇个人大数据报告构建自动化汽车融资租赁资信核验网关
大数据·人工智能·架构·自动化
怎么全是重名1 小时前
CLIP-Learning Transferable Visual Models From Natural Language Supervision
人工智能·深度学习·计算机视觉·异常检测
具身AGI1 小时前
VLA 忘记物理世界,物理AI 物理推理 两个病因
人工智能
广州国启未来1 小时前
企业 AI 落地三件套:RAG、私有化大模型、Agent 智能体
人工智能
米饭是菜qy1 小时前
动手学深度学习(李沐)——现代循环神经网络读书笔记
人工智能·rnn·深度学习