今天小编分享的科学经验:200万上下文視窗创飞Gemini 1.5!微软来砸谷歌场子了(doge),欢迎阅读。
谷歌刚刷新大模型上下文視窗长度记录,发布支持 100 万 token 的 Gemini 1.5,微软就来砸场子了。
推出大模型上下文視窗拉长新方法——LongRoPE,一口气将上下文拉至2048k token,也就是 200 多万!
并且 1000 步微调内,即可完成从短上下文到长上下文的扩展,同时保持原来短上下文視窗性能,也就是说训练成本和时间又省了一大笔。
网友看不下去了,直呼 " 谷歌太惨了 ":
此外值得一提的是,这次 LongRoPE 为纯华人团队,论文一作 Yiran Ding,就读于杭州电子科技大学,于实习期间完成该项工作。
LongRoPE 究竟长啥样?先来看一波测试效果。
拿 LLaMA2 和 Mistral 试试水
上下文視窗有效拉长,语言模型长文本理解能力可以得到很大提高。研究人员在LLaMA2-7B和Mistral-7B上应用 LongRoPE,从三个方面评估了其性能。
第一项测试是在长文档上评估扩展上下文语言模型的困惑度。
在 256k 以内的评估长度上,研究人员使用 Proof-pile 和 PG19 数据集来进行测试。
LongRoPE 在 4k-256k 的文本长度上,整体上显示出困惑度下降的趋势,优于基准。
△LongRoPE 在 Proof-pile 数据集上的表现
即使在上下文視窗长度是标准长度 16 倍的条件下,LongRoPE-2048k 模型在 256k 上下文长度内也超过了最新基线水平。
△LongRoPE 在 PG19 数据集上的表现
接下来上难度,从 Books3 数据集中随机选取 20 本书,每本长度超 2048k,使用 256k 的滑动視窗。
研究人员观察到 2048k 的 LLaMA2 和 Mistral 之间性能差异显著。
在 8k-128k 的文本长度上二者均取得了与基线相当的或更优的困惑度。LLaMA2 的困惑度随着文本长度的增加而逐渐下降,在 1024k 和 2048k 长度处略有上升,展示了较好的性能。
不过,Mistral 在较短的长度上胜过基线,但当文本长度超过 256k 时,其困惑度急剧上升。研究人员分析,主要原因是对于 Mistral 的微调采用了与 YaRN 相同的設定,即使用 16k 长度的文本进行训练,导致了模型难以有效处理更长的文本。
第二项测试是用 Passkey 检索任务评估在海量无关文本中检索简单密钥的能力。
也就是在很长的文本中随机隐藏一个五位数的密码,让模型找出这个密码。
结果显示,现有模型的准确率在文本超度超 128k 后迅速下降到 0。
而 LLaMA2-2048k 在 4k-2048k 文本范围内保持了 90% 以上的检索准确率,Mistral-2048k 在 1800k 之前保持了 100% 的准确率,在 2048k 时准确率下降到 60%。
第三项测试是在短 4096 上下文視窗长度内的标准大语言模型基准测试上评估。
这项测试,主要是为了检验模型上下文視窗被扩展后,在原有任务上的表现会不会受到负面影响。
LongRoPE-2048k 模型在原始上下文視窗大小的任务上,与原始模型相比表现相当。
在 TruthfulQA 上,扩展后的 Mistral 比原始高出 0.5%;LLaMA2 性能略微下降,但在合理的范围内。
这是如何做到的?
三大法宝扩展上下文視窗
LongRoPE 可以有效扩展模型上下文視窗关键有三:非均匀位置插值、渐进式扩展策略、短上下文視窗性能恢复。
非均匀位置插值
位置嵌入(Positional Embeddings)在 Transformer 架构中,用于帮助模型理解长句中 token 的顺序。
位置嵌入通常是预先定义的,并与模型的其他参数一起训练,当模型需要处理的文本长度超过其训练时的上下文視窗时,新出现的 token 的位置就需要新的位置嵌入。
而 LongRoPE 通过识别并利用位置嵌入中两个形式的非均匀性,即不同的 RoPE 维度和 token 位置,优化了位置嵌入,不用微调就能实现 8 倍的上下文視窗扩展。
这种方法通过有效的搜索算法来确定每个 RoPE 维度的最佳缩放因子,针对每个 RoPE 维度的旋转角进行了重新缩放,同时也考虑了 token 位置的影响。
这样,模型在扩展上下文視窗的同时,能够更好地保留关键的维度和位置信息,减少信息损失。
渐进式扩展策略
此外,LongRoPE 采用了一种渐进式扩展的方法。研究人员先对预训练的大模型进行微调,使其适应 256k 长度的文本。
然后,在微调后模型基础上进行搜索,找到新的位置插值参数以重新缩放 RoPE,最终实现 2048k 上下文視窗,这个过程无需额外微调。
短上下文視窗性能恢复
在 RoPE(旋转位置编码)中,超长上下文視窗会使得原始視窗内的维度被迫聚集在更小范围内,从而影响模型性能。
为此,研究人员调整了短上下文視窗 RoPE 的重缩放因子,使其与长上下文时不同,缓解了性能下降的问题。
通过这种动态调整机制,LongRoPE 在处理极长文本和处理短文本时都表现良好。
LongRoPE 发布后,部分网友认为 RAG 恐面临淘汰:
不过也有质疑的声音:
那么,你怎么看?
论文链接:https://arxiv.org/abs/2402.13753
参考链接:https://twitter.com/xiaohuggg/status/1760547784879722538