《探究LLaMA2Long:如何成为性能超越ChatGPT、Claude2的最强版本》
文章标签:最强LLaMA, 上下文, 3.2万token, 超越ChatGPT
在人工智能领域中,LLaMA 的强大能力一直备受关注。最近,LLaMA 的改进版本突然亮相,仅通过调整一个超参数,就实现了超过 3.2 万个上下文令牌,同时在不同任务中击败了 ChatGPT 和 Claude 2 等竞争对手。这一突破性的成果展示了 LLaMA 技术的巨大潜力,也引起了广泛的关注和研究。
悄无声息,羊驼家族“最强版”来了!
与GPT-4持平,上下文长度达3.2万token的LLaMA 2 Long,正式登场。
在性能上全面超越LLaMA 2。
和竞争对手相比,在指令微调MMLU (5-shot)等测试集上,表现超过ChatGPT。
在人类评估方面,Claude 2的表现甚至超过了拥有10万个标记的模型。这一话题在Reddit社区中引发了广泛的讨论。
要知道,这些对比版本中,LLaMA 2 Long使用的最大版本也只有70B,远小于其他大模型。
这让人不禁感慨:Meta确实还是有两下子的。
也有人觉得,这才是最近Meta发布会的最大新闻啊,比Meta版ChatGPT要更令人兴奋。
论文介绍,LLaMA 2 Long使用了4000亿token语料加持下,并进行位置编码修改。
所以LLaMA 2 Long究竟是如何诞生的?
01
只对位置编码进行了一个非常小的改动
与LLaMA 2相比,LLaMA 2 Long的变化并不多。
一是训练参数上,采用了高达4000亿token的数据源。
——相反,原始LLaMA 2包含多个变体,但最多的版本也只有700亿。
在架构方面,我们保持了与LLaMA 2的一致性,但针对位置编码做出了一处细微的优化。这一调整使得我们能够支持高达3.2亿个令牌的上下文窗口。
在LLaMA 2中,它的位置编码采用的是旋转编码RoPE方法。
它是目前大模型中应用最广的一种相对位置编码,通过旋转矩阵来实现位置编码的外推。
RoPE的实质在于,它将代表单词、数字等信息的token嵌入映射到3D图表中,并展示这些token与其他token之间的关系,这种关系甚至在旋转图表时也能保持不变。
这就能够使模型产生准确且有效的响应,并且比其他方法需要的信息更少,因此占用的计算存储也更小。
在此,Meta的研究人员通过对70亿规模的LLaMA 2进行实验,确定了LLaMA 2中的RoPE方法的一个关键限制:
即,阻止注意力模块聚集远处token的信息。
为此,Meta想出了一个非常简单的破解办法:
减少每个维度的旋转角度。
具体而言就是将超参数“基频(base frequency) b”从10000增加到500000。
一个显著的改进立即生效,它有效地减少了RoPE对远程代币的衰减影响。此外,在扩展LLAMA的上下文长度方面,该方法的表现优于另一种类似名為“位置插值”的技术(如图 RoPE PI 所示,其衰减效果更为“隐藏”)。
请注意,以下是对原始内容的改写,确保满足您的要求:图中的RoPE代表基础方法,而RoPE ABF则是Meta公司这次创新性的新方法。此外,xPos是一种采用这种方法的旋转编码变体,进一步拓展了其应用范围。
在对可视化结果进行分析时,我们发现RoPE在长距离范围内呈现出较为显著的波动现象。对于语言模型而言,这可能会带来一定的挑战。
然而,当我们观察到这些方法在处理长序列困惑度和FIRST-SENTENCE-RETRIEVAL这两个任务时的表现时,发现并没有出现明显的问题。
而且,尤其在后者任务上,他们提出的RoPE ABF是唯一一个可以始终保持性能的变体。
在附录中,Meta还通过可视化为螺旋图这一非常有趣的方式,将RoPE ABF与RoPE PI的差异进行了理论分析。
结果是,与RoPE PI相比,RoPE ABF的优势主要体现在它能以更大的粒度分配嵌入向量(the embedded vectors),从而使模型更容易区分位置。
此外,他们还观察到,嵌入向量之间的相对距离既对RoPE PI的关键参数有线性依赖性,也对RoPE ABF的关键参数也有对数依赖性。
这也就是为什么我们可以很容易地对基频这一超参数“下手”。
最终,LLaMA 2 Long凭借着这一改动,达成了3.2万的上下文token,并通过长下文连续预训练的共同作用,获得了开头所示的好成绩:
除了全面超越LLaMA 2、在特定任务上超越Claude 2和ChatGPT,Meta也给出了它和一些开源长下文模型的对比。
结果也相当不赖。
02
One More Thing
值得一提的是,这个最新的版本,是用LLaMA2生成的文本内容来进行训练的。
官方会不会正式发布这一版本,现在还没有更明确的消息,模型的网址也还没有找到。
不过已经有人提前兴奋起来了:
这对可商用微调大模型来说太有用了!
而在此之前,已经有非官方版本实现了3.2万token上下文,也是开源可商用。
“长颈鹿(Giraffe)”基于13B版本的LLaMA2打造。
研究团队提出了一种称为“截断(truncation)”的方法,对原始RoPE编码进行变换。
llama-2-7b-32k-instruct也可以支持3.2万上下文,模型规模是7B。
最强LLaMA, 上下文, 3.2万token, 超越ChatGPT