一文读懂Llama1到llama3技术细节

0、大模型&GPT产业技术交流群

欢迎大家微信搜索“AIGCmagic”关注公众号,回复“大模型”,加入大模型&GPT技术交流群,一起交流学习。

1、llama1技术详解

由Meta AI 发布,包含 7B、13B、33B 和 65B 四种参数规模的开源基座语言模型。
数据集:模型训练数据集使用的都是开源的数据集。
模型结构:原始的Transformer由编码器(Encoder)和解码器(Decoder)两个部分构成。同时Encoder和Decoder这两部分也可以单独使用,llama是基于Transformer Decoder的架构,在此基础上上做了以下改进:
(1)llama将layer-norm 改成RMSNorm(Root Mean square Layer Normalization),并将其移到input层,而不是output层。
(2)采用SwiGLU激活函数。
(3)采用RoPE位置编码。
分词器:分词器采用BPE算法,使用 SentencePiece 实现,将所有数字拆分为单独的数字,并使用字节来分解未知的 UTF-8 字符。词表大小为 32k 。
优化器:AdamW,是Adam的改进,可以有效地处理权重衰减,提供训练稳定性。
learning rate:使用余弦学习率调整 cosine learning rate schedule,使得最终学习率等于最大学习率的10%,设置0.1的权重衰减和1.0的梯度裁剪。warmup的step为2000,并根据模型的大小改变学习率和批处理大小。
模型效果:llama-13B(gpt-3 1/10大小)在多数benchmarks上超越gpt-3(175B)。在规模较大的端,65B参数模型也与最好的大型模型(如Chinchilla或PaLM-540B)也具有竞争力。

2、llama2技术详解

由Meta AI 发布,包含 7B、13B 、 34B、70B 四种参数规模的基座语言模型,除了34B其他模型均以开源。
开源且免费可商用
数据集:模型训练数据集使用的都是开源的数据集,相比上一代的训练数据增加了 40%,达到了增至2万亿个token,训练数据中的文本来源也更加的多样化。Llama 2对应的微调模型是在超过100万条人工标注的数据下训练而成。(但是Llama 2 语料库仍以英文(89.7%)为主,而中文仅占据了其中的 0.13%。这导致 Llama 2 很难完成流畅、有深度的中文对话。)
模型结构
(1)Llama 2与Llama 1的主要结构基本一致同样也是在transformer decoder结构上做了3大改进:将layer-norm 改成RMSNorm(Root Mean square Layer Normalization),并将其移到input层,而不是output层、采用SwiGLU激活函数、采用旋转位置嵌入RoPE。
(2)Llama 2上下文长度由之前的2048升级到4096,可以理解和生成更长的文本。
(3)7B和13B 使用与 LLaMA 相同的架构,34B和70B模型采用分组查询注意力(GQA)。
优化器:AdamW 其中β1=0.9,β2=0.95,eps=10−5。
learning rate:使用cosine learning rate schedule,使得最终学习率等于最大学习率的10%,设置0.1的权重衰减和1.0的梯度裁剪。warmup的step为2000,并根据模型的大小改变学习率和批处理大小。
分词器:分词器采用BPE算法,使用 SentencePiece 实现,将所有数字拆分为单独的数字,并使用字节来分解未知的 UTF-8 字符。词汇量为 32k token。
模型效果:从模型评估上看,Llama 2在众多的基准测试中,如推理、编程、对话能力和知识测验上,都优于Llama1和现有的开源大模型。Llama 2 70B在MMLU和GSM8K上接近GPT-3.5(OpenAI,2023),但在编码基准方面存在显著差距。Llama 2 70B的结果在几乎所有基准上都与PaLM(540B)(Chowdhery et al.,2022)不相上下或更好。Llama 2 70B与GPT-4和PaLM-2-L在性能上仍有很大差距。
Llama2相比Llama1的升级
(1)LLama2训练数据相比LLaMA多出40%,上下文长度是由之前的2048升级到4096,模型理解能力得以提升可以生成更长的文本。
(2)模型训练数据集使用的相比上一代的训练数据增加了 40%,并且更加注重安全&隐私问题。
(3)发布了llama-2-chat。(在公开数据集上预训练以后引入SFT(有监督微调)、RLHF(人类反馈强化学习)+拒绝采样+近端策略优化 (PPO)两个优化算法)。
由于Llama2的性能比较优秀,Meta在2023年8月发布了专注于代码生成的Code-Llama,包含 7B、13B 、 34B、70B 四个版本。
Meta试图证明小模型在足够多的的数据上训练后,效果也能达到甚至超过大模型。

