Llama架构比不上GPT2?神奇token提升10倍记忆?

一个 7B 规模的言语模型 LLM 能保存多少人类常识?如何量化这一数值?训练工夫、模型架构的分别将如何影响这一数值?浮点数压缩 quantization、混合专家模型 MoE、以及数据质量的差异 (百科常识 vs 网络垃圾) 又将对 LLM 的常识容量产生何种影响?近日,朱泽园 (Meta AI) 和李远志 (MBZUAI) 的最新钻研《言语模型物理学 Part 3.3:常识的 Scaling Laws》用海量实验(50,000 条任务,总计 4,200,000 GPU 小时)总结了 12 条定律,为 LLM 在

一个 7B 规模的言语模型 LLM 能保存多少人类常识?如何量化这一数值?训练工夫、模型架构的分别将如何影响这一数值?浮点数压缩 quantization、混合专家模型 MoE、以及数据质量的差异 (百科常识 vs 网络垃圾) 又将对 LLM 的常识容量产生何种影响?

近日,朱泽园 (Meta AI) 和李远志 (MBZUAI) 的最新钻研《言语模型物理学 Part 3.3:常识的 Scaling Laws》用海量实验(50,000 条任务,总计 4,200,000 GPU 小时)总结了 12 条定律,为 LLM 在分别条件下的常识容量提供了较为精确的计量方法。

Llama架构比不上GPT2?神奇token提升10倍记忆?

作家首先指出,通过开源模型在基准数据集 (benchmark) 上的表现来衡量 LLM 的 scaling law 是不现实的。例如,LlaMA-70B 在常识数据集上的表现比 LlaMA-7B 好 30%,这并不能说明模型扩大 10 倍仅仅能在容量上提高 30%。如果使用网络数据训练模型,我们也将很难估计其中包含的常识总量。

再举个例子,我们比较 Mistral 和 Llama 模型的好坏之时,到底是他们的模型架构分别致使的区别,还是他们训练数据的制备分别致使的?

综合以上考量,作家采用了他们《言语模型物理学》系列论文的核心思路,即制造人工合成数据,通过控制数据中常识的数量和类型,来严格调控数据中的常识比特数 (bits)。同时,作家使用分别大小和架构的 LLM 在人工合成数据上进行训练,并给出数学定理,来精确计算训练好的模型从数据中学到了多少比特的常识。

Llama架构比不上GPT2?神奇token提升10倍记忆?

论文地址:https://arxiv.org/pdf/2404.05405.pdf

论文标题:Physics of Language Models: Part 3.3, Knowledge Capacity Scaling Laws

对于这项钻研,有人表示这个方向似乎是合理的。我们可以使用非常科学的方式对scaling law 进行分析。

Llama架构比不上GPT2?神奇token提升10倍记忆?

也有人认为,这项钻研将 scaling law 提升到了分别的层次。当然,对于从业者来说是一篇必读论文。

Llama架构比不上GPT2?神奇token提升10倍记忆?

钻研概览

作家钻研了三种类型的合成数据:bioS、bioR、bioD。bioS 是使用英语模板编写的人物传记,bioR 是由 LlaMA2 模型协助撰写的人物传记(22GB 总量),bioD 则是一种虚拟但可以进一步控制细节的常识数据(譬如可以控制常识的长度、词汇量等等细节)。作家重点钻研了基于 GPT2、LlaMA、Mistral 的言语模型架构,其中 GPT2 采用了更新的 Rotary Position Embedding (RoPE) 技术

Llama架构比不上GPT2?神奇token提升10倍记忆?                              左图为训练工夫充分,右图为训练工夫不足的 scaling laws

上图 1 简要概述了作家提出的前 5 条定律,其中左 / 右分别对应了「训练工夫充分」和 「训练工夫不足」两种情况,分别对应了常见常识(如中国首都是北京)和较少出现的常识(如清华物理系成立于 1926 年)。

如果训练工夫充分,作家发现,不论使用何种模型架构,GPT2 或 LlaMA/Mistral,模型的保存效率均可以达到 2bit/param—— 即平均每个模型参数可以保存 2 比特的信息。这与模型的深度无关,仅与模型大小有关。换言之,一个 7B 大小的模型,如果训练充分,可以保存 14B 比特的常识,这超过了维基百科和所有英文教科书中人类常识的总和!

