大家读完觉得有意义记得关注和点赞!!!
LLaMA2 用了两个 GPU 集群进行训练:
- RSC 集群:
200Gbps InfiniBand + 400W A100 GPU; - 生产集群:
200Gbps RoCE + 350W A100 GPU;
RoCE + 350W GPU 的集群,经过优化的代码能达到 IB + 400W GPU 集群性能的 90%。 总共耗费 3.3M GPU-hour。
目录
1.2 开源 LLaMA2/LLaMA2-Chat,填补空白
预训练碳足迹(Carbon Footprint of Pretraining)
2.3 LLaMA 2 预训练模型性能评估(Pretrained Model Evaluation)
3.1.2 标注质量为王(Quality Is All You Need)
3.1.3 一些微调细节(Fine-Tuning Details)
3.3 System Message for Multi-Turn Consistency
5.1 新发现与评论(Learnings and Observations)
In-Context Temperature Rescaling
LLaMA2-Chat 时间感知能力(Temporal Perception)
5.3 负责任的发布策略(Responsible Release Strategy)
6.3 Known LLM Safety Challenges
摘要
本文介绍 LLaMA 2,我们开发的一组预训练和微调大语言模型集,
- LLaMA2 参数规模
7b~70b; - 微调模型称为
LLaMA2-Chat,针对对话场景进行了优化。
与其他开源聊天模型进行比较,
- 大多数基准测试中,LLaMA2 性能更好;
- 有用性和安全性方面,人工评估(human evaluations)的结果也证明 LLaMA2 更优。
因此,LLaMA2 可以作为一个不错的闭源模型替代方案。 本文将详细描述我们是如何对 LLaMA2-Chat 进行微调和安全性改进的。 社区可以在我们的工作基础上进一步开发迭代,为 LLM 的负责任发展做出贡献。
1 引言
大语言模型(LLM)作为功能强大的人工智能助手,在涉及跨领域、需要专业知识 (例如编程和创意写作)的复杂推理任务中表现出了巨大的潜力。 LLM 通过聊天窗口与人类进行交互,简单方便,因此一经推出就迅速打开大众市场。
如果考虑到背后的训练方法论本质上非常简单直观,
- 首先,在大量自监督数据上对
auto-regressive transforer进行预训练, - 然后,通过基于人类反馈的强化学习(
RLHF)等技术与人类偏好对齐。
就更会震惊于 LLM 的能力是多么出众。
1.1 现状:没有能与 ChatGPT 匹敌的开源大模型
大模型的训练方法很简单,但是,极高的算力要求限制了它的发展, 结果是只有少数几家公司有财力进行研究和训练。 虽然之前已经开源了一些预训练的大模型,包括
- BLOOM(Scao 等,2022)
- LLaMA-1(Touvron 等,2023)
- Falcon(Penedo 等,2023)
这些模型的性能已经与 GPT-3(Brown 等,2020)和 Chinchilla(Hoffmann 等,2022) 等闭源预训练模型相当,但它们还无法成为 ChatGPT、BARD 和 Claude 等性能更强大的闭源、生产级大模型的替代品,
- 后者做了大量微调以与人类偏好对齐, 极大增强了它们的可用性和安全性;
- 这一过程需要大量的计算和人工标注成本,并且通常不透明,也难以轻松照搬, 因此限制了社区在 advance AI alignment research 方面的进展。
1.2 开源 LLaMA2/LLaMA2-Chat,填补空白
本文介绍我们开源的 LLaMA2,这是一组预训练和微调的 LLM,包括 LLaMA2 和 LLaMA2-Chat。 与其他开源 chat models 进行比较,
- 大多数基准测试中,LLaMA2 性能更好;
- 有用性和安全性方面,人工评估(human evaluations)的结果也证明 LLaMA2 更优。
因此,LLaMA2 可以作为一个不错的闭源模型替代方案。 本文将详细描述我们是如何对 LLaMA2-Chat 进行微调和安全性改进的, 这样社区就能够在我们的工作基础上进一步开发迭代,为 LLM 的负责任发展做出贡献。 具体来说,我们向公众(the general public)开源以下模型,供研究和商业使用(research and commercial use):
-
LLaMA2:这是 LLaMA 1 的升级版
- 新组合了公开可用数据(a new mix)进行训练,数据集大小
+40%(1.4T tokens -> 2T tokens), - 模型的上下文长度翻倍,
- 采用了 grouped-query attention(Ainslie 等,2023)。
本次发布 7B/13B/70B 参数的 LLaMA2 模型。 34B 的模型本文会给出性能参数,但发布要晚一些(还在做安全测试)。
- 新组合了公开可用数据(a new mix)进行训练,数据集大小
-
LLaMA2-Chat:LLaMA2 的微调版本,针对对话场景进行了优化。
- 同样发布 7B/13B/70B 参数的版本。
我们相信,在安全的前提下,LLM 的开放将对社会产生积极影响。但注意,和所有 LLM 一样,LLaMA2 是一项新技术, 在使用中存在潜在风险(Bender 等,2021b;Weidinger 等,2021;Solaiman 等,2023),
- 目前的测试仅涵盖了英语。 在部署任何 LLaMA2-Chat 应用之前,开发者应针对其特定场景进行安全测试和调优;
- 我们提供了一份负责任使用指南和代码示例,以促进 LLaMA2 和 LLaMA2-Chat 的安全部署。更多信息见 5.3 节。
一些资料链接:
- ai.meta.com/resources/models-and-libraries/llama/
- ai.meta.com/llama
- github.com/facebookresearch/llama
1.3 LLaMA2 是如何炼成的:训练+微调鸟瞰

