渣渣兔 发表于 2024-8-25 00:15:59

详解各种LLM系列|(5)LLaMA 3模子剖析(Meta重磅发布!)

一、引言

Blog链接:https://ai.meta.com/blog/meta-llama-3/
MODEL CARD: https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md
体验链接:https://meta.ai/  or  https://huggingface.co/chat/
4月18日,Meta忽然发布Llama 3, 在Llama 2的基础上进行了进一步的升级,包括利用更高质量的数据集、模子架构的改进、引入新的信任和安全工具(如Llama Guard 2、Code Shield和CyberSec Eval 2)等;
这次Llama 3 的发布包括了8B 和 70B 两种规模的预训练和指令微调生成文本模子。
https://img-blog.csdnimg.cn/direct/bf2e9532eb6b44458a51dbcfb7c1c600.png

Llama 3型号将很快在AWS、Databricks、Google Cloud、huggingFace、Kaggle、IBM WatsonX、微软Azure、NVIDIA NIM和Snowflake上推出,并得到AMD、AWS、戴尔、英特尔、NVIDIA和高通提供的硬件平台的支持


二、卓越的性能

2.1 尺度测试

这次的 Llama 在性能上展现了大幅度提升,包括最直接的 8k 上下文(之前是4k),以及可以更好地完成输出任务。
通过pre-training和post-training的改进,Llama 3的预训练和指令微调模子是现在在8B和70B参数尺度上存在的最好的模子(停止至发布日期)。
Post-training的改进大大低沉了错误拒绝率,改善了划一性,增加了模子响应的多样性;Llama 3在推理、代码生成和指令跟踪等功能上有极大的提升,详细看一下对比数据:
(Llama 3 Pretrained模子)
https://img-blog.csdnimg.cn/direct/c7e052c7155b464e8255e4704093945d.png
 
(Llama 3 Instruct模子) 
https://img-blog.csdnimg.cn/direct/e17304db2b4a478bbf3813643c6cebbd.png

(这里再附一张 Llama 2 和 3 的对比)
https://img-blog.csdnimg.cn/direct/30515d80033d40628793c64133173074.png

2.2 人类偏好测试

在Llama 3的开发过程中,为了优化实际场景的性能,Meta开发了一个新的高质量的人类评价集。这个评估集包罗1800个提示,涵盖了12个关键用例:征求建议、头脑风暴、分类、封闭式问题回答、编码、创造性写作、提取、作为一个脚色/脚色中、开放式问题回答、推理、重写和总结。
下面的图表显示了模子对这些种别的人类评估的汇总效果:
https://img-blog.csdnimg.cn/direct/db041f968c3d4f9eb8d65548957027ad.png

根据人类评估者的偏好排名,Llama 的 70B 参数模子在实际应用场景中的表现,尤其是在指令跟随方面,相较于其他相当规模的模子表现出了显著的优势。

三、优化之处

3.1 模子架构

3.1.1 Tokenzier

分词器:与Llama 2不同的是,Llama 3将tokenizer由sentencepiece换成tiktoken,词汇量从 的32K增加到 128K,增加了 4 倍 (更大的词汇库能够更高效地编码文本,增加编码效率,可以实现更好的下游性能。不过这也会导致嵌入层的输入和输出矩阵尺寸增大,模子参数目也会增大)。

序列长度:输入上下文长度从 4096(Llama 2)增加到 8192。但相对于GPT-4 的 128K来说还是相当小。

3.1.2 GQA

Llama 3 中选择了相对尺度的纯解码器decoder-only transformer架构,总体上与 Llama 2 相比没有重大变化。在 Llama 2 中只有34B & 70B利用了分组查询注意 (GQA),但为了提高模子的推理效率,Llama 3所有模子都接纳了GQA。

3.2 训练数据

 (Always the secret sauce!)
https://img-blog.csdnimg.cn/direct/bf2e9532eb6b44458a51dbcfb7c1c600.png
 
训练数据量:Llama 3 的预训练数据集增加至15T (比Llama 2大7倍,且其中包罗的代码量是Llama 2的4倍, 这有助于Llama 3在代码能力以及逻辑推理能力的性能提升),这些数据都是从公开来源网络的高质量数据集。
多语言数据:为了更好地适用于多语言利用场景,凌驾5%的Llama 3预训练数据集由覆盖30多种语言的高质量非英语数据组成(主要还是以英语为主,因此并不期望其他语言的表现能到达英语的水平)。
数据过滤:为了确保Llama 3在最高质量的数据上进行训,Llama 3的开发团队开发了一系列数据过滤管道。这些管道包括利用开导式过滤器、NSFW过滤器、语义重复数据删除方法和文本分类器来预测数据质量。(前几代的Llama在识别高质量数据方面表现得非常出色,因此利用Llama 2来为支持Llama 3的文本质量分类器来生成训练数据)。
数据类型组合:Llama 3的开发团队还进行了大量的实验,以评估在终极的预训练数据集中混合不同来源数据(包括琐事问题、STEM、编码、历史知识等)的最佳方法。
 
