LLM上下文窗口突破200万!无需架构变化+复杂微调,轻松扩展8倍
大型语言模型(LLM)往往会追求更长的「上下文窗口」,但由于微调成本高、长文本稀缺以及新token位置引入的灾难值(catastrophic values)等问题,目前模型的上下文窗口大多不超过128k个token
最近,Microsoft Research的研究人员提出了一个新模型LongRoPE,首次将预训练 LLM 的上下文窗口扩展到了2048k个token,在256k的训练长度下只需要1000个微调步骤即可,同时还能保持原始短上下文窗口的性能。

论文链接:https://arxiv.org/abs/2402.13753
代码链接: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在微调后进一步扩展上下文窗口的能力。
参考资料:
https://arxiv.org/abs/2402.13753
即将上线!阿维塔11鸿蒙座舱首次展示:提供六种情景模式
快科技8月6日消息,近日华为开发者大会2023(HDC.Together)鸿蒙生态伙伴媒体发布会在东莞召开,阿维塔作为汽车产业的代表受邀参会。阿维塔科技首席产品官胡成太以《鸿蒙生态深度赋能阿维塔,共创前瞻技术新体验》为主题发表演讲,不仅与大家分享了阿维塔如何依托鸿蒙生态赋能进行创新,也展示了阿维塔11鸿蒙座舱的最新技术。站长网2023-08-06 10:21:360000实验证明,基于AI的干预帮助大学生通过STEM课程
**划重点:**1.📊研究发现:定期接收STEM课程成绩预测的学生更有可能获得及格分数。2.🤖AI介入:内布拉斯加大学的MohammadHasan领导的研究团队使用机器学习,通过学习数据中的模式进行预测,为STEM课程的学生提供干预。站长网2023-11-13 21:44:500000AI版周扒皮!打字速度慢、鼠标超30秒未动,就被AI「警告」,Karpathy下场评论
「带薪拉屎」越来越难,求摸鱼技巧更新!在电视剧《凡人歌》中有这样经典的一幕:为了防止员工摸鱼,老板想了个变态绝招,给厕所加装计时器,一到时间就爆发出巨大的滴滴声,吓得小哥魂都快没了。别以为这只是影视剧的「危言耸听」,现实中,AI监工真的来了!前两天,Reddit上有个题为《员工监控软件已经与人工智能深度融合》的热门帖子,引发万千网友围观。站长网2024-11-25 14:37:460000库克:苹果多年来一直在研究生成式AI等 将融合到产品中
苹果公司今天公布了2023财年第三季度业绩,在财报电话会议上,公司首席执行官蒂姆・库克表示苹果多年来一直在研究包括生成式AI在内的各种AI技术,并正在寻找各种切入点,将包括生成式AI在内的各种AI技术融合到产品中,以进一步丰富用户的生活、工作。库克还表示,苹果将继续投资和创新,并以负责任的方式利用这些技术推进产品,以帮助丰富人们的生活。站长网2023-08-04 08:36:490000OpenAI拟在11月6日推出重大更新 为开发者降低开发成本
据路透社报道,OpenAI计划在下个月为开发者推出新的重大更新,以降低基于其人工智能模型的软件应用的开发成本和时间。这些更新包括添加内存存储功能,可以节省高达20倍的成本,以及新的视觉功能,使开发者能够构建具有分析图像并描述它们的能力的应用。OpenAI计划在11月6日举行的首次开发者大会上推出这些新功能,旨在鼓励企业使用OpenAI的技术来构建基于人工智能的聊天机器人和自主智能体。站长网2023-10-12 08:24:400000