摘要
Llama 2是一组经过预训练和微调的大语言模型,参数规模从70亿到700亿不等,其中,Llama 2-Chat是针对对话用例进行优化的微调模型。在大多数基准测试中优于开源chat模型,在人类评估中表现出色,特别是在有用性和安全性方面。因此,Llama 2可能是替代闭源模型的一个合适选择。作者提供了对Llama 2-Chat关于微调和安全性改进的详细描述。
1 引言
图中展示了Llama 2-Chat与其他开源和闭源模型在安全性人类评估上的结果。违反率,越低表示越安全。
发布以下模型,供研究和商业用途:
Llama 2,Llama 1的更新版本,发布了7B、13B、70B,训练了34B但并未发布
Llama 2-Chat,Llama 2的微调版本,针对对话用例进行了优化,发布了7B、13B、70B
图中展示了Llama 2-Chat的训练过程:从使用公开可用的数据源对Llama 2进行预训练开始,之后通过应用有监督微调(STF)来创建Llama 2-Chat的初始版本,再使用人类反馈强化学习(RLHF)方法,具体是通过拒绝采样和近端策略优化(PPO),对模型进行迭代优化。在RLHF阶段,累积迭代奖励建模数据与模型改进并行进行,对于确保奖励模型保持在分布内至关重要。
2 预训练
为了创建Llama 2模型系列,以Llama 1的预训练方法为基础,使用了优化过的自回归transformer模型,使用更严格的数据清洗,更新了数据混合,训练token总数增加了40%,上下文长度增加一倍,并使用了分组查询注意力机制(grouped-query attention, GQA)来加速大模型的推理。
表中比较了Llama 2和Llama 1的详细数据。所有模型都使用4M(百万)token的全局批量大小进行训练。较大的模型34B和70B使用GQA来提高推理可扩展性
2.1 预训练数据
训练语料库包含了公开可用资源的混合数据,并且不包括来自Meta产品或服务相关的数据。为了保护个人隐私,删除了某些含有大量个人信息网站的数据。训练数据量为2万亿个token,这样可以在性能和成本之间取得良好的平衡。
对最真实的来源进行上采样,增加知识并减少知识幻觉。进行了各种预训练数据调查,以便用户能够更好的理解模型的潜在能力和局限性。
2.2 训练细节
采用了大部分Llama 1的预训练设置和模型架构,包括标准 Transformer 架构、使用 RMSNorm 的预归一化、SwiGLU 激活函数和旋转位置编码。与Llama 1相比,主要架构差异包括增加的上下文长度和分组查询注意力机制(grouped-query attention