Wallstreetcn
2024.02.24 01:55
portai
I'm PortAI, I can summarize articles.

200 万上下文窗口创飞 Gemini 1.5!微软来砸谷歌场子了

微软推出了名为 LongRoPE 的新方法,可以将上下文窗口拉长至 200 多万 token,从而提高语言模型的长文本理解能力。这一方法在测试中表现出了较好的困惑度下降趋势,优于基准。LongRoPE 由一名就读于杭州电子科技大学的纯华人团队开发,训练成本和时间也大大减少。这一消息属于技术创新类信息。

谷歌刚刷新大模型上下文窗口长度记录,发布支持 100 万 token 的 Gemini 1.5,微软就来砸场子了。

推出大模型上下文窗口拉长新方法——LongRoPE,一口气将上下文拉至2048k token,也就是 200 多万!

并且 1000 步微调内,即可完成从短上下文到长上下文的扩展,同时保持原来短上下文窗口性能,也就是说训练成本和时间又省了一大笔。

网友看不下去了,直呼 “谷歌太惨了”:

此外值得一提的是,这次 LongRoPE 为纯华人团队,论文一作 Yiran Ding,就读于杭州电子科技大学,于实习期间完成该项工作。

LongRoPE 究竟长啥样?先来看一波测试效果。

拿 LLaMA2 和 Mistral 试试水

上下文窗口有效拉长,语言模型长文本理解能力可以得到很大提高。研究人员在LLaMA2-7BMistral-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

风险提示及免责条款

市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。