AI 文摘

微软出品LongROPE:扩展大模型上下文窗口到2M


  • By AiBard123
  • February 23, 2024 - 2 min read



作者: NLP前沿 来源: NLP前沿

对上下文扩展的工作已经逐渐麻木

https://arxiv.org/pdf/2402.13753.pdf  
https://github.com/microsoft/LongRoPE  

在传统的上下文窗口扩展方法中,如线性插值(Linear Interpolation, PI),通常会对所有位置的旋转角度进行均匀的缩放,以适应更长的上下文。然而,这种方法在处理更长序列时会导致性能下降,因为它没有考虑到不同位置和维度的非均匀性。

  1. 识别非均匀性:首先识别了RoPE维度和token位置的非均匀性。这意味着在不同的RoPE维度和token位置,对于上下文窗口扩展的适应性是不同的。例如,较低的RoPE维度(对应于较高频率的token位置)可能需要较少的插值,而较高的维度(对应于较低频率的token位置)可以进行更多的插值。

  2. 搜索最优重缩放因子:为了找到每个RoPE维度和token位置的最优重缩放因子(λ),LongRoPE使用进化搜索算法。这个搜索过程是高效的,因为它利用了非均匀性的特点,并且通过优化技术(如单调非递减约束)来减少搜索成本。

  3. 应用非均匀插值:在找到最优的重缩放因子后,LongRoPE将这些因子应用于RoPE的旋转角度。对于序列中初始的token位置,这些因子不会生效,保持原始的RoPE旋转角度。对于后续的token位置,应用重缩放因子进行插值。

  4. 渐进式扩展:在非微调的情况下,LongRoPE可以利用非均匀位置插值实现显著的上下文窗口扩展(例如,从4k扩展到32k)。对于更大的扩展(如512倍),则需要进行微调。LongRoPE通过先微调到256k长度的LLM,然后进行第二次非均匀位置插值,最终实现2048k的上下文窗口。

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具