10月21日 消息:复旦大学和上海人工智能实验室的研究团队在一项新研究中,揭示了一项引人注目的发现:他们能够通过微调一个关键的RoPE位置编码中的超参数,显著扩展大型模型的上下文长度,从1.6万tokens延长至100万tokens,同时提升外推能力。这个超参数被称为旋转角底数(base),在RoPE位置编码中起着关键作用。
目前,大型模型如Claude2和GPT-4在支持上下文长度方面存在限制,不超过10万和3.2万tokens,一旦超出这些限制,模型会表现出困难和混乱。这项研究的发现有望解决这一问题,提供更大的上下文窗口长度以应对更复杂的任务。
论文地址:
https://arxiv.org/abs/2310.05209
Github仓库:
https://github.com/OpenLMLab/scaling-rope
研究的核心在于RoPE位置编码,它是Transformer架构的一部分,用于帮助模型理解词序信息。RoPE采用绝对位置编码的方式实现了相对位置编码的效果,但与相对位置编码相比,它在提升大型模型的外推能力方面表现更出色。
在这一领域的研究主要分为两大流派:一是限制注意力,包括代表研究如ALiBi、xPos、BCA等,以及MIT提出的StreamingLLM,可以实现无限的输入长度;二是调整旋转角,代表如线性内插、Giraffe、Code LLaMA、LLaMA2Long等。
LLaMA2Long研究提出了一种名为RoPE ABF的方法,通过微调旋转角底数,成功将大型模型的上下文长度从3.2万tokens延长至更大。这一超参数的微调是一种“开关”,使大型模型的外推表现更出色。然而,现有的研究仅在特定的旋转角底数和续训长度上进行微调,缺乏通用规律,以确保所有采用RoPE位置编码的大型模型都能稳定提升外推表现。
为了找到这一规律,复旦大学和上海AI研究院的研究人员进行了实验,他们分析了影响RoPE外推能力的各种参数,提出了“临界维度”(Critical Dimension)的概念,并总结出了RoPE外推的缩放法则(Scaling Laws of RoPE-based Extrapolation)。根据这一规律,可以根据不同的预训练和续训文本长度来预测大型模型的支持的上下文长度,然后相应地微调旋转角底数,以提升外推表现。
这项研究的实验结果显示,根据这一规律,大型模型能够在输入长度为10万、50万甚至100万tokens的情况下,实现外推而无需额外的注意力限制。这一规律也得到了包括Code LLaMA和LLaMA2Long在内的大型模型外推能力增强工作的验证。
总的来说,这项研究为大型模型提供了一种通用的方法,通过微调RoPE位置编码的超参数,轻松扩展上下文窗口长度,增强外推能力。这一规律的发现将有望进一步改善大型模型在自然语言处理等领域的性能,并提供更多应用潜力。