【Arxiv 大模型最新进展】PEAR: 零额外推理开销,提升RAG性能!(★AI最前线★)
🌟 嗨,你好,我是 青松 !
🌈 自小刺头深草里,而今渐觉出蓬蒿。
NLP Github 项目推荐:
-
【AI 藏经阁】:https://gitee.com/fasterai/ai-e-book
介绍:该仓库主要分享了数百本 AI 领域电子书
-
【AI 算法面经】:fasterai/nlp-interview-handbook#面经
介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器
-
【大模型(LLMs)面试笔记】:https://gitee.com/fasterai/nlp-interview-handbook
介绍:该仓库汇总了 NLP 算法工程师高频面题,适合大模型初学者和正在准备面试的小伙伴希望能帮助各位同学缩短面试准备时间,不错过金三银四涨薪窗口,迅速收获心仪的Offer 🎉🎉🎉
文章目录
- [PEAR: Position-Embedding-Agnostic Attention Re-weighting Enhances Retrieval-Augmented Generation with Zero Inference Overhead](#PEAR: Position-Embedding-Agnostic Attention Re-weighting Enhances Retrieval-Augmented Generation with Zero Inference Overhead)
PEAR: Position-Embedding-Agnostic Attention Re-weighting Enhances Retrieval-Augmented Generation with Zero Inference Overhead
作者 :Tao Tan, Yining Qian, Ang Lv, Hongzhan Lin, Songhao Wu, Yongbo Wang, Feng Wang, Jingtong Wu, Xin Lu, Rui Yan 等
单位 : Gaoling School of Artificial Intelligence, Renmin University of China, Southeast University, Ant Group 等
下图给出此文的整体逻辑框架。首先,对文章进行一句话总结,然后简要介绍研究内容、研究动机、技术动机、解决方案以及优势与潜力,以便读者快速了解文章脉络。

本文研究的是如何在RAG任务中提升模型对上下文的感知能力 。现有增强上下文感知的方法存在效率低下、推理时产生时间或内存开销,且很多方法针对特定位置嵌入等问题。研究发现部分注意力头会抑制上下文信息流动,影响 LLMs 的上下文感知能力,因此本文提出了PEAR 方法,通过削弱这种抑制机制,提高 RAG 任务的性能。该方法首先定位上下文感知抑制头,然后对这些抑制头的输出乘以可学习的系数来削弱其影响。
具体地,PEAR方法分为两个阶段,定位抑制头和重加权系数学习,以下是详细介绍。
定位抑制头
- 任务输入
对于每个输入样本,创建一个长度为 n n n 的序列 { x 1 , . . . , x n } \{{x_1,...,x_n}\} {x1,...,xn},其中 x i x_i xi 是从词汇表中随机采样的标记。然后将此序列重复,得到输入样本 { x 1 , . . . , x 2 n } \{x_1,...,x_{2n}\} {x1,...,x2n},其中 x i = x i + n ( i ∈ [ 1 , n ] ) x_i = x_{i+n} (i \in [1, n]) xi=xi+n(i∈[1,n]) 。若在位置 n + i + 1 n + i + 1 n+i+1 时,输出logits最高的标记是 x i x_i xi ,则认为模型成功执行了代理任务。
注:这是因为在语义无意义的上下文中,模型倾向于检查序列中的最后几个标记是否先前出现过,并复制它们最后一次出现的后一个Token作为输出。这种处理倾向使得模型在面对这种重复的输入结构时,能够尝试按照这种模式进行预测。
- 抑制头定位
构建输入序列,沿着序列维度平均每个注意力头的输出得到一个平均向量 作为干预向量 ,然后替换正常运行的 A n − 1 ( l , h ) A_{n - 1}^{(l,h)} An−1(l,h) ,这个过程视为削弱该头的影响,如图1所示。

接下来计算指标为logits差异 ,对于第 l l l 层的第 h h h 个注意力头,计算:
Δ π ( l , h ) = π ~ 2 n ( l , h ) [ x n − 1 ] π 2 n [ x n − 1 ] − 1 \Delta\pi^{(l,h)}=\frac{\tilde{\pi}{2n}^{(l,h)}[x{n - 1}]}{\pi_{2n}[x_{n - 1}]}-1 Δπ(l,h)=π2n[xn−1]π~2n(l,h)[xn−1]−1
,其中 π 2 n [ x n − 1 ] \pi_{2n}[x_{n - 1}] π2n[xn−1] 是正常运行时位置 2 n 2n 2n 选择 x n − 1 x_{n - 1} xn−1 的logits, π ~ 2 n ( l , h ) [ x n − 1 ] \tilde{\pi}{2n}^{(l,h)}[x{n - 1}] π~2n(l,h)[xn−1] 是干预 A ( l , h ) A^{(l,h)} A(l,h) 后的logits。该指标值越高,表明 A ( l , Λ ) A^{(l,\Lambda)} A(l,Λ) 的抑制效果越强。使用不同的 n n n 值重复实验取平均值以减轻上下文长度的偏差,最后将前 K K K 个最负面影响的头确定为抑制头。
重加权系数学习
在标准的多注意力头机制中,所有注意力头的输出以相等的权重聚合。本文提出将抑制头集合中的每个头的输出乘以一个可学习的标量,称为重新加权系数,以削弱抑制头的影响,如图2所示。

为了优化这些重新加权系数,冻结LLM的原始参数,仅训练加权系数以最小化代理任务上的损失 。损失仅在序列的后半部分计算,即 L = − ∑ i = n 2 n − 1 l o g ( p ( x i + 1 ∣ x 1 : i ) ) \mathcal{L}=-\sum_{i=n}^{2n - 1}log(p(x_{i + 1}|x_{1:i})) L=−i=n∑2n−1log(p(xi+1∣x1:i)),目的是增强基于上下文的检索能力而非预测下一个标记。
在下游RAG任务中,重新加权系数与任务无关且保持固定。对于每个LLM,只需通过代理任务对抑制头进行一次优化。因此,PEAR在下游RAG任务的推理过程中引入零额外开销。此外,重新加权系数的学习与LLM架构无关,使该方法与各种位置编码算法兼容。
实验结果
在不同RAG任务上的表现如图3所示,推理时间对比如图4所示,表明本方法在引入零额外开销的情况下提升了RAG任务的性能。

图5是PEAR方法在不同位置编码上的表现,表明PEAR独立于位置编码,适配于各种模型结构。
