分享好友 最新动态首页 最新动态分类 切换频道
LLaMA详细解读
2024-12-26 20:55

LLaMA 是目前为止,效果最好的开源 LLM 之一。精读 LLaMA 的论文及代码,可以很好的了解 LLM 的内部原理。本文对 LLaMA 论文进行了介绍,同时附上了关键部分的代码,并对代码做了注释。

LLaMA是一个系列模型,模型参数量从7B到65B。在大部分的任务上,LLaMA-13B强于GPT-3(175B)。LLaMA-65B的性能,可以和最好的LM相媲美,如Chinchilla-70B 和 PaLM-540B。

一般而言,模型越大,效果越好。然而有文献指出[1],当给定计算量的预算之后,最好的performance,并不是最大的模型,而是在一个小模型上用更多的数据进行训练。针对给定的计算量预算,scaling laws可以计算如何选择数据量的大小和模型的大小。然而这忽略了inference的预算,而这一点在模型推理时非常关键。当给定一个模型performance目标之后,最好的模型不是训练最快的模型,而是推理最快的模型。尽管在这种情况下,训练一个更大的模型成本会更低。

文献[2]中推荐,训练一个 10B 的模型,需要 200B 的 tokens,而本文的实验发现,一个7B的模型,经过 1T tokens 训练之后,performance 仍然在增加。本文的目标在于,通过在超大规模的数据上训练,给出一系列可能最好 performance 的 LLM。

2.1 数据集

一共有1.4T的tokens,大部分的训练数据都只用了一次,除了Wikipedia 和 Books 使用了大概2个epochs。

Pre-training data

2.2 tokenizer

使用byte pair encoding (BPE) 算法,使用的是Sentence-Piece的实现。所有数字被拆分为单独的digit,所有未知的UTF-8 字符,回退到字节来进行分解。因此,LLaMA 可以通过byte 的方式,构造出很多不在 vocab 中的字符,从而也具有较好的多语言能力。

使用了基于transformer的架构,并做了如下3点改进

3.1 Pre-normalization

为了提高训练的稳定性,对每个transformer层的输入进行归一化,而不是输出进行归一化。

同时,使用 RMS Norm 归一化函数。RMS Norm 的全称为 Root Mean Square layer normalization。与 layer Norm 相比,RMS Norm的主要区别在于去掉了减去均值的部分,计算公式为

RMS Norm 的作者认为这种模式在简化了Layer Norm 的计算,可以在减少约 7%∼64% 的计算时间[3]。

 

3.2 SwiGLU

SwiGLU 在论文[4] 中提出,相比于其他的激活函数变体,可以取得 log-perplexity 的最优值(和 GEGLU 并列)。

GLU Variants Improve Transformer

SwiGLU 及几种类似变体的计算公式如下

 

从代码可以看到 LlamaMLP 中一共有 3 个 Linear 层,原因就在于 SwiGLU 激活函数比类似 ReLU 的激活函数,需要多一个 Linear 层进行门控。

3.3 RoPE

RoPE 的核心思想是“通过绝对位置编码的方式实现相对位置编码”,可以说是具备了绝对位置编码的方便性,同时可以表示不同 token 之间的相对位置关系。[5] 不同于原始 Transformers 论文中,将 pos embedding 和 token embedding 进行相加,RoPE 是将位置编码和 query (或者 key) 进行相乘。具体如下

Rotary Position Embedding

其中,左侧的矩阵 𝑅𝑚 表示位置第 𝑚 个位置的位置编码,右侧的向量 𝑞𝑖 表示对应位置的 query 向量。两者相乘,即可得到增加了位置信息的 query (或者 key)。由于 𝑅𝑚 的稀疏性,上述矩阵乘法可以等价于

Rotary Position Embedding 的简化实现

RoPE的代码实现如下[6]

 
 

加速训练

  • 使用了xformers库。
  • 减少了activation checkpointing 中,重新计算 activation 的计算量。手动实现 transformer 层的反向传递函数,保存了计算成本高的 activations,例如线性层的输出。
  • 通过使用 model parallelism 和 sequence parallelism 来减少显存的使用量。
  • 尽可能地将 activations 的计算和GPU之间的通讯进行并行。

加速效果

  • 65B的模型,在2048个80G的A100 GPU上,可以达到380 tokens/sec/GPU的速度。训练1.4T tokens需要21天。

Massive Multitask LanguageUnderstanding

LLaMA-13B 优于 GPT-3,尽管只有1/10大小。 LLaMA-65B 是可以与 Chinchilla-70B 和 PaLM-540B 这种最佳的LLM相竞争的模型。经过微调之后,LLaMA的效果有显著的提升。

未来打算发布在更大的语料上预训练上的更大的模型,因为随着数据和模型的增大,可以看到 performance 的稳定提升。

优化器

LLaMA使用了AdamW优化器进行训练,优化器的超参数为 =0.9, =0.95

(关于AdamW这个大模型训练的优化器,可参考当前训练神经网络最快的方式:AdamW优化算法+超级收敛 | 机器之心[6])

下表为LLaMA不同参数大小模型的具体设置

表2: LLaMA不同参数大小模型的具体设置

参数维度(dim)head个数layer层数学习率batch sizetoken数量6.7B409632323.0e−44M1.0T13.0B512040403.0e−44M1.0T32.5B665652601.5e−44M1.4T65.2B819264801.5e−44M1.4T