更令人惊讶的是,尽管传统理论认为 transformer 模型中的常识主要保存在 MLP 层,但作家的钻研反驳了这一观点,他们发现即便移除了所有 MLP 层,模型仍能达到 2bit/param 的保存效率。

Llama架构比不上GPT2?神奇token提升10倍记忆?                               图 2:训练工夫不足情况下的 scaling laws

然而,当我们观察训练工夫不足的情况时,模型间的差异就显现出来了。如上图 2 所示,在这种情况下,GPT2 模型能比 LlaMA/Mistral 保存超过 30% 的常识,这意味着几年前的模型在某些方面超越了今天的模型。为什么会这样?作家通过在 LlaMA 模型上进行架构调整,将模型与 GPT2 的每个差异进行增减,最终发现是 GatedMLP 致使了这 30% 的损失。

强调一下,GatedMLP 并不会致使模型的「最终」保存率变化 —— 因为图 1 告诉我们如果训练充分它们就不会有差。但是,GatedMLP 会致使训练不稳定,因此对同样的常识,需要更长的训练工夫;换句话说,对于较少出现在训练集里的常识,模型的保存效率就会下降。

Llama架构比不上GPT2?神奇token提升10倍记忆?                                 图 3:quantization 和 MoE 对模型 scaling laws 的影响

作家的定律 8 和定律 9 分别钻研了 quantization 和 MoE 对模型 scaling law 的影响,结论如上图 3 所示。其中一个结果是,将训练好的模型从 float32/16 压缩到 int8,竟然对常识的保存毫无影响,即便对已经达到 2bit/param 保存极限的模型也是如此。

这意味着,LLM 可以达到「信息论极限」的 1/4—— 因为 int8 参数只有 8 比特,但平均每个参数可以保存 2 比特的常识。作家指出,这是一个普遍法则(universal law),和常识的表现形式无关。

最引人注目的结果来自于作家的定律 10-12(见图 4)。如果我们的 (预) 训练数据中,有 1/8 来自高质量常识库(如百度百科),7/8 来自低质量数据(如 common crawl 或论坛对话,甚至是完全随机的垃圾数据)。

那么,低质量数据是否会影响 LLM 对高质量常识的吸收呢?结果令人惊讶,即使对高质量数据的训练工夫保持一致,低质量数据的「存在本身」,可能会让模型对高质量常识的保存量下降 20 倍!即便将高质量数据的训练工夫延长 3 倍,常识储量仍会降低 3 倍。这就像是将金子丢进沙子里,高质量数据被严重浪费了。

有什么办法修复呢?作家提出了一个简单但极其有效的策略,只需给所有的 (预) 训练数据加上自己的网站域名 token 即可。例如,将 Wiki 百科数据统统加上 wikipedia.org。模型不需要任何先验常识来识别哪些网站上的常识是「金子」,而可以在预训练过程中,自动发现高质量常识的网站,并自动为这些高质量数据腾出保存空间。

作家提出了一个简单的实验来验证:如果高质量数据都加上一个特殊 token(任何特殊 token 都行,模型不需要提前知道是哪个 token),那么模型的常识保存量可以立即回升 10 倍,是不是很神奇?所以说对预训练数据增加域名 token,是一个极其重要的数据制备操作

Llama架构比不上GPT2?神奇token提升10倍记忆?                                 图 4:预训练数据「常识质量不齐」情形下的 scaling laws,模型缺陷以及如何修复

结语

作家认为,通过合成数据,计算模型在训练过程中获得的常识总量的方法,可以为「评估模型架构、训练方法和数据制备」提供了一套系统且精确的打分体系。这和传统的 benchmark 比较完全分别,并且更可靠。他们希望这能帮助未来 LLM 的设计者做出更明智的决策。

给TA打赏
共{{data.count}}人
人已打赏
工程

CVPR 2024 | 联系一切模型SAM泛化能力差?域顺应策略给解决了

2024-4-9 14:39:00

工程

蚂蚁团体CodeFuse 颁布“图生代码”性能,超五成程序员用AI写代码

2024-4-11 14:09:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索