大模型学习笔记------Llama 3模型架构
- 1、整体网络结构
- 2、主要创新点
- 3、其他关键改进点
LLaMA(Large Language Model Meta AI)系列模型是Meta发布并开源,分别在2023年2月、2023年7月和2024年4月发布了经历了LLaMA 1、LLaMA 2和LLaMA 3模型。本文只讲相对比较成熟、性能最优的LLaMA 3模型的架构,LLaMA 3模型主要是两个版本,分别是8B和70B。
1、整体网络结构
Llama 3模型基于标准的Transformer架构进行了多项改进,包括更高的效率和更好的性能。两个架构的对比如下图所示:
从上图整体可以看出,Llama 3模型实质上去掉了Transformer部分的编码部分,是Transformer解码部分的改进版本,即Transformer Decoder-Only,采用仅解码器架构,专注于生成式任务(文本续写、对话等)。
2、主要创新点
Llama 3模型具体改进如下所示:
- 使用RMS Norm代替了常用的Layer Norm,计算量减少 20% 且效果持平,加速训练;
- 激活函数由SwiGLU代替ReLU或是GELU,增强非线性表达能力。;
- 位置编码由原来的正弦-余弦绝对位置编码或是相对位置编码修改为RoPE(Rotary Position Embedding)编码;
- 在70B模型中,采用 GQA 替代传统 MHA(Multi-Head Attention),将查询头分组共享键/值头,显著降低推理显存占用(约 30%),同时保持生成质量;在8B模型中,依然采用MHA结构。
3、其他关键改进点
Llama 3模型除了以上改进点外,还有一些小的改进点对整个模型的鲁棒性和泛化能力的提高也有至关重要的作用,具体如下:
- Flash Attention V2 集成:通过硬件感知的 IO 优化,提升训练效率,70B 模型训练速度较前代提升 40%;
- 前馈网络(FFN)扩展:增加隐藏层维度倍增,如70B模型的FFN中间层维度达到了28K,参数占比超过了70%;
- 15T Tokens 语料:涵盖 30+ 种语言,代码数据占比提升至 10%,强化推理能力。数据清洗采用多级过滤(启发式规则 + 模型打分 + 人工审核);
- Tokenizer 升级:词表扩展至 128K(前代 32K),支持更细粒度分词,降低序列长度 20%。通过 BPE 算法 联合训练多语言分词,减少低资源语言分词错误;
LLaMA 3 通过 架构深挖(更宽更深的网络)、注意力机制创新(GQA)、长上下文优化(RoPE 增强)和 训练效率突破(Flash Attention),在保持推理效率的同时实现 SOTA 性能。70B 版本在 MMLU、GSM8K 等基准测试中超越 GPT-3.5,接近 GPT-4 Turbo 水平,标志着开源模型步入顶尖行列。