专业定制网站企业,ppt模板下载简约,免费学做淘宝的网站,公司建官网要多少钱RoPE
https://zhuanlan.zhihu.com/p/629681325
PI
位置插值#xff08;POSITION INTERPOLATION#xff09;显著改善RoPE的外推能力。你只需要对PT#xff08;pretraining)模型fine-turing最多1000步就能实现。PI是通过将线性的缩小了输入位置的索引使其匹配原始上下文窗口…RoPE
https://zhuanlan.zhihu.com/p/629681325
PI
位置插值POSITION INTERPOLATION显著改善RoPE的外推能力。你只需要对PTpretraining)模型fine-turing最多1000步就能实现。PI是通过将线性的缩小了输入位置的索引使其匹配原始上下文窗口大小而不是外推超出训练的上下文长度超出训练的上下文长度会导致attention score的爆炸性高分破坏了分数。不用PI在PT模型上fine-turning长文本即使训练1万步能有效扩展的窗口长度也十分有限。
扩展后的模型在长文本任务中有较好的性能困惑度没有上升在原来长度的任务中困惑度略有下降实验中下降了2%。 考虑使用2048上下文窗口长度预训练的Llama模型。左上角是LLM模型的正常用法:输入位置指数(蓝点)在预训练范围内。右上方显示长度外推其中模型需要操作未见位置(红点)最高可达4096。左下角展示了位置插值我们将位置索引(蓝色和绿色点)本身从[0,4096]缩小到[0,2048]以迫使它们驻留在预训练的范围内。
RoPE的外推能力有限理论上使用2048长度训练的模型如果输入3000的长度它就无法使用0位置的信息但可以使用2900位置的信息但实际上如果答案就在2900位置处也无法得到。 左:一个拟合的注意力评分函数(红色)形式为公式1, $d d_{model}/n_{head} \frac{4096}{32} 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}_{j0} h_j e^{is \theta_j}] \tag{1} a(s)Re[j0∑2d−1hjeisθj](1)
位置插值公式 f ′ ( x , m ) f ( x , m L L ′ ) f^{}(x,m)f(x, \frac{mL}{L^{}}) f′(x,m)f(x,L′mL) f f f 是RoPE的位置函数 x x x是 m m m位置的embedding向量 L L L 是原来的上下文窗口长度 L ′ L^{} L′是扩展的窗口长度
passkey retrieval
这是一种测试扩展后窗口的有效长度即一个token可以注意多远。 12345可以被替换成任何其他的词。
PS: 为了将7B, 13B和33B模型扩展到8192上下文窗口大小我们使用32个A100 gpu和64个全局批处理大小 对原始2048窗口的模型使用FT发现训练10000步的时候只有效扩展到了2560的长度但是使用PI训练200步的时候就能扩展到我们想要的窗口长度实验中有抖动步数多了有效窗口长度反而变短。
ALiBi
ALiBiAttention with Linear Biases不为token嵌入添加位置嵌入相比其他位置编码而是用一个和query, key之间的距离成比例的一个“惩罚项”来偏置query-key的attention score。
效果可以加快11%的训练速度以及减少11%的内存使用。
使用ALiBiLM可以在短序列上进行训练在长序列上推理。
m叫做坡度slope
按照论文中的描述其做法是 例如8个heads的时候m的取值为
1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256
如果是16个heads则m的取值为
1/sqrt(2), 1/2, 1/(2*sqrt(2)), 1/4, …, 1/256
相当于追加了一半的1/sqrt(2)到原来的8个head的每个m的取值。
扩展到一般情况就是
对于n个head的话m的取值就是 2 − 8 n 2^{\frac{-8}{n}} 2n−8 2 − 8 1 , 2 − 8 2 , 2 − 8 3 . . . 2 − 8 n 2^{\frac{-8}{1}},2^{\frac{-8}{2}},2^{\frac{-8}{3}}... 2^{\frac{-8}{n}} 21−8,22−8,23−8...2n−8 这样的m个坡度了。 NTK ALiBi
针对ALiBi位置编码在长文本中注意力视野有限的问题提出了基于ALiBi编码的两种插值方法内插值和NTK-ALiBi插值。实验表明无需微调情况下插值方法能够有效扩大ALiBi编码的注意力视野提高长文本上的任务效果
NTK-ALiBi插值 频域RoPE编码或ALiBi编码其共同点都是将位置空间编码为频域空间其中三角函数RoPE或偏置项ALiBi的系数即为频域值。 NTK-RoPE插值NTK-RoPE位置编码的改进在于保持分辨率的情况下高频实现了频域空间缩放低频从而实现位置空间的插值。 NTK-ALiBi插值受NTK编码的启发我们也可以对ALiBi的频域空间进行缩放实现NTK-ALiBi的位置插值。改进后的偏置项系数为 m h 1 2 8 h / H ∗ a ( h − 1 ) / ( H − 1 ) m_h \frac{1 }{ 2^{8h/H} * a^{(h-1)/(H-1)}} mh28h/H∗a(h−1)/(H−1)1令 b a 1 / ( H − 1 ) b a^{1/(H-1)} ba1/(H−1), 则有 m h b / ( 2 8 / H ∗ b ) h m_h b / (2^{8/H} * b)^h mhb/(28/H∗b)hNTK改进后可以实现高频分辨率不变低频视野放大的效果注通常可以将缩放系数a设为a 推理长度 / 训练长度 解释NTK-ALiBi的公式看起来可能有些难懂但核心思想与苏建林大佬所说的“高频外推低频内插”相同。下面从两种情况考虑 h1时视野较小为高频情况。m_h 1 / 2^(8/H)与原始偏置系数相同相当于直接外推因此是高频外推。高频视野分辨率不变。hH时视野较大为低频情况。m_h 1 / {2^8 * a}在原始偏置基础上缩减了a倍等价于对位置进行了内插值因此是低频内插。低频视野变大a倍。
参考
https://zhuanlan.zhihu.com/p/632780188
NTK-ALiBi通过插值实现大模型ALiBi位置编码的长文本外推