Beyond Sequential Distance: Inter-Modal Distance Invariant Position Encoding¶
会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/lchen1019/DIPE
领域: 多模态 VLM
关键词: 跨模态距离不变、旋转位置编码、视觉衰减、长上下文、查询锚定
一句话总结¶
DIPE 为同模态与跨模态注意力分别使用顺序查询和分段锚定查询,在保留图像空间结构与文本顺序的同时减轻长上下文中的视觉衰减,使 8K 干扰文本条件下 MRoPE 的跨基准汇总分数从 44.69 提升至 48.79。
研究背景与动机¶
视觉语言模型(VLM)处理长文档、持续问答或长回复时,需要反复利用最初输入的图像,而不只是开头看一次。 主流多模态大语言模型(MLLM)把图像特征与文本 token 放进同一序列,并以多模态旋转位置编码 MRoPE 表达时间、高度和宽度。 文本的三个位置分量随序列共同增长,图像的位置则保留网格坐标,因此越晚出现的文本查询在位置空间里离图像越远。 论文将伴随上下文增长、分配给图像的注意力逐步减少的现象称为视觉衰减(visual fading)。 它可能让模型放弃图像中的具体证据,转而依赖语言先验回答,例如把文档中的准确费用替换成通常的会议收费范围。
这种变化不能只归咎于图像内容难懂:作者在图像与问题之间插入无关文本,尝试把跨模态距离的影响从任务相关文本推理中分离出来。 更长序列确实会增加 softmax 的竞争项,但论文认为 RoPE 继承的远距离衰减偏置也是重要原因。 语言中的近邻通常更相关,这种偏置有用;持续读取同一幅图像时,却没有理由因为已经说了更多话,就把图像当作越来越陈旧的证据。 因此问题不在于彻底删除位置,而在于同模态结构关系与跨模态取证关系不必共用同一套距离规则。 论文对距离衰减的论述应理解为位置编码的归纳偏置与实验趋势,而不是任意查询和键的注意力都必须随距离严格单调下降。
DIPE 的切入点是保留 MRoPE 已经处理好的文本局部性和图像二维几何,只重新定义跨模态交互时查询所使用的位置。 同一连续模态段中的查询,在访问另一模态时都使用本段起点作为锚点;访问同模态时仍使用各自的真实顺序位置。 这样,生成更多文本不会继续拉大该文本段对既有图像键的位置差,但不同图像块的键位置仍然有区别。 核心 idea:让跨模态查询的位置距离对段内生成步数保持不变,同时保留模态内的顺序与空间结构,而不是把所有 token 的位置都压成一个常数。
方法详解¶
整体框架¶
输入是由图像和文本组成的序列,主实验先用 SigLIP2-SO400M 的 NaFlex 变体提取动态分辨率视觉特征,再通过带 GELU 的两层 MLP 投影到语言空间。 语言侧主干是 Qwen2.5-3B,DIPE 改动的是其多模态自注意力中的位置处理,并不另建图像检索器或新的视觉编码器。 序列按连续模态段划分,例如文本、图像、文本、另一幅图像;每段都同时生成顺序位置 SPE 与锚定位置 APE。 这里 APE 指 Anchored Position Encoding,不是相关工作中常用同一缩写表示的绝对位置编码。 模态内顺序保留产生顺序查询和键,模态间查询锚定再产生第二个查询视图,归一化融合把两类注意力合成一个输出。 两路共享键和值,也沿用任务的因果可见性约束;分流改变的是可见 token 对使用哪套查询旋转,而不是允许访问未来 token。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["图文序列与模态段"] --> Features["视觉投影与<br/>查询、键、值"]
Features --> Sequential["模态内顺序保留"]
Sequential --> Anchored["模态间查询锚定"]
Anchored --> Fusion["归一化融合"]
Fusion --> Output["注意力输出与<br/>自回归回答"]
图中的串行步骤表示先准备顺序视图、再补充锚定视图,最后计算并合并两路输出;锚定视图不会覆盖顺序视图。 训练与推理使用相同的位置规则,推理时缓存已经按 SPE 旋转的键和值,新 token 只需生成当前查询的两个视图。 该设计不增加可学习参数,但两次带掩码注意力和输出融合仍有实际运行成本。
关键设计¶
1. 模态内顺序保留:保住图像几何与语言局部性
对图像到图像、文本到文本的注意力,DIPE 不试图修正原有距离关系,而是完整沿用 MRoPE 的顺序位置编码 SPE。 图像 token 的高度与宽度对应 patch 网格,同一帧内时间分量保持相同;文本 token 的时间、高度、宽度分量取相同的顺序索引。 因此文本仍能区分前后词语、近邻与远处上下文,视觉 token 也仍能通过位置旋转区分空间邻域。 查询与键都按自己的 SPE 坐标旋转,然后计算同模态注意力,这一路没有新增的位置压缩或额外监督。 保留它很重要:如果把所有图像与文本都改成一个锚点,虽然序列距离不再增长,也会同时抹去原本必要的结构信息。
具体的位置分配以模态段为单位推进,但每段内部仍使用原 MRoPE 规则。 原文算法 1 在处理完一段后,以该段 SPE 最大位置加一作为下一段偏移,因此各段在整体序列中的先后关系得到保留。 这一位置分配器可以换成其他 RoPE 变体,DIPE 并不要求重新设计它们的旋转频率。 所以本文与 MRoPE-I 的关系是互补:后者调整频率分配,前者决定不同模态关系应使用哪一种查询位置。 模态内分支保留原机制,是短上下文能力大体持平的设计依据,但不能单凭结构保留就保证每个数据集不掉分。
2. 模态间查询锚定:固定段内查询起点而不移动键
当查询与键来自不同模态时,DIPE 把查询的三维位置替换成其所在模态段第一个 token 的 SPE 三元组。 算法 1 将这个三元组广播到整段,得到 APE;该段之后出现的查询,在这一路中不再使用不断增加的自身位置。 键始终保留自己的 SPE 坐标,因此图像内部不同 patch 仍有不同的相对位置,而不是全部变成等距的一个点。 令 \(R(p)\) 表示采用三维位置 \(p\) 的 MRoPE 旋转,\(a(s)\) 表示段 \(s\) 的首 token 位置,机制可整理为:
这是依据原文第 4.1 节与算法 1、2 整理的打分表达,省略常规注意力缩放和掩码;缓存中的式 4、5 存在排版损坏,并非逐字转录。 其中 \(m,n\) 是 token 索引,\(s_m\) 是查询所属模态段,\(q_m,k_n\) 是旋转前的内容向量。 不变量只是锚点与固定键之间的位置差;查询内容向量仍会改变,注意力还要与其他可见键共同归一化。 因此 DIPE 不保证跨模态打分相同,也不保证视觉注意力总量完全不衰减。 它去掉的是“在同一段继续生成就必然增加跨模态位置距离”这一因素,softmax 竞争项增加造成的稀释仍然存在。
同一机制适用于交错图文输入,遇到新模态段时重新确定本段锚点,而不是复用整个样本的第一个位置。 这保留了段与段之间的粗粒度先后关系,也意味着“不变”是段内性质,并非任意跨段、跨图像 token 对都共享同一个距离。 原文对两种跨模态方向都采用该规则;实际是否存在某条注意力边,仍由因果掩码和输入布局决定。 第 5.3 节使用交错上下文测试与多图 BLINK 结果支持兼容性,但没有证明复杂多图时间推理的所有细节都不受影响。
3. 归一化融合:两次计算仍对应一次联合 softmax
同一个查询现在需要两个旋转视图:顺序视图访问同模态键,锚定视图访问跨模态键。 算法 2 用两个模态掩码调用 FlexAttention,两路均读取同一套 SPE 键和值,并返回各自的输出与 LogSumExp 统计量。 不能简单把两路输出平均,因为它们各自在不同键集合上归一化,集合大小与打分强度也不同。 正确做法是让每路按自己在联合 softmax 分母中的份额参与融合,而不是人为保证视觉和文本各占一半。 令 \(\ell_{\mathrm{intra}}\) 与 \(\ell_{\mathrm{inter}}\) 为两路已含掩码的注意力 logits 的 LogSumExp,融合为:
该式由第 8 页算法 2 的显式计算核对,解释了正文式 6 在缓存中被破坏的融合表达。 因为 \(e^{\ell}\) 是对应分支的指数和,这个权重恰好恢复两个不相交可见键集合的联合归一化。 这是一项归一化恒等关系,不是新增可学习门控,也没有单独训练一个视觉权重预测器。 实现时保留键和值的原缓存布局,因此不需要因为生成长度变化而重旋转过去的键或重新排列 KV 缓存。 不过,缓存结构兼容只说明基础设施可以复用,不等于论文已经证明任何现成检查点仅在推理时切换 DIPE 都有效。
一个完整示例¶
原文图 2 给出一幅图像的示意:时间分量为 0,高度和宽度坐标从 0 到 16,随后文本的 SPE 三个分量从 17 开始增长。 一个位于文本位置 23 的查询,在读取此前文本时仍用位置 23,因而不会丢失它与位置 22 的邻近关系。 但当它读取图像 patch 时,查询位置改为本段起点 \((17,17,17)\),图像键的位置保持不变。 同段后来生成的文本也使用这一跨模态查询锚点,不会因为自身顺序位置继续增长,就把同一个 patch 推向更远的位置。 例如,对位置为 \((0,16,16)\) 的图像键,该跨模态位置差不随这段文本的生成步数改变。 两路依旧使用不同内容查询和各自掩码计算注意力,再按 LogSumExp 权重合并;这不是缓存一份固定图像回答反复使用。 若后面出现另一幅图像及新的文本段,新文本段会产生自己的起点,而不是继续使用 17。 这些数字用于解释原文图 2 的位置规则,不是额外实验结果。
损失函数 / 训练策略¶
论文第 5.1 节采用两阶段视觉语言训练,第一阶段冻结视觉编码器与语言模型,只初始化视觉投影器。 第二阶段进行指令微调并解冻语言模型,分别使用 LLaVA-Pretrain-558K 和 LLaVA-NeXT-779K。 DIPE 本身没有引入新损失、可学习位置参数或额外标注,它改变的是训练和生成所用的注意力打分规则。 主干扩展实验还覆盖 Qwen2.5-0.5B 与 Qwen3-1.7B,不能将主实验直接描述为现成 Qwen2.5-VL 产品模型的零训练升级。 正文把学习率等详细训练配置指向附录 1.1,但所给缓存到参考文献结束,没有包含该附录,因此不补写具体超参数。
实验关键数据¶
主实验¶
下表节选原文表 1(第 10 页),主干为 Qwen2.5-3B,图像与问题之间统一插入 8K token 的无关文本。 这是诊断视觉衰减的 Long-Context VQA 压力测试,不等同于真实文档中的相关信息综合推理。 数值沿用论文各基准的百分制报告口径;汇总项是作者的跨任务平均,不应当成单一统一准确率指标。 原文在部分任务上未展开底层评分细则,因此保留 benchmark score 表述,不擅自将 DocVQA 分数改标为 exact-match accuracy。
| 基准 / 汇总项 | MRoPE | MRoPE + DIPE | 绝对分数差 |
|---|---|---|---|
| HRBench-4K | 47.63 | 54.50 | +6.87 |
| POPE | 74.50 | 85.58 | +11.08 |
| CountBench | 66.60 | 75.97 | +9.37 |
| DocVQA val | 33.25 | 38.55 | +5.30 |
| InfoVQA val | 23.60 | 21.84 | -1.76 |
| MMBench V1.1-EN dev | 50.00 | 58.75 | +8.75 |
| 全部 19 项汇总 | 44.69 | 48.79 | +4.10 |
这里 +4.10 是绝对分数增加,不是相对于 44.69 的 4.10% 相对增长;对准确率项目则可读作百分点。 同一表中 Vanilla RoPE 的汇总为 46.31 → 48.31,MRoPE-I 为 46.50 → 48.51,说明增益不只出现在原 MRoPE 上。 然而并非所有组合都改善:MRoPE-I 上的 V* 从 50.79 降至 47.64,不能把“整体有效”改写为“所有任务更好”。
消融实验¶
正文没有给出逐一移除 SPE、APE 与融合规则的完整组件消融矩阵;这里使用原文表 2(第 13 页)的效率分析,明确呈现额外计算代价。 下表全部来自未打包的单序列评测,单位为毫秒,保留原表的均值与 ± 数值;已读正文未说明这些 ± 值的具体统计定义。 整模型与单个注意力块不能混为同一测量范围,也不能把前向延迟当作单 token 解码延迟。
| 测量范围与操作 | 上下文长度 | MRoPE(ms) | MRoPE + DIPE(ms) |
|---|---|---|---|
| 整模型前向 | 8K | 140.1 ± 0.4 | 144.6 ± 0.5 |
| 整模型前向 | 32K | 818.0 ± 1.6 | 839.8 ± 3.7 |
| 整模型反向 | 8K | 293.0 ± 0.8 | 322.0 ± 1.0 |
| 整模型单 token 解码 | 32K | 18.3 ± 0.1 | 19.6 ± 0.1 |
| 注意力块前向 | 32K | 13.56 ± 0.01 | 14.31 ± 0.05 |
| 注意力块单 token 解码 | 32K | 0.30 ± 0.01 | 0.38 ± 0.01 |
表 2 中两种方法的整模型反向在 16K 和 32K 都标为 OOM,所以单块可测量不代表同长度整模型训练一定可运行。 作为架构扩展分析,原文表 3(第 14 页)报告 Qwen3-1.7B 的汇总分数为 40.21 → 44.46,绝对提高 4.25 分。 这支持跨主干有效性,但不是对位置锚定与训练适应贡献的严格分离。
关键发现¶
- 图 3(第 11 页)在 9 个基准上改变 0K–32K 干扰长度,DIPE 的整体下降趋势更缓;曲线提取不足以支持逐点精确读数,因此不补造数值。
- 图 4 及正文第 12 页给出短上下文 MRoPE-I 汇总 51.5 → 51.4,更合适的结论是大体持平,而非绝对没有性能损失。
- 图 7、8 显示浅层视觉注意力恢复且全层平均衰减减轻;作者同时承认更长文本造成的自然注意力稀释仍然存在。
- 图 5 的 MM-NIAH 图像推理补充了交错长上下文证据,但两种方法在 64K 都明显下降,DIPE 并未消除语言主干的上下文容量上限。
亮点与洞察¶
- 按交互关系选择位置,而非只按 token 指定位置。 同一文本查询可以保有语言中的真实位置,同时在读取图像时使用稳定锚点,这比统一缩短全部序列距离更有针对性。
- 只动查询是重要工程选择。 旧键和值无需随生成重新定位,因而缓存可复用;代价主要转移到当前查询的双视图与两路注意力。
- 融合保留竞争,而非强制看图。 LogSumExp 没有硬性分配视觉份额,保留内容打分的作用,也解释了为什么 DIPE 仍可能受长文本稀释影响。
局限与展望¶
- 作者承认的边界: 视觉注意力仍有残余下降,极长上下文仍受主干容量限制,表 1 也有任务回退,不能将标题中的“不变”理解为性能恒定。
- 评测覆盖边界: 8K 无关干扰用于诊断很清晰,却同时改变位置距离与竞争 token 数;仅凭该设置不能完全分离二者的因果贡献。
- 读者建议: 可固定文本内容与长度,只改变位置索引,再与“仅推理替换”和“共同训练”对比,以拆开编码机制和训练适应的收益。
- 复现信息边界: 缓存未包含正文所指附录,训练超参数、交错测试细节及延迟硬件条件未完整核实;部分数学公式损坏,本文仅整理算法可核对的机制,不复原衰减上界。
- 引用定位疑点: 正文把 MM-NIAH 标为参考文献 [22],但条目 [22] 实际列出通用 Needle-in-a-Haystack 仓库;这里保留作者的评测名称,不据此猜测独立的 MM-NIAH 链接或数据版本。
相关工作与启发¶
- vs MRoPE / MRoPE-I: 前者保留三维几何,后者改进频率分配,DIPE 则改变跨模态查询的位置使用规则;三者解决的问题相关但不相同,表 1 直接测试了组合效果。
- vs V2PE / Circle-RoPE: 按论文相关工作描述,它们分别调整视觉位置尺度或几何布局;DIPE 的识别点是同一查询随键模态切换编码,而非仅生成一种更好的静态位置序列。
- vs 显式跨模态注意力架构: DIPE 没有增加 Q-Former 或独立融合网络,而是在已有自注意力中按模态掩码分组计算;这种分组不应误读为增加一套新的视觉特征提取器。
- 可迁移启发: 对需要长期反复引用固定感知输入的任务,可以研究“输入何时出现”与“当前访问它时应有多远”的分离;迁移到音频或视频只是研究建议,本文没有给出相应实证。
评分¶
- 新颖性: 4/5。按模态关系切换查询位置,问题定位明确且机制紧凑,但仍建立在已有 RoPE 与注意力归一化之上。
- 实验充分度: 4/5。覆盖 19 项评测、多主干与效率分析,缺少完整组件消融及位置距离和 softmax 稀释的严格分离。
- 写作质量: 4/5。示意图与伪代码便于理解,但“距离不变”“严格持平”等措辞需要结合反例与适用范围阅读。
- 价值: 4/5。为长上下文视觉取证提供可组合的位置改造,实际采用仍需关注推理开销、任务回退和训练适配。