3.3 预训练放大 

3.3.1 为何研究缩放定律

为了更加有效地利用与训练数据,Llama 3的研究团队投入了大量的精力来扩大预训练,并为下游基准评估开发了一系列详细的缩放定律。这些缩放定律可以:
(1)资助选择最佳的数据组合,并就如何最好地规划训练盘算提供决策支持。
(2)允许在实际训练模子之前预测最大的模子在关键任务上的性能(例如,Llama 3 在HumanEval基准上评估的代码生成); 这有助于确保终极模子在各种用例和功能中具有强盛的性能。

3.3.2 详细的缩放定律研究效果

对于像 8B 参数这样“小”的模子来说,Chinchilla扩展法则最优训练盘算量对应于 ~200B Tokens,然鹅,在Llama 3研究团队对8B和70B参数模子进行了多达15T标记的训练后,模子性能仍以对数线性地趋势增强。
从现在模子效果来看,Meta利用的Scaling Law法则黑白常有效的,Meta得到了一个非常强盛的模子,它非常小,易于利用和推理,而且mate表示,纵然这样,该模子似乎也没有在尺度意义上“收敛”,性能还能改善。这就意味着,一直以来我们利用的 LLM 训练是不足的,远远没有到达使模子收敛的那个点。
较大的模子可以用更少的训练盘算来匹配这些较小的模子的性能,但较小的模子通常更受接待,由于它们在推理过程中效率更高。
 

笔者NOTE:这个结论与Mixtral-7B所总结出来的预训练缩放规律(提升大语言模子的能力这个问题是三维的——模子能力、训练成本、推理成本)不谋而合

3.4 并行训练

为了训练最大的Llama 3模子,开发团队团结了三种类型的并行化:数据并行化、模子并行化和管道并行化。
利用了两种不同的GPU集群训练:
(1)当在16K GPU上同时训练时,最有效的实实际现了每个GPU凌驾400 TFLOPS的盘算利用率。
(2)在两个定制的24K GPU集群上实行训练运行时,为了最大限度地延伸GPU的正常运行时间,开发团队开发了一个先进的新训练堆栈,可以主动检测、处理和维护错误; 同时,开发团队极大地改进了硬件可靠性和无声数据损坏的检测机制,并开发了新的可扩展存储系统,淘汰了查抄点和回滚的开销。
这些改进导致团体有效训练时间凌驾95%。综合起来,这些改进使Llama 3的训练效率比Llama 2提高了约3倍。

3.5 指令微调

为了在聊天用例中充实开释预训练模子的潜力,Meta对指令调解方法进行了创新。训练方法团结了监督微调 (SFT)、拒绝采样、近端策略优化 (PPO) 和直接策略优化 (DPO) 的组合。SFT中利用的提示词的质量以及PPO和DPO中利用的偏好排序对对齐模子的性能有巨大的影响。
通过PPO和DPO学习偏好排名也大大提高了Llama 3在推理和编码任务上的表现。

四、Huggingface 集成

Llama 3版本引入了Meta基于Llama 2架构的4个新的开放LLM模子。它们有两种大小:8B和70B参数,每个参数都有基础(预训练)和指令调解版本。所有变体都可以在各种类型的消费者硬件上运行,并且上下文长度为8K令牌:


[*]Meta-Llama-3-8b: Base 8B model
[*]Meta-Llama-3-8b-instruct: Instruct fine-tuned version of the base 8b model
[*]Meta-Llama-3-70b: Base 70B model
[*]Meta-Llama-3-70b-instruct: Instruct fine-tuned version of the base 70b model
Huggingface 现已经将Llama 3集成至Transformers库中,并且可以主动量化模子;
同时推出了与Huggingface推理端点的集成、 Google Cloud 的集成、与 Amazon SageMaker 的集成等,都有助于更快更高效的进行推理体验;
Huggingface还推出了利用 
页: [1]
查看完整版本: 详解各种LLM系列|(5)LLaMA 3模子剖析(Meta重磅发布!)