大家好,今天我要向大家介绍一项令人振奋的研究,这项研究来自复旦大学和上海人工智能实验室,他们找到了一种方法,可以让大型语言模型的上下文窗口长度从原本的1.6万tokens延长到100万tokens!这个研究的意义非常重大,尤其对于当前最先进的语言模型,如Claude 2和GPT-4,它们的上下文窗口长度分别只有10万和3.2万,一旦超出这个范围,这些大模型就会开始产生胡言乱语,无法正确理解文本。
大模型的外推能力挑战
首先,让我们了解一下这项研究背后的挑战。对于大型语言模型,一个重要的指标是它们的外推能力,即当输入文本长度超过它们的预训练文本长度时,它们能否继续产生合理的输出。如果外推能力不好,一旦输入长度超出了预训练文本长度,这些大模型就会开始“胡言乱语”,产生不可理解的文本。
要提高大模型的外推能力,关键在于改进它们的位置编码(Position Encoding)模块。位置编码模块是Transformer架构中的一部分,它用于让模型理解词序信息,从而更好地理解一句话的含义。
目前的位置编码方法包括绝对位置编码(Absolute Position Encoding)、相对位置编码(Relative Position Encoding)和旋转位置编码(Rotated Position Encoding)等。而最近最火热的是旋转位置编码,也就是RoPE(Rotated Position Encoding)。
RoPE通过绝对位置编码的形式,实现了相对位置编码的效果,但相比于相对位置编码,RoPE更有潜力提升大模型的外推能力。
提升RoPE位置编码的外推能力
要提升RoPE位置编码的外推能力,研究人员开始着手调整旋转角度。旋转角度是RoPE位置编码的一个超参数,它的调整可以影响模型的外推能力。然而,以往的研究通常只是在特定的旋转角度和续训长度上进行微调,而没有找到一种通用的规律。
新的研究揭示规律
这项新的研究通过分析影响RoPE外推能力的参数,提出了一个名叫“临界维度”(Critical Dimension)的概念,并总结出了一套RoPE外推的缩放法则(Scaling Laws of RoPE-based Extrapolation)。这个法则的应用可以确保任何基于RoPE位置编码的大模型都能改善外推能力。
具体来说,这个法则与多个参数有关,包括预训练文本长度、自注意力头维度数量等,其中一个重要的参数是旋转角底数(base)。通过调整旋转角底数,可以让大模型更好地感知到位置信息,从而提升外推能力。
扩展大模型的上下文窗口长度
根据这一规律,研究人员发现只需微调旋转角底数,就能轻松扩展基于RoPE的大模型的上下文窗口长度,使其从1.6万tokens延长到100万tokens。这是一项重大突破,将大型语言模型的应用领域进一步拓展。
目前,这项研究还在不断完善中,研究人员正在改进续训语料,以提高下游任务的效果。一旦完成,他们计划将代码和模型开源,使更多的研究人员和开发者能够受益于这一发现。
结语
这项研究的发现为大型语言模型的发展打开了新的可能性,使它们能够处理更长的文本序列,从而在各种自然语言处理任务中表现得更出色。随着这一领域的不断进步,我们可以期待看到更多令人振奋的突破和应用。
如果您对这一研究感兴趣,可以查看原文链接以获取更多详细信息。同时,让我们一起期待这一领域未来的发展,看看大型语言模型还能为我们带来哪些惊喜和创新!