Beyond Sequence Order: Syntax-Informed Positional Embeddings for Transformers
Haris Riaz, Hyungji Kim, Mihai Surdeanu
cs.CL, cs.AI
2026-08-06
SiPE 把依存句法学成一个轻量先验注入位置编码,Transformer-XL 在 SyntaxGym 涨 10.3%、困惑度反降 9%、GLUE 涨 8.2%,推理只看一棵解析树。
Transformer 用位置编码(positional embedding,PE)告诉注意力每个 token 在序列里的位置,但 PE 只编码"第几个词、隔多远",不编码词与词之间的句法关系。一句"Please move this large file to another folder"里,move 和 folder 在序列上隔了六个词,标准相对位置编码会把它们的距离算得很大,可它们之间有一条直接的依存句法边。模型对这种"隔得远但句法近"的关系是近视的。
往 Transformer 里塞句法不是新想法,但现有方法大多走两个极端。一类在推理时对几百棵解析树做边缘化(Transformer Grammar、PLM、Pushdown LM 要扫一棵棵树或用 beam),句法分数上去了,推理却很贵,而且几乎都把困惑度(perplexity,PPL,语言模型越低越好)顶上去。另一类训练时用句法、推理时丢掉(TreeReg、Tree-Planted Transformer),省了成本也丢了句法。SiPE 想卡的是那块没人占的位置:推理时还留着句法,但只用一棵解析树,而且不伤语言模型质量。
SiPE 的句法信息来自 Hexatagger——一种"把句法分析当成打标签"的轻量解析器,它给每个 token 打两类离散标签:2 个终态标签表示依附方向,5 个非终态标签表示中心词方向。这套标签粗、固定、是投射性的。预训练时,SiPE 从这些标签学两张很小的 embedding 表(终态 E^T 和非终态 E^N),并且只在每个词的首子词上施加(first-subword mask)。位置 p 得到的句法先验就是 mp·(E^T + E^N),mp 是首子词掩码。
怎么把这个先验塞进模型,取决于架构,这也是这篇最实在的发现:
整个设计不动 self-attention 本身、不动其余架构,只在位置这一路插一脚。推理时条件在一棵固定的解析树上,不像 Transformer Grammar 或 Pushdown 要扫几百棵。
作者还做了一组层级消融:在 Transformer-XL 里从第 k 层起注入句法。结论很干脆,句法必须在第一层就进,跳过第 1 层(k=2)SyntaxGym 就从 80.6 掉到 73.5。对自回归模型,句法信息主要在底层起作用。
解码器侧(Transformer-XL,BLLIP-LG 上预训练)是这篇最亮眼的数字:
| 指标 | 基线 | SiPE | 变化 |
| SyntaxGym(越高越好) | 73.09 | 80.60 | +10.3%(相对) |
| 困惑度 PPL(越低越好) | 18.63 | 16.95 | -9.0% |
| GLUE 宏平均 | 68.17 | 73.78 | +8.2%(相对) |
困惑度下降是反常的那一项。几乎所有现有句法注入方法都会把 PPL 顶上去(TreeReg 22.3,Tree-Planted 系列 45.5-47.7),SiPE 反而把它压低。和更贵的句法模型比,SiPE 的 SyntaxGym(80.60)没追上 Transformer Grammar(82.50)和 Pushdown LM(82.30),但它的 PPL 更低、推理只看一棵树,作者据此说自己处在句法监督与推理成本之间的新 Pareto 前沿。
要诚实的一点:BLiMP(另一个句法最小对测试)从 75.30 微跌到 74.01。作者的解释是 BLiMP 对整句打分,语言模型能力会盖过那个不合法片段,Table 2 里多数句法基线(PLM、Transformer Grammar、TreeReg、多数 TPT 变体)也都低于裸 token 基线。
编码器侧(WikiText-103 的 5000 万 token 切片,100 万步)增幅温和得多:BLiMP 上 RoBERTa +1.41、DeBERTa +2.27、ModernBERT +2.32 个百分点;换域持续预训练(WikiText 到 BLLIP-LG)后增幅放大到 +1.87、+3.06、+4.21;GLUE 宏平均 RoBERTa +0.75%、DeBERTa-v3 +0.59%、ModernBERT +1.0%。编码器的收获是"有而且稳定",解码器才是大头。
把句法塞进 Transformer 这条路一直有个尴尬:要么推理贵得用不起,要么训练完就把句法扔了。SiPE 给出第三种做法:推理时还条件在句法上,但只用一棵树加两张小表,成本几乎可以忽略。对做预训练和模型架构的人,它是一个轻量、架构无关(绝对、相对、旋转 PE 都行,编码器解码器都行)的句法注入模板。
但要说"换上 SiPE 你的大模型就更强"还为时尚早。最戏剧性的 +8.2% GLUE 出现在一个小型 Transformer-XL 解码器上,不是现代百亿参数 LLM;编码器上 GLUE 的提升不到 1 个百分点。它的价值更像是在证明"句法先验可以不付困惑度代价地留下来",算不上一个即插即用的 SOTA 开关。
作者自己点了几条,最大的那条很关键:自回归生成现在用不了。每生成一个新 token 都得重新给整段序列打句法标签,而这和标准 KV-cache 不兼容。随着序列变长,解析器可能改写前面 token 的标签,连带作废缓存里的 key 和 value。增量解码是个还没解决的工程问题,所以对生成场景它不是 drop-in。
其余几条:推理依赖一个 hexatagger(文中用 DeBERTa-v3-base,1.84 亿参数),是个额外的预处理步骤;解析器出错时会传染,解析器弱的领域收益更小;只用了粗粒度方向标签,试过完整的依存关系标签(DEPREL)在 GLUE 上没见涨;实验全在小模型、英文、有限预训练预算上,放大到十亿参数、其他语言会不会保持完全未知。另外注入点的搜索"广但不穷尽",报告的是找到的最强配置而非全局最优,在 RoBERTa 上也没有任何一个设置能在所有任务上通吃。