训练结果

如下图所示,7B、13B、33B和65模型的训练损失均呈下降趋势,且在所有token上训练完后,loss仍没有收敛的趋势。因此,在此时,增加训练的token数量,仍然可以使模型继续学习。

(LLaMA2就是在此结论的基础上,使用了更多的token进行训练

高效部署

研究团队做了一些优化来提高模型的训练速度

  1. 因果多头注意的有效实现使用因果多头注意的有效实现来减少内存使用和运行时间。该实现可在xformers库中获得,其灵感来自于固定激活值显存优化和FlashAttention。这是通过不存储注意力权重和不计算由于语言建模任务的因果性质而被掩盖的key/query分数来实现的。

  2. 激活重计算为了进一步提高训练效率,通过检查点减少了在向后传递过程中重新计算的激活量。更准确地说,节省了计算成本高的激活,比如线性层的输出。这是通过手动实现transformer层的backward函数来实现的,而不是依赖于PyTorch的autograd。

  3. 模型并行和序列并行为了从这种优化中充分受益,需要通过使用模型和序列并行来减少模型的内存使用。此外,还尽可能地重叠激活的计算和gpu之间通过网络的通信。

笔者NOTE:LLM的高效训练是LLM工程实现的基础,对于这部分,各位小伙伴还是需要深入地了解一下各种并行策略、因果多头注意的有效实现、 激活重计算、混合精度训练。

最新文章
经验材料:市场监督管理局多措并举打造“有需必应,无事不扰”营商环境.docx
一、主要做法(一)坚持“有需必应”,及时高效回应企业诉求。一是建立企业诉求统一调度管理机制。市、县优化营商环境工作牵头部门统一办理、转办、督办、反馈企业反映的咨询求助、投诉举报和维权事项,负责办理回应情况的跟踪、调度、考评
降低Linux门槛,可视化面板工具推荐
Linux命令行操作功能强大的同时,也让一些用户望而生畏。Linux面板工具可以通过Web页面,对服务器进行可视化操作,降低Linux使用门槛。这里推荐两个Linux可视化面板工具。Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL
自助无人棋牌室微信小程序系统开发(现成源码搭建)
2020年09月08日潘锦霖500系统开发,软件开发,APP开发,源码搭建,定制软件,社交电商,云电商,新媒体电商,O2O,F2C,B2C,B2B2C,F2B2C,C2B,B2C2N,S2B2C,微商城,App,手机网页,PC商城,小程序,微商管理系统,扫码红包,质量追溯,分销系统, 全返系统,分红
氢发电|限价5.7亿,大庆市40MW氢燃料电池发电项目启动EPC招标
氢云链:氢能和燃料电池产业平台。微信:qingyl2018,申请入群请附名片日前,大庆市40MW氢燃料电池发电项目EPC招标工作启动。招标人为大庆晨龙氢电新能源有限公司,最高投标限价为5.7亿元人民币。根据项目备案信息,该项目由大庆晨龙氢电新
蜘蛛池,提升网站收录与排名的创新策略,蜘蛛池出租购买,超级蜘蛛池出租平台
蜘蛛池是一种创新策略,旨在提升网站收录与排名。通过出租或购买超级蜘蛛池,网站可以获得更多的爬虫访问和链接,从而提高搜索引擎的收录率和排名。这种策略被广泛应用于各种网站,包括电商、新闻、博客等,以快速提升网站的流量和曝光度。
用AI生成超逼真美女写真,揭秘最强AI工具及使用攻略!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个科技飞速发展的时代,AI画图工具已经成为了许多创意工作者和爱好者的得力助手。从传统
顺达电脑厂与神云科技联合取得重要专利,重塑管理引擎未来
金融界2024年12月14日消息,先来看看什么是一项有影响力的专利?近日,佛山市顺德区顺达电脑厂有限公司与神云科技股份有限公司联合获得了一项名为“排除管理引擎运作异常的控制方法”的专利,授权公告号为CN113687998B。这项专利的申请时间
雅虎有类似谷歌的“拒绝链接”工具吗?
在SEO的浩瀚宇宙中,链接管理无疑是至关重要的一环。作为一名资深的SEO从业者,我深知链接对于网站权重和排名的重要性。而谷歌推出的“拒绝链接”工具(Disavow Links Tool),更是为我们在管理外部链接时提供了有力的武器。那么,作为搜索
虎门天虹时尚盛宴:内衣模特秀点亮潮流新风尚
虎门天虹内衣模特秀是一场备受瞩目的时尚盛会,汇聚了众多优秀的内衣品牌和模特。活动现场气氛热烈,模特们身着各式各样的内衣,展现出优雅的身姿与独特的风格,吸引了不少观众的目光。此类活动不仅展示了最新的内衣款式,也推动了本地时尚
谷歌浏览器2021最新版下载安装详细指南
摘要:本指南介绍了谷歌浏览器2021最新版的下载安装步骤。用户可以通过访问谷歌官方网站或其他可信赖的下载平台来获取浏览器安装文件,按照提示完成安装过程。本指南简洁明了,旨在帮助用户快速完成谷歌浏览器的下载和安装。在下载和安装谷
相关文章
推荐文章
发表评论
0评