长序列下,将历史 token 划分为固定大小的空间连续块,每块做均值池化后经一个两层 MLP 压缩成向量,再用固定查询向量 q=1 与压缩结果做打分。得到的压缩分数序列 A=(a1,…,am) 之后,需要将其划分为恰好两个连续非空子数组,使两段和的最小值最大。整体可分为两部分:
在大语言模型推理过程中,上下文长度增大时,标准 Attention 的计算代价会以 O(n2) 增长,成为长序列推理的效率瓶颈。为了缓解这一问题,本题采用一种基于空间连续块的稀疏注意力机制。
给定长度为 n 的历史 token 序列,每个 token 被表示为一个 d 维特征向量 xi。按照固定块大小 b,将序列从左到右划分为 m=⌈n/b⌉ 个空间连续块 B1,B2,…,Bm,最后一个块可以包含少于 b 个 token。若 token 下标从 0 开始,则第 k 个块包含下标 (k−1)b 到 min(kb,n)−1 的 token。
对每个块 Bk,先对其内部所有 token 向量做平均池化,得到向量 hk。接着使用一个两层 MLP 对 hk 进行非线性压缩。第一层输出维度为 1,通过 W1∈R1×d 将 hk 映射为标量,并加上偏置 b1=2;经过 ReLU 激活函数 σ(u)=max(0,u) 之后,第二层通过 W2∈Rd×1 将该标量重新扩展为 d 维向量,并对每个分量加上偏置 b2=1。最终得到压缩向量
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册