包阅导读总结
1. 关键词:Llama 3.1、Meta 科学家、合成数据、模型架构、评估改进
2. 总结:Meta 科学家揭秘 Llama 3.1,包括参数规模选择、Scaling Law 审视、分词器作用、不用 MoE 架构原因、合成数据重要性、评估改进方法及 Llama 4 与 agent 相关内容。
3. 主要内容:
– Llama 3.1 参数规模选择
– 考虑多种因素,如 scaling law、训练时间、硬件等,旨在找到推理效率平衡点。
– 对 Scaling Law 的审视
– 强调训练数据 token 总量重要性,Meta 为更好推理表现选择超越 Chinchilla 定律。
– 分词器大小的关键作用
– 更大分词器能使模型表达更多概念,增加感知上下文范围,对小模型性能影响显著。
– 不用 MoE 架构的原因
– 认为稠密模型是未优化超参数,未来可能探索。
– 合成数据的重要性
– Llama 3 训练数据量大幅增加,后训练依靠合成数据,涵盖多种合成方法。
– LLM 的评估与改进
– 模型评估是难题,多轮 RLHF 是比较模型的好办法。
– Llama 4 与 Agent
– 6 月开始训练,重点可能围绕 agent 技术,已有相关工作。
思维导图:
文章地址:https://mp.weixin.qq.com/s/xqtaQ9PZy1Aaj0Rp7ysVpw
文章来源:mp.weixin.qq.com
作者:Founder??Park
发布时间:2024/8/1 14:03
语言:中文
总字数:3478字
预计阅读时间:14分钟
评分:91分
标签:Llama 3.1,合成数据,Meta,大模型,AI开发技术
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
刚刚发布的开源「巨无霸」Llama 3.1 虽然自带论文,但依旧激起了广大网友强烈的好奇心和求知欲。
-
Llama 3.1 都使用了哪些数据?其中有多少合成数据?为什么不使用 MoE 架构?
-
后训练与 RLHF 流程是如何进行的?模型评估是如何进行的?
-
我们什么时候可以见到 Llama 4?Meta 是否会发展 agent?
恰逢 Llama 3.1 刚刚发布,Meta 科学家就现身播客节目 Latent Space,秉持着开源分享的精神,对以上问题都作出了清晰的回答。他在节目中揭秘了 Llama 3.1 的一些研发思路,并透露了后续 Llama 4 的更新方向。
受访者 Thomas Scialom 现任 Meta 的人工智能研究科学家,领导了 Llama 2 和 Llama 3 的后训练,并参加了 CodeLlama、Toolformer、Bloom、GAIA 等多个项目。
以下是采访内容的节选,在「新智元」文章的基础上,Founder Park 有所调整。
01
如何决定参数规模
其实 LLM 的参数规模的选择需要考虑多种因素,包括 scaling law、训练时间、GPU 和硬件的约束等等。
而且,不能只考虑 Meta 所用的硬件,还有整个 AI 社区,并不是每个人都在使用 H100,还有很多不同的 GPU 型号和显存大小。
再加上,目前广泛应用于推理阶段的量化技术,比如可以用 FP16 或 FP8 精度,这会改变推理和训练/微调成本的比重。
以上这些限制因素,都让模型规模的选择成为一个非常具有挑战性的问题。
总体而言,着重考虑的是目前已有的算力,在 Scaling Law 和训练 token 总量的限制内,我们进行了一些权衡,找到了一个有合适推理效率的平衡点。
之所以做到 405B 这么大规模,其实原因很简单——我们想做出最好的模型,一个真正与 GPT-4 比肩的开源模型。(现在是 GPT-4o 了)虽然目前还没有完全达到目标,但差距正在逐渐缩小。
正如小扎之前宣布的,Meta 囤积了越来越多的 GPU,因此下一代模型将继续扩展。
对于网友们所说的,无法在家里运行 Llama 3.1,这很有可能是事实。但如果进行 FP8 量化,依旧可以用 128k 的上下文窗口在单节点上运行。
从另一个角度来看,我们还是要寄希望于开源社区的力量。Llama 1 和 Llama 2 刚刚发布时,大家同样认为模型太大了,但两周后它就能在树莓派上运行了。
虽然不能确定 Llama 3.1 也会和以前一样,但通过将模型开源,我们希望可以看到类似的趋势。
02
重新审视 Scaling Law
我们所熟知的 Scaling Law 主要关注两个维度,即模型权重和训练量,包括训练时的 step、epoch 和 token 总量等等。
基本上,论文的发现就是,模型规模是重要因素。因此,GPT-3 犯了一个错误——模型参数量远远超出了 token 总量的要求。
论文地址:https://arxiv.org/pdf/2001.08361
这也正是之后的 Chinchilla 所发现和强调的,相比最初的 Scaling Law,他们更强调了训练数据 token 总量的重要性。
论文地址:https://arxiv.org/pdf/2203.15556
Chinchilla 论文想要找到「算力最优化」的训练方式,认为在有限算力的前提下,存在一个模型参数量和训练 token 数的最佳比率。
如果你希望在论文的基准测试中得到最优模型,那么 Chinchilla 本身没有问题;但 Meta 要发布的旗舰模型还需要更高的推理效率。
因此,我们选择增加训练的 token 数,并增加训练时长,让模型达到「过度训练」的状态。
这不符合 Chinchilla 定律,也会付出额外的算力,但我们希望让模型有更好的推理表现,从而更多地应用于开源社区,因此需要做出一些超越 Chinchilla 定律的选择。
事实上,这也是 Llama 1 的研发人员所做的事情。我所说的「不要陷入 Chinchilla 陷阱」就是这个意思。
03
分词器大小很关键
一个模型的词汇库包含了它所使用的全部词汇。人们往往难以意识到的是,其实词汇库的规模对于模型性能有着重大影响。
一个模型的 token 词汇表是模型使用的所有 token 的集合。Llama2 有 34,000 个 token 词汇,GPT-4 有 100,000 个,而 4o 增加到了 200,000 个。Llama3 增加了 4 倍,达到了 128,000 个 token。
-
更丰富的词汇库使模型能够表达更多的概念,进而更精准地捕捉语言的微妙之处。
-
更大的分词器(tokenizer)意味着在处理相同长度的文本时,需要的词汇数量减少,这相当于增加了模型感知的上下文范围。对于 Llama3 来说,这使得它能够多处理大约 30% 的文本量。
-
在计算资源不变的情况下,人们可以利用更少的步骤,将更多知识训练到模型中。对于较小的模型来说,分词器的规模对其性能的影响尤为显著。
04
为什么不用 MoE?
相比 Llama 2,Llama 3 的架构没有太多变化,但是在扩展数据的规模和质量方面,我们作出了很多努力,数据集从 2T token 增加到 15T token。
架构方面,我认为将来会有更多改进,甚至不仅仅局限于 Transformer。
目前的 Tranformer 架构仍然缺少灵活性,比如,我认为对每个 token 使用等量的算力是没有意义的,因此还有很多研究的空间。
关于「为什么不使用 MoE 架构」,这个是我经常听到的质疑,其中的原因有多个方面。
我认为,稠密模型只是 MoE 的一个特定变体,你可以把它看作只有一个专家的 MoE,因此这只是一个还没有优化的超参数而已。
但我们目前正在进行一些工作,未来可能会在这个超参数上继续探索。
05
合成数据很重要
Llama3 的训练数据量达到了 15T Token,是 Llama2 的 7 倍之多,并且涵盖了 4 倍的代码量和 30 种不同的语言。但关于数据,我的直觉是,公开互联网上充斥着过多文本垃圾,用这些 token 训练模型是对算力的浪费。
在为 Llama 2 抓取数据时,我们就使用 Llama 作为分类器,用于过滤出高质量的 token,并打上主题标签,比如这段文本是和数学、法律还是政治有关,这样可以实现主题的均衡和多样性。
Llama 3 的后训练过程完全没有使用人工书写的答案,仅依靠从 Llama 2 获得的合成数据。
我非常看好合成数据,而且随着模型性能提升,情况也会变得更好。
尽管人们普遍认为 8B 和 70B 可能是 405B 的「离线蒸馏」产物,但 Llama 3.1 的合成数据元素远比预期丰富。论文中明确提到了以下几点:
-
代码的 SFT:405B 通过代码执行反馈、编程语言翻译和文档回译三种合成数据方法进行自举。
-
数学的 SFT:Llama 3 论文归功于「Let』s Verify Step By Step」的作者们,我们在 ICLR 上采访过他们。
-
多语言性的 SFT:为了收集更高质量的非英语语言人类注释,我们通过在预训练过程中引入 90% 的多语言 Token 来训练多语言专家。
-
长上下文的 SFT:鉴于阅读长上下文的繁琐和耗时,我们主要依靠合成数据来填补这一空白。我们利用 Llama 3 的早期版本,生成了基于关键长上下文用例的合成数据,包括多轮问答、长文档摘要和代码库推理。
-
工具使用的 SFT:为 Brave Search、Wolfram Alpha 以及 Python 解释器等工具进行了训练,以支持单一、嵌套、并行和多轮函数调用。
-
RLHF:Llama 2 代广泛使用了 DPO 偏好数据。人类通常更擅长在两个选项之间做出判断,而不是从头开始创造一个,同样,模型可能不擅长创造文本,但它们可能擅长判断质量。
06
LLM 的评估与改进
目前的模型研发有一个趋势,就是针对基准分数进行模型的后训练改进。
模型评估是一个开放的研究问题,目前还没有很好的答案,尤其是面对同一个模型有如此多的功能。
当你试图提升模型在某个基准上的分数时,这就不再是一个好的基准了,因为可能会存在过拟合,分数提升未必可以迁移成为相似的能力。
因此,语言模型的评估,尤其是训练后评估,是一个非常困难的问题。我们尝试过很多方法,包括用奖励模型,model-as-a-judge、使用多样化的提示、多样化的基准测试……
我感觉为 Llama 2 进行评估要比今天容易多了,当时的模型性能比现在相差很多。现在的模型变得如此好,以至于很难找到能击溃模型的合适 prompt,进行性能比较并查看边界情况。
比较模型的其中一个好办法就是进行多轮 RLHF。每次上传新模型时,只需在所有带标注的 prompt 上进行采样,让新旧模型分别回答,再自动计算胜率。
07
Llama 4 与 Agent
Meta 已经在 6 月开始训练 Llama 4 模型,而且重点可能围绕 agent 技术,并且已经在 Toolformer 等 agent 工具上进行了一些工作。
论文地址:https://arxiv.org/pdf/2302.04761
但同时也要意识到,如果没有一个优秀的指令模型,Toolformer 扩展和未来能力也会大大受限,因此我们研发了 Llama 2 和 Llama 3。
此外,Meta 也曾在一年前发布 GAIA 基准,用于评估模型解决现实世界问题的能力。
在这个基准的排行榜上,基于 GPT-3 的 agent 系统得分几乎接近于零,但 GPT-4 驱动的系统就有很好的成绩,比如 30%~40%,这其中就体现出模型的智力差距。
在我看来,agent 的各种能力,比如函数调用、遵循复杂指令、预先规划、多步骤推理等等,和模型的这种智力差距是类似的。
论文地址:https://arxiv.org/pdf/2311.12983
现在有了足够强大的 Llama 3,我们将重新专注于 agent 的构建。如果能实现良好的模型互联,形成一个复杂的 agnent 系统,将获得几个数量级的扩展,从而实现规划、回溯、网页导航、代码执行等多种功能。
参考资料:
https://www.youtube.com/watch?v=uLR8nSrhk_w
https://www.latent.space/p/llam3
转载原创文章请添加微信:founderparker