LLM高低文窗口打破200万!无需架构变动 复杂微调 轻松裁减8倍
大型言语模型(LLM)往往会谋求更长的「高低文窗口」,但由于微调老本高、长文本稀缺以及新token位置引入的劫难值(catastrophic values)等疑问,目前模型的高低文窗口大多不超越128k个token
最近,Microsoft Research的钻研人员提出了一个新模型LongRoPE,初次将预训练 LLM 的高低文窗口裁减到了2048k个token,在256k的训练长度下只有要1000个微调步骤即可,同时还能坚持原始短高低文窗口的性能。
论文链接:
代码链接:https: //github.com/microsoft/LongRoPE
LongRoPE关键蕴含了 三个关键翻新点:
1. 经过高效搜查识别并应用了位置插值中的两种非平均性,为微调提供了更好的初始化,并在非微调状况下成功了 8 倍裁减;
2. 引入了渐进裁减战略,首先微调 256k 长度的 LLM,而后在微调裁减的LLM上启动第二次位置插值,以成功 2048k 高低文窗口;
3. 在8k长度上从新调整 LongRoPE以复原短高低文窗口性能。
在 LLaMA2 和 Mistral 上对各种义务启动的少量试验证实了该方法的有效性。
经过 LongRoPE 裁减的模型保管了原始架构,只对位置嵌入稍作修正,并且可以重复经常使用大局部已有的优化。
位置插值的不平均性
Transformer模型须要明白的位置消息,理论以位置嵌入(position embedding)的方式来示意输入token的顺序。
本文中的位置嵌入示意方法关键来自于RoPE, 关于位置索引为 n 的标志,其相应的 RoPE 编码可简化如下:
其中,d 是嵌入维度,nθi 是标志在位置 n 上的旋转角度,θi = θ -2i/d 示意旋转频率。在 RoPE 中,θ 的自动基准值为 10000。
受 NTK 和 YaRN 的启示,钻研人员留意到这两个模型可以从非线性嵌入中取得性能优化,特意是在思考 RoPE 各维度的不同频率以启动专门的内插法和外推法时。
但是,的非线性在很大水平上依赖于人为设计的规定。
这也人造引出了 两个疑问:
1. 的位置插值能否是最佳的?
2. 能否存在尚未探求的非线性?
为了回答这些疑问,钻研人员经常使用退化搜查(evolution search)为LLaMA2-7B发现更好的非平均位置插值。搜查以易错性为指点,经常使用来自PG19验证集的5个随机样本。
经过实证剖析,钻研人员总结了几个关键发现。
发现1:RoPE维度体现出很大的不平均性,目前的位置插值方法不可有效处置这些不平均性;
在公式 2 中为每个 RoPE 维度搜查最佳 λ。
钻研人员对比了PG19和Proof-pile测试集上经常使用不同方法的 LLaMA2-7B 在不启动微调的状况下的复杂度。
从结果来看,搜查到的处置打算有清楚改善,标明的线性(PI,positional interpolation)和非平均(Dynamic-NTK 和 YaRN)插值方法都不是最佳的。
值得留意的是,YaRN 在 PG19 上的体现不如 PI 和 NTK,由于其达不到非微调 LLM 的指标高低文窗口长度。
例如,在 8k 高低文大小的状况下,YaRN 的困惑度在 7k 后到达峰值。
经过搜查,公式 2 中的重标度(rescaled)因子λ变得不平均,与PI、NTK的公式计算和YaRN的分组计算中的固定标度s有所不同。
在8k和16k高低文窗口中,这些非平均因子大大提高了LLaMA2的言语建模性能(即复杂度),而无需启动微调,关键是由于由此发生的位置嵌入有效地保管了原始的RoPE,尤其是关键维度,从而降低了LLM辨别近似token位置的难度。
发现2:输入序列中初始词块的RoPE推断应缩小插值;
关于输入序列中的初始n个token,假定RoPE应该做较少的插值,这是由于会取得较大的留意力分数,从而对留意力层至关关键,正如在Streaming LLM和 LM-Infinite 中观察到的那样。
为了验证这一点,钻研人员经常使用PI和NTK将高低文窗口裁减到 8k 和 16k,保管前 n(0,2, ..., 256)个token,不启动插值。当n=0 时,则复原到原来的 PI 和 NTK
上表中可以观察到 两个结果:
1. 保管起始token而不启动位置插值确实能提高性能。
2. 最佳起始token数n取决于指标裁减长度。
发现3:在微和谐非微调设置中,非平均位置插值都能有效裁减 LLM 高低文窗口。
只管曾经证实,在不启动微调的状况下,搜查到的非平均位置插值能清楚提高8k和16k裁减性能,但更长的裁减须要微调。
因此经常使用搜查到的RoPE对LLaMA2-7B的64k高低文窗口大小启动了微调。
从结果中可以看到,在微调LLaMA2-7B之前和之后,该方法都清楚优于PI和YaRN,关键要素是有效地经常使用了非平均位置插值、最小化消息损失,以及为微调提供了更好的初始化。
受上述发现的启示,钻研人员提出了LongRoPE,首先引入了一种高效的搜查算法,以充沛应用这两种不平均性,并将LLM高低文窗口裁减到 200 万个token
详细方式化算法参见原文。
试验结果
钻研人员将LongRoPE运行于LLaMA2-7B和Mistral-7B模型上,并从三个方面对其性能启动了评价:
1. 长文档中裁减高低文 LLM 的困惑度;
2. 密钥(passkey)检索义务,该义务权衡模型从少量有关文本中检索便捷密钥的才干;
3. 4096高低文窗口的规范LLM基准;
在256k范畴内启动长序列言语建模
在Proof-pile和PG19上经过不同插值方法裁减的 LLaMA2 和 Mistral 的困惑度。
从试验结果中可以得出两个关键的论断:
1. 从 4k 到 256k 的评价长度来看,裁减模型展现出全体困惑度降低的趋向,标明模型有才干应用更长的高低文;
2. 即使在高低文窗口长度为 16 倍的状况下(这理论是在较短高低文长度下坚持性能所面临的应战),咱们的 LongRoPE-2048k 模型在 256k 高低文长度内的性能仍优于最先进的基线模型。
超越2000k的长序列言语建模
为了评价超长文档的有效性,钻研人员经常使用了Books3数据集。
为了评价效率,随机选用20本书,每本长度超越2048k个token,并经常使用256k的滑动窗口。
从结果中可以看出,LongRoPE成功地将LLaMA2-7B和Mistral-7B的高低文窗口裁减到2048k,同时还在8k-128k的较短长度内成功了与基线相当或更好的困惑度。
还可以观察到2048k LLaMA2和Mistral之间的清楚性能差异:Mistral在较短的长度上优于基线,但困惑度在超越256k长度时到达7
LLaMA2的性能与预期分歧:随着期间的延伸,困惑感会有所缩小,在1024k和2048k时略有参与。
此外,在LLaMA2上,LongRoPE-2048k在256k比128k的微调长度下体现更好,关键是由于次级延伸比(secondary extension ratio)更小(即8倍对16倍)。
相比之下,Mistral在微调128k的窗口大小方面体现更好,关键要素是关于Mistral的128k和256k微调,钻研人员遵照YaRN的设置经常使用16k训练长度,影响了Mistral在微调后进一步裁减高低文窗口的才干。
原文链接: