RoPE
https://zhuanlan.zhihu.com/p/629681325
PI
位置插值(POSITION INTERPOLATION)显著改善RoPE的外推能力。你只需要对PT(pretraining)模型fine-turing最多1000步就能实现。PI是通过线性的缩小了输入位置的索引使其匹配原始上下文窗口大小,而不是外推超出训练的上下文长度(超出训练的上下文长度,会导致attention score的爆炸性高分,破坏了分数)。不用PI方法,使用FT(fine-turning)在PT(pretraining)模型上训练长文本,即使训练1万步,能有效扩展的窗口长度也十分有限。
扩展后的模型在长文本任务中有较好的性能,困惑度没有上升,在原来长度的任务中困惑度略有下降(实验中下降了2%)。

考虑使用2048上下文窗口长度预训练的Llama模型。左上角是LLM模型的正常用法:输入位置指数(蓝点)在预训练范围内。右上方显示长度外推,其中模型需要操作未见位置(红点),最高可达4096。左下角展示了位置插值,我们将位置索引(蓝色和绿色点)本身从[0,4096]缩小到[0,2048],以迫使它们驻留在预训练的范围内。
RoPE的外推能力有限,理论上,使用2048长度训练的模型,如果输入3000的长度,它就无法使用0位置的信息,但可以使用2900位置的信息,但实际上,如果答案就在2900位置处,也无法得到。

左:一个拟合的注意力评分函数(红色),形式为公式(1),
d = d m o d e l / n h e a d = 4096 32 = 128 d=d_{model}/n_{head}=\frac{4096}{32}=128 d=dmodel/nhead=324096=128
(LLaMA 7B设置)。圆点为待拟合的随机输入点,红色曲线为最小二乘法拟合的分数函数,其近似在[−1,1]内。右:虽然拟合函数在[0,L]内似乎有很好的边界,其中L = 2048,但在这个区域之外,它可能会超过8000,导致注意力计算出现灾难性问题。请注意,这里我们根本没有挑选:几乎每个从[0,L]内随机生成的输入点集合中学习的曲线都有外推问题。
a ( s ) = R e [ ∑ j = 0 d 2 − 1 h j e i s θ j ] (1) a(s)=Re[\sum^{\frac{d}{2} -1}_{j=0} h_j e^{is \theta_j}] \tag{1} a(s)=Re[j=0∑

文章讨论了如何通过位置插值(PI)改进RoPE模型的外推能力,仅需少量fine-tuning就能显著扩展模型的上下文长度。PI通过调整输入位置索引避免了超出训练范围的问题。同时,文章介绍了ALiBi和NTK-ALiBi方法,用于解决长文本中的注意力视野限制,使得模型在长序列任务中表现更优。
最低0.47元/天 解锁文章
1188

被折叠的 条评论
为什么被折叠?