3、llama3技术详解

数据集:llama2相比上一代的训练数据增加了 40%,达到了2T个token,Llama 3 的预训练数据集增加至15T,这些数据都是从公开来源收集的高质量数据集(依旧强调高质量的训练数据集至关重要)。其中包括了4 倍以上的代码 token 以及 30 种语言中 5% 的非英语token(这意味着LLAMA-3在代码能力以及逻辑推理能力的性能将大幅度提升)。微调数据包括公开可用的指令数据集,以及超过1000万个人工注释的示例。预训练和微调数据集均不包含元用户数据。(主要还是以英语为主了,中文占比依旧很低,前面测试也可以看出来) 。通过开发一系列数据过滤流程:包括使用启发式筛选器、NSFW 筛选器、语义重复数据删除方法和文本分类器来预测数据质量。以及使用 Llama 2 为 Llama 3 提供支持的文本质量分类器生成训练数据。
模型结构:Llama 3 中选择了相对标准的纯解码器decoder-only transformer架构,总体上与 Llama 2 相比没有重大变化。在 Llama 2 中只有34B,70B使用了分组查询注意 (GQA),但为了提高模型的推理效率,Llama 3所有模型都采用了GQA。
分词器:与Llama 2不同的是,Llama 3将tokenizer由sentencepiece换成tiktoken,词汇量从 的32K增加到 128K,增加了 4 倍。更大的词汇库能够更高效地编码文本,增加编码效率,可以实现更好的下游性能。不过这也会导致嵌入层的输入和输出矩阵尺寸增大,模型参数量也会增大。
序列长度:输入上下文长度从 4096(Llama 2)和 2048(Llama 1)增加到 8192。但相对于GPT-4 的 128K来说还是相当小。
缩放定律:对于像 8B 参数这样“小”的模型来说,扩展法则 Chinchilla 最优训练计算量对应于 ~200B Tokens,但是Meta使用到了 15T Tokens。从目前模型效果来看,Meta使用的Scaling Law法则是非常有效的,Meta得到了一个非常强大的模型,它非常小,易于使用和推理,而且mate表示,即使这样,该模型似乎也没有在标准意义上“收敛”,性能还能改善。这就意味着,一直以来我们使用的 LLM 训练是不足的,远远没有达到使模型收敛的那个点。较大的模型在训练计算较少的情况下可以与较小模型的性能相匹配,但考虑到推理过程中使效率更高,还是会选择小模型。如此说来训练和发布更多经过长期训练的甚至更小的模型,会不会是以后大模型发展的一个方向?
系统:为了训练最大的 Llama 3 模型,Meta结合了三种类型的并行化:数据并行化、模型并行化和管道并行化。最高效的实现是在 16K GPU 上同时训练时,每个 GPU 的计算利用率超过 400 TFLOPS。在两个定制的 24K GPU 集群上进行了训练。
指令微调:为了在聊天用例中充分释放预训练模型的潜力,Meta对指令调整方法进行了创新。训练方法结合了监督微调 (SFT)、拒绝采样、近端策略优化 (PPO) 和直接策略优化 (DPO) 的组合。这种组合训练,提高了模型在复杂推理任务中的表现。
模型效果:LLaMA 3有基础版,和 instruct两个版本。每个版本拥有 8B 和 70B 两种参数规模的模型,它们在多项行业基准测试中展示了最先进的性能,而且 instruct效果相当炸裂。

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值