Pointer:无需预训练的线性复杂度长程建模

社区文章 发布于2025年8月7日

作者:Zixi Li,Noesis Lab · 中山大学
日期:2025年8月5日
论文arXiv:2508.02631v1


摘要

我们引入了 Pointer,一种新颖的序列模型,通过将二次自注意力替换为层级指针链,实现了线性复杂度 O(NK)O(NK)。Pointer 在长序列上实现了 2-10 倍的加速,在高达 2048 个 token 的复制任务中保持了 >95% 的准确率,并学习了可解释的长程模式——所有这些都无需进行大规模预训练。


主要贡献

  • 线性复杂度O(NK)O(NK) 运行时可实现 2-10 倍的训练/推理加速
  • 无需预训练:在适度硬件上即可从头开始高效运行
  • 显式长程建模:指针链创建 2K+2^K+ token 依赖路径
  • 可解释性:每个 token 精确地指向另一个 token

方法概述

指针选择

在第 \ell 层的 ii 位置,选择一个目标
pi()=argmaxjsij()p_i^{(\ell)} = \arg\max_j s_{ij}^{(\ell)}
其中 ss 是学习到的指针 logits。

指针链

将前一层的指针索引重新嵌入到 token 表示中。更深的层形成多跳链,覆盖更长的范围。

复杂度

  • 计算成本:每层 O(Nd)O(Nd)
  • 内存:O(N)O(N)(而自注意力为 O(N2)O(N^2)

实验

吞吐量(tokens/秒):

序列长度 256 512 1,024 2,048
Pointer 14,446 34,914 37,189 28,268
Transformer 30,320 29,427 19,703 11,549

→ 速度提升从 0.48倍(256个token)增加到 2.45倍(2048个token)

复制任务准确率:

距离 512 1,024 1,536 2,048
Pointer 98.38% 97.50% 96.38% 95.25%
Transformer 99.38% 94.25% 94.88% 94.75%

→ 在2048个token时保持 >95% 的准确率


可解释性

热图揭示了层特化

  • 早期层:局部(约 47-58 个 token)
  • 深层:长程跳跃(≤483 个 token)

局限性与未来工作

  • Longformer 比较的硬件限制
  • 目前仅限语言领域;计划进行跨领域测试
  • 未来工作:多头指针,分层链

总结

Pointer 将二次注意力替换为层级指针链——实现了

  • O(NK)O(NK) 线性复杂度
  • 在长序列上实现 2-10 倍的加速
  • 可解释的依赖路径
  • 无需预训练
    在适度硬件上尝试用于长上下文任务!

社区

注册登录 以评论