前沿模型连「照抄」都做不好,把文本摊成二维能让小模型完美复制

Frontier Language Models Struggle to Copy: Text Can Be Better Viewed in 2D

Haodong Wen, Yiran Zhang, Yingfa Chen, Kaifeng Lyu

cs.CL

2026-07-17

GPT-5.5、Gemini 3.1 Pro 这类前沿模型在「把一段 token 原样复制出来」这种看似 trivial 的任务上频繁出错,长输入时准确率常低于 50%。把 RoPE 位置编码从一维扩到二维(行列坐标),一个小模型就能完美复制并外推到 1000 倍长度。

这篇在解决什么

一个反直觉的事实:能在奥数和竞赛编程上拿金牌的前沿模型,会在「把一串二进制数字原样复制一遍」这种任务上翻车。论文设计了两个复制任务,一个是 binary copy(复制一段 0/1 序列),一个是把一组实验数据转成 Python 列表。这些任务的输入都远在上下文窗口内,不需要任何推理,只需要找到对应位置、抄下来。但前沿模型在长输入上准确率常跌破 50%,而且输入里重复模式越强、越容易错。

这不是模型不够聪明的偶然失误,作者论证这是一个架构层面的归纳偏置问题。

方法

问题出在 RoPE(Rotary Position Embedding,旋转位置编码,主流 Transformer 用的位置编码)。标准 RoPE 偏好「固定偏移的检索」——比如「往前看 3 个 token」。但复制任务需要的是「长度依赖的检索」:要复制第 k 个输入 token 到第 k 个输出位置,输入和输出之间的偏移取决于输入总长 n,每次都不一样。RoPE 对这种动态偏移不友好。

解法是 2D-RoPE:把文本从一维序列看成二维网格,用换行符当行分隔符,每个 token 拿到一对(行号, 列号)坐标。把输入串和输出串分别放在不同的行,于是「产生第 k 个输出 token」就退化成「从同一列里取一个 token」,又变回 RoPE 擅长的固定偏移检索。具体做法是把注意力头的维度劈成两半,一半编码行相对位置,一半编码列相对位置。

还有一个 Auto-2D-RoPE 变体:当文本没有明显的换行时,它用每层的隐状态学一个数据相关的变换,自动给每个 token 分配二维坐标。

结果

复制失败是真的,而且不止一家。在 Recursive-Flip(一种带翻转的复制变体)上,GPT-5.5、Gemini 3.1 Pro、DeepSeek V4 Pro 的准确率都随输入变长而下降,长输入常跌破 50%,且与输入的重复程度负相关。

2D-RoPE 的小模型结果对照:

模型 / 设置任务RoPE2D-RoPE
350M,4k 长度Recursive-Flip0.0%56.4%
1.4B,8k 长度Recursive-Flip0.0%87.3%
1.4B,8k 长度Imbalanced copy0.0%61.8%
730M(100B token 过训练)两项复制任务/100%(到 8k)

一个 1 层的 2D-RoPE 模型能完美复制并外推到 1000 倍长度,12 层的到 100 倍。作者还给了两个定理(Theorem 4.1、4.2),证明一层 2D-RoPE 的复制长度有 ρ^(d/12) 的表达力保证,全局最优解能外推到 L^(√d/2) 长度。

为什么重要

复制看起来 trivial,但它是 agent 干很多活的底座:从配置文件里把参数抄出来填进函数调用,把用户给的散乱数据整理成特定格式,把数据转成 Python 列表去画图。这些场景里「抄错一个数字」就是 bug。论文把一个被忽视的能力缺陷定位到了具体架构原因(位置编码的归纳偏置),并给了一个有理论保证的修法。

对做长上下文和模型架构的人,这是一个值得跟进的信号:文本里本来就隐含二维结构(列表、表格、缩进代码),显式编码它可能是个更好的归纳偏置。

局限与存疑

基础版 2D-RoPE 依赖换行符当行分隔符。输入里换行少时,行坐标几乎不变,2D-RoPE 退化成一维位置编码,优势消失。Auto-2D-RoPE 能缓解但要额外学参数、更复杂。

在通用语言建模(CSR 任务)上,2D-RoPE 只在最小规模模型之外都更好,说明优势不是在所有规模都成立。整个工作的实验集中在复制任务,对通用建模的影响只是「建议」,没有充分验证。更关键的是,前沿模型的复制失败和 2D-RoPE 的成功之间有个缺口:作者没有在 GPT-5.5 这类大模型上实际换成 2D-RoPE 验证,小模型的结果能否外推到前沿模型,是个开放问题。

术语

原文与代码

社区讨论

相关论文

全部论文解读