图 4:LLaMA2-Chat 训练和调优过程。
炼丹四步:
- 使用公开数据预训练(自监督学习),得到
LLaMA2; - 对 LLaMA2 进行监督微调(SFT),得到一个初始版本的
LLaMA2-Chat; - 人对 LLaMA2-Chat 回答进行反馈和标注,得到两个奖励模型(分别针对有用性和安全性);
- 通过 基于人类反馈的强化学习(RLHF)/ rejection sampling / PPO,对 LLaMA2-Chat 进行(多次)迭代。
1.4 本文组织
本文其余部分组织如下:
- 第 2 节:预训练方法
- 第 3 节:微调方法
- 第 4 节:模型安全方法
- 第 5 节:核心观察和见解
- 第 6 节:相关工作
- 第 7 节:总结
2 预训练(Pretraining)
为了打造 LLaMA2 这个新系列模型,我们采用了 Touvron 等(2023)的预训练方法, 使用了一个优化的自回归 transformer,并进行了一些改进以提高性能, 包括,
- 更健壮的数据清洗;
- 更新的训练数据比例;
- 更多的训练 tokens;
- 更长的上下文;
-
使用 grouped-query attention(GQA),通过组查询来提高推理性能。
GQA 优化推理的基本原理:大模型推理的极限:理论分析、数学建模与 CPU/GPU 实测(2024)。译注。
表 1 比较了 LLaMA 2 与 LLaMA 1 的一些属性:
| LLaMA | LLaMA 2 | |
|---|---|---|
| 训练数据 | 见 LLaMA 论文 | 基于公开可用数据新组合的数据集 |
| 参数数量 | 7b / 13b / 33b / 65b |
7b / 13b / 34b / 70b |
| 上下文长度 | 2k / 2k / 2k / 2k |
4k / 4k / 4k / 4k |
| GQA | NO/NO/NO/NO | NO/NO/YES/YES |
| 训练 tokens 数量 | 1T / 1T / 1.4T / 1.4T |
2T / 2T / 2T / 2T |
| Learning Rate | 3.0*10-4 / 3.0*10-4 / 1.5*10-4 / 1.5*10-4 |
3.0*10-4 / 3.0*10-4 / 3.0*10-4 / 3.0*10-4 |
表 1:LLaMA 1 和 2 模型对比。Token 数量只计算了预训练数据。所有模型都是用 global batch-size of 4M tokens 训练的。
2.1 预训练数据(Pretraining Data)
- 组合了一些公开可用的数据源,其中不包含来 Meta 产品或服务的数据。
- 某些网站包含了很多个人信息,我们努力删掉了其中的此类信息。
- 训练了 2T(2 万亿)个 token,这在性能和成本之间提供了不错的折中(performance–cost trade-off),
- 对大部分事实类数据源进行 up-sampling,以增加知识减少幻觉( increase knowledge and dampen hallucinations)。
我们进行了大量预训练数据研究,这样用户可以更好地了解 LLaMA2 的潜在能力和限制;详细结果见 4.1 节。
2.2 训练细节(Training Details)
我们采用了 Llama 1 的大部分预训练设置和模型架构。
- 使用标准的 transformer 架构(Vaswani 等,2017),
- 使用 RMSNorm 进行预归一化(Zhang 和 Sennrich,2019),
- 使用 SwiGLU 激活函数(Shazeer,2020),以及旋转位置嵌入(rotary positional embeddings,RoPE,Su 等,2022)。
与 Llama 1 相比,主要的架构差异包括
- 上下文长度(翻倍,
2k -> 4k) - 组查询注意力(GQA, grouped-query attention)
附录 A.2.1 中详细介绍了这些差异,并进行了 ablation experiments 以证明它们的重要性。
2.2.1 超参数(Hyperparameters)
- 使用 AdamW 优化器进行训练(Loshchilov 和 Hutter,2017),其中 β1 = 0.9,β2 = 0.95,eps = 10-5。
- 使用余弦学习率调度(a cosine learning rate schedule),热身阶段为 2000 steps,并将最终学习率衰减到峰值学习率的 10%。
- 使用 0.1 的权重衰减(weight decay)和 1.0 的梯度裁剪(gradient clipping)。
图 5(a)显示了使用这些超参数训练的 LLaMA2 的训练损失,

