全部文章

Field note / 2024/04/20

LLaMA3:开启大语言模型的新篇章

一篇写于 LLaMA 3 发布当天的技术笔记,关注 tokenizer、GQA、上下文长度、训练数据规模和小模型训练趋势。

Meta 官方发布的 LLaMA 3 模型性能对比图

本文写于 2024-04-20,是对当时首批 LLaMA 3 模型的发布解读。文中的榜单、模型状态与未来预期均保留历史时点。

前言:Meta最新发布的LLaMA3模型标志着开源大语言模型新时代的到来。LLaMA一直是大语言模型开源模型的标杆产品,相信国内很多厂商都一直在期待着LLaMA3。LLaMA3已经放出了8B和70B两个版本的基础模型和Instruct模型,在评测数据上看非常强劲(坐等lmsys.org后续的排名,目前排名投票人数不多不能反应真实情况)。

Meta 官方博客中的 Instruct 模型性能:

Meta 官方发布的 LLaMA 3 模型性能对比图

LMSYS Arena 评分(文章发布时参评人数较少):

文章发布时的 LMSYS Arena 排名截图

400B的模型还在训练中,超级期待!应该会是第一个开源的,能力达到GPT-4级别的模型。(马斯克,你的Grok赶紧的哟LoL)

核心对比

Tokenizer变化:LLaMA3采用128K的词汇表,相比LLaMA2的32K有了显著增长,这使得模型在处理同等长度文本时需要更少的token,从而提高了推理效率和降低了成本。

架构优化:LLaMA3总体架构和LLaMA2没什么太大区别。LLaMA3在8B和70B版本中均采用了分组查询注意力(Grouped Query Attention, GQA)机制,有效减少了在推理期间对keys和values的缓存大小,在LLaMA2中,只有大参数的模型才使用了这种优化。

扩展的上下文长度:从LLaMA2的4096增加到8192,提升不大,GPT-4已经是128k了,月之暗面的Kimi甚至到了2000k。不过增长上下文的研究也是马不停蹄,相信很多公司和组织会通过fine-tune来优化提升LLaMA3的长上下文能力。

庞大且高质量的训练数据:LLaMA3使用的训练数据量高达15T tokens,是LLaMA2(2T)的七倍,包括大量高质量数据、更多的代码数据以及超过30种语言的数据,其中5%为非英文数据(所以在中文回答上明显比LLaMA2提升了不少),但仍然是个英文为主的模型。

LLaMA3的特别之处

对于8B这样的相对轻量的大语言模型,15T的训练数据是非常庞大的。因为大多数模型训练讲求的是投入/回报比,15T的训练数据已经远远超过了8B模型的最佳性价比的训练数据量。Meta无疑干了一件看似吃力不讨好但却可能有深远意义的事情:让我们得到了一个非常强大的轻量模型。

然而有趣的事,Meta的blog提到,即使在15T的数据训练下,8B模型似乎也没有在标准意义上“收敛”,所以似乎证明了我们在使用的大语言模型其实是训练不足的。相信在这个方向上会有更多的研究,更大的训练数据集、更小参数的模型,得到更高的质量的模型。

内容参考

https://ai.meta.com/blog/meta-llama-3/

https://arena.lmsys.org/

https://twitter.com/karpathy

最后的最后:讲个笑话