图 5:LLaMA2 Training Loss。注意即使用 2T tokens 进行训练,这些模型仍然没有饱和的迹象。
2.2.2 分词器(Tokenizer)
LLaMA2 使用的分词器与 Llama 1 相同;采用了一种字节对编码(bytepair encoding,BPE)算法(Sennrich 等,2016), 我们使用了 SentencePiece(Kudo 和 Richardson,2018)的实现。
与 Llama 1 一样,
- 将所有 numbers 拆分为单个 digits,
- 使用 bytes 来分解未知的 UTF-8 字符。
vocabulary size 为 32k tokens。
2.2.3 训练硬件和碳足迹
训练硬件(Training Hardware)
我们在 Meta 的超级集群(Research Super Cluster,RSC,Lee 和 Sengupta,2022) 以及内部生产集群上预训练 LLaMA2。 两个集群 GPU 都是 NVIDIA A100,网络也都是 200Gbps 互联, 但互联方案和 GPU 最大功耗不同:
- RSC 集群:
200Gbps InfiniBand + 400W GPU; - 生产集群:
200Gbps RoCE + 350W GPU;RoCE 成本更低。
结论:RoCE + 350W GPU 的集群,经过优化的代码能达到 IB + 400W GPU 集群性能的 90%。
预训练碳足迹(Carbon Footprint of Pretraining)
根据之前的研究(Bender 等,2021a;Patterson 等,2021;Wu 等,2022;Dodge 等,2022), 结合 GPU 设备的功耗估计以及碳效率,我们来计算 LLaMA2 预训练所产生的碳排放量。注意,
- GPU 的实际功耗取决于其利用率(util),我们估计 GPU 功耗使用的是热设计功率(
TDP),二者可能会有所差异; - 我们的计算不考虑其他电力需求,例如互连、非 GPU 服务器功耗、数据中心制冷功耗等;
- 与 AI 硬件(如 GPU)生产相关的碳排放量可能会增加整体碳足迹(Gupta 等,2022)。
计算结果见表 2,

表 2:预训练期间的 CO2 排放。Time: total GPU time required for training each model. Power Consumption: peak power capacity per GPU device for the GPUs used adjusted for power usage efficiency. 100% of the emissions are directly offset by Meta’s sustainability program, and becausewe are openly releasing these models, the pretraining costs do not need to be incurred by others.
A100-80GB(400W/350W TDP)机器,总共耗费了3.3M GPU-hour;- 估算的总排放量为
539 tCO2eq,可 100% 由 Meta 的可持续计划抵消; - LLaMA2 的开源还意味着其他公司不需要承担这些预训练成本,节省了更多的全球资源。
2.3 LLaMA 2 预训练模型性能评估(Pretrained Model Evaluation)
本节介绍在标准学术基准测试中,LLaMA 1/2 基础模型、MosaicML 预训练 transforer (MPT)及 Falcon(Almazrouei 等,2023)的结果。 所有评估都使用我们的内部评估库。我们在内部重复了 MPT 和 Falcon 模型的结果。 对于这些模型,始终选择我们评估框架和所有公开报告的结果中的最高分(the best score between our evaluation framework and any publicly reported results)。
基准测试分为以下几类(单个基准测试的结果见 A.2.2):
- 代码。LLaMA 在 HumanEval(Chen 等,2021)和 MBPP(Austin 等,2021)上的平均 pass@1 分数。
- 常识推理。PIQA(Bisk 等,2020)、SIQA(Sap 等,2019)、HellaSwag(Zellers 等,2019a)、WinoGrande(Sakaguchi 等,2021)、 ARC easy 和 challenge(Clark 等,2018)、OpenBookQA(Mihaylov 等,2018)和 CommonsenseQA(Talmor 等,2018) 的平均分数。CommonSenseQA 的 7-shot 结果和其他所有基准测试的 0-shot 结果。
- 世界知识。评估了 NaturalQuestions(Kwiatkowski 等,2019)和 TriviaQA(Joshi 等,2017)的 5-shot 性能,并给出了平均分数。
- 阅读理解。在 SQuAD(Rajpurkar 等,2018)、QuAC(Choi 等,2018)和 BoolQ(Clark 等,2019)上的 0-shot 平均分数。
- 数学。GSM8K(8 shot)(Cobbe 等,2021)和 MATH(4 shot)(Hendrycks 等,2021)基准测试在 top 1 的平均分数。
- 聚合基准测试。MMLU(5 shot)(Hendrycks 等,2020)、Big Bench Hard(BBH)(3 shot)(Suzgun 等,2022)和 AGI Eval(3-5 shot)(Zhong 等,2023)的整体结果。 对于 AGI Eval,只评估英文任务并给出平均分数。
2.3.1 与开源基座大模型对比
表 3 总结了一系列常见基准测试的整体性能。安全基准测试见 4.1 节中。

表 3:与其他开源的基座大模型对比性能,基于一些学术基准测试
可以看出,
- LLaMA2 优于 LLaMA1;
- 与 Llama 1 65B 相比,
LLaMA2 70B在 MMLU 和 BBH 上的结果分别提高了约 5 和 8 个百分点; - 除了 Code 基准测试,LLaMA2 7B 和 30B 模型在其他类别上都优于相应大小的 MPT 模型;
- LLaMA2 7B 和 34B 在所有基准测试类别上优于 Falcon 7B 和 40B 模型。
- LLaMA2 70B 模型优于所有开源模型。
2.3.2 与闭源大模型对比
除了开源模型,我们还将 LLaMA2 70B 的结果与闭源模型进行了比较。如表 4 所示,

表 4:基于学术基准测试,对比 LLaMA2 和闭源模型。 GPT-3.5/GPT-4 的结果来自 OpenAI (2023);PaLM 的结果来自 Chowdhery et al. (2022); PaLM-2-L 的结果来自 Anil et al. (2023).
- LLaMA2 70B 在 MMLU 和 GSM8K 上与 GPT-3.5(OpenAI,2023)接近,但在编码基准测试上存在显著差距;
- LLaMA2 70B 与 PaLM(540B)(Chowdhery 等,2022)相当,甚至比后者更好;
- LLaMA2 70B 与 GPT-4/PaLM-2-L 仍存在较大差距。
我们还分析了潜在的数据污染,详细信息见 A.6 节。
3 微调(Fine-tuning)
LLaMA2-Chat 经过了几个月的对齐(alignment)迭代, 包括指令微调(instruction tuning)和 RLHF,这些都需要大量的计算和标注资源。 本节介绍我们的一些实验及发现。
3.1 监督式微调(SFT)
3.1.1 使用公开的指令微调数据
与 Touvron 等人(2023)类似,我们使用了公开可用 instruction tuning 数据(Chung 等,2022)开始 SFT 阶段。
3.1.2 标注质量为王(Quality Is All You Need)
还有一些不同来源的第三方 SFT 数据,但我们发现其中一些的多样性和质量欠佳 —— 尤其是对于将 LLM 对齐到对话式(dialogue-style)指令时。 因此,我们首先收集了数

最低0.47元/天 解锁文章
1510

被折叠的 条评论
为什么被折叠?



