文章目录
- 概览
- LLaMA和LLaMA2的区别
- Abstract
- Introduction
- Pretraining
- Fine-tuning
-
- [1. 概括](#1. 概括)
- [2、Supervised Fine-Tuning(SFT)](#2、Supervised Fine-Tuning(SFT))
- [3、⭐Reinforcement Learning with Human Feedback(RLHF)🔺](#3、⭐Reinforcement Learning with Human Feedback(RLHF)🔺)
-
- 总览
- [Training Objectives:](#Training Objectives:)
- [Iterative Fine-Tuning:](#Iterative Fine-Tuning:)
- [System Message for Multi-Turn Consistency](#System Message for Multi-Turn Consistency)
- [RLHF Results](#RLHF Results)
- Safety
-
- [Safety in Pretraining](#Safety in Pretraining)
- [Safety Fine-Tuning](#Safety Fine-Tuning)
- [Red Teaming](#Red Teaming)
- [Safety Evaluation of Llama 2-Chat](#Safety Evaluation of Llama 2-Chat)
- Discussion
-
- [Learnings and Observations](#Learnings and Observations)
- [Limitations and Ethical Considerations](#Limitations and Ethical Considerations)
- [Responsible Release Strategy](#Responsible Release Strategy)
- [Related Work](#Related Work)
- Conclusion
- Appendix
🍃作者介绍:双非本科大四网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发,目前开始人工智能领域相关知识的学习
🦅个人主页:@逐梦苍穹
📕所属专栏:🌩
专栏
① :人工智能; 🌩专栏
② :速通人工智能相关论文🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹
概览
在这篇论文的
"Fire-tuning"
部分涉及到一个"PPO"
算法,其中需要理解一个叫做"KL散度"
的概念和公式,请大家移步我的这篇文章:
KL散度(Kullback-Leibler)
:https://xzl-tech.blog.csdn.net/article/details/142303344
《Llama 2: Open Foundation and Fine-Tuned Chat Models》这篇论文介绍了Meta开发的Llama 2系列大型语言模型(LLMs),这些模型作为现有的闭源LLMs(如GPT-3.5和GPT-4)的开源替代品。
以下是论文的主要内容概述:
- 简介:Llama 2 包含一组经过预训练和微调的大型语言模型,参数规模从70亿到700亿不等。它包括一个名为Llama 2-Chat的变体,该变体专门针对对话和会话使用场景进行了优化。根据基准测试和人类评估,Llama 2 模型在很多方面优于许多开源对话模型,并且在有用性和安全性方面可以作为闭源模型的替代品。
- 预训练:Llama 2模型在一个公开可用的数据混合集上进行训练,训练数据不包含Meta自身产品或服务的数据。预训练过程使用了2万亿个tokens,并努力删除了来自包含大量个人信息网站的数据。与前代模型(Llama 1)相比,Llama 2的架构在多个方面进行了改进,比如增加了上下文长度、更好的数据清洗以及使用分组查询注意力(Grouped-Query Attention)来提升大规模推理的可扩展性。
- 微调 :
- 监督微调(SFT):使用高质量的数据集将模型对齐到对话风格的指令上。该过程强调质量而非数量,最终数据集包含了27,540个高质量的注释。微调过程使用余弦学习率调度,重点改善针对对话场景的回答。
- 基于人类反馈的强化学习(RLHF):这种方法用于进一步使模型与人类偏好对齐。它包括收集人类偏好数据,注释者在生成的样本中选择更好的回答。开发了两个奖励模型------一个用于评估帮助性,另一个用于评估安全性,以引导RLHF过程,优化LLMs在这两个指标上的表现。
- 安全性 :
- Llama 2 在预训练和微调过程中纳入了稳健的安全框架。安全性通过"红队测试"(使用对抗性提示测试模型)和迭代评估等技术进行评估。论文讨论了安全微调的不同阶段及其结果,展示了在减轻安全问题方面的持续改进。
- 该模型的回答设计旨在避免有害或不安全的输出,即使在对抗条件下也是如此,重点确保模型在现实世界中的负责任和安全的应用。
- 模型表现 :
- Llama 2 在多个学术基准测试(如常识推理、世界知识和阅读理解)上表现优于其前代模型Llama 1和其他开源模型(如MosaicML和Falcon)。
- Llama 2-Chat(经过对话优化的变体)与开源和闭源模型(如GPT-3.5)进行了对比评估,在多个关键领域显示出竞争力。
- 讨论与结论 :
- 作者总结了在开发Llama 2过程中学到的经验和观察,强调数据质量、安全性和负责任的模型发布策略的重要性。他们讨论了在现实场景中部署此类模型的局限性和伦理考虑,鼓励社区进一步参与以增强LLMs的安全性和可用性。
LLaMA和LLaMA2的区别
以下是LLAMA和LLAMA2的主要区别:
- 模型规模和架构改进
- LLAMA:LLAMA模型的参数规模从70亿到650亿不等。它们使用的是标准的Transformer架构,并在多个公开可用的数据集上进行训练(如CommonCrawl、C4、GitHub、Wikipedia等)。在架构方面,LLAMA引入了预归一化、SwiGLU激活函数、旋转位置嵌入(RoPE)等改进来增强性能和稳定性。
- LLAMA2:LLAMA2的模型规模更大,参数范围从70亿到700亿。相比于LLAMA,LLAMA2在架构上进行了进一步优化,如增加上下文长度,改进了数据清洗流程,并使用了分组查询注意力(Grouped-Query Attention),使推理阶段更具可扩展性。
- 训练数据和预训练过程
- LLAMA:在预训练过程中使用了1.4万亿个tokens的数据,所有数据都是公开的,没有依赖任何专有或无法访问的数据集。其训练数据包括CommonCrawl、C4、GitHub、Wikipedia、Books3等。
- LLAMA2:LLAMA2使用了2万亿个tokens进行训练,比LLAMA使用的数据量更大。训练数据仍然保持公开数据的原则,但进行了更严格的数据筛选,去除了大量个人信息的数据源。
- 微调和对话模型
- LLAMA:LLAMA主要专注于开放基础语言模型,没有特别优化用于对话或特定任务的模型变体。
- LLAMA2:LLAMA2不仅提供了基础的预训练模型,还推出了专门优化的对话变体Llama 2-Chat。这些模型通过监督微调(SFT)和基于人类反馈的强化学习(RLHF)进行了优化,以增强模型在对话和任务指令场景中的表现。
- 安全性和道德考量
- LLAMA:在模型的训练和部署中考虑了基础的安全性评估,例如避免有害输出和生成有毒内容等。
- LLAMA2:LLAMA2加强了安全性框架,在预训练和微调过程中加入了更为复杂的安全措施,包括对抗性提示测试(红队测试)和多次迭代评估,以确保模型在实际应用中的安全性和可靠性。
- 性能表现
- LLAMA:LLAMA在许多常识推理任务(如BoolQ、PIQA、SIQA等)中表现优异,尤其是LLaMA-13B模型在多个基准测试中超越了GPT-3。
- LLAMA2:LLAMA2的表现进一步提升,尤其是其对话变体Llama 2-Chat在多个基准测试中表现优于现有的开源模型,并与GPT-3.5等闭源模型具有竞争力。
总的来说,LLAMA2是LLAMA的改进版,在模型规模、训练数据、架构优化、安全性、微调方法以及性能表现上都有显著提升。LLAMA2通过更大的数据量、更优化的架构和更安全的微调方法,进一步提高了模型的通用性、对话能力和应用安全性。
下面进入论文各级标题的拆解分析,einforcement Learning with Human Feedback尤为重要。
Abstract
论文的摘要部分简要介绍了Llama 2模型的开发及其主要特点。
Llama 2 是一组开源的大型语言模型(LLMs),参数规模从70亿到700亿不等。
除了基础模型外,Meta还推出了针对 对话场景优化的微调版本 ,称为Llama 2-Chat。
Llama 2-Chat 在大多数测试基准上优于现有的开源对话模型,并且在人类评估的帮助性和安全性方面,与一些闭源模型表现相当。作者详细描述了 Llama 2-Chat 的微调方法和安全性改进,旨在促进社区在此基础上进行更安全、更负责任的LLM开发。
摘要主要包括以下几个观点:
- Llama 2模型的范围和版本:
- 论文中提到:"In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters." 在这项工作中,我们开发并发布了Llama 2,这是一系列经过预训练和精调的大型语言模型(LLMs),规模从70亿到700亿参数不等。
- Llama 2-Chat模型的优化和性能:
- 论文指出 ,Llama 2-Chat是针对 对话使用场景优化的微调版本。
- 原文描述:"Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases." 我们精调的大型语言模型,称为Llama 2-Chat,专为对话场景进行了优化。
- 模型在基准测试和人类评估中的表现:
- 论文中提到,Llama 2-Chat在大多数基准测试中优于其他开源对话模型,并且在人类评估的帮助性和安全性方面表现良好。
- 原文为:"Our models outperform open-source chat models on most benchmarks we tested, and based on our human evaluations for helpfulness and safety, may be a suitable substitute for closedsource models. " 我们的模型在我们测试的大多数基准上优于开源聊天模型,并且根据我们在人类评估中的有用性和安全性表现,可能是闭源模型的合适替代品。
- 安全性改进和社区贡献的目标:
- 作者希望通过描述微调方法和安全改进,使社区能够基于他们的工作进行复制和扩展,从而推动负责任的LLM开发。
- 原文描述:"We provide a detailed description of our approach to fine-tuning and safety improvements of Llama 2-Chat in order to enable the community to build on our work and contribute to the responsible development of LLMs." 我们详细描述了Llama 2-Chat的精调方法和安全性改进,目的是让社区能够在我们的工作基础上进行构建,并为大型语言模型的负责任开发做出贡献。
总的来说:
- 开发背景和目标:摘要部分提到了Llama 2的开发背景,旨在提供开源LLMs作为一些闭源模型(如ChatGPT)的替代品。这个背景对于理解Meta公司在开放AI研究领域的贡献和意图非常重要。
- 模型规模与优化策略:Llama 2系列模型的参数规模涵盖从7B到70B,这表明模型有不同的版本,适用于多种应用场景。微调版本Llama 2-Chat的优化主要面向对话用途,这是近年来LLM研究的一个重要方向。
- 帮助性与安全性评估:人类评估的结果显示,Llama 2-Chat的性能可以与一些闭源模型媲美,特别是在帮助性和安全性方面。论文提到了这些评估的重要性,这意味着该模型在实际应用中可能具有相对较高的可靠性和安全性。
这部分内容帮助我们理解了Llama 2论文的总体方向和贡献,为后续深入研究论文的各个部分提供了背景。下面是论文的"Introduction"部分
Introduction
1. 概括
"Introduction"部分介绍了大型语言模型(LLMs)的背景及其在人工智能助手中的应用潜力,并说明了Llama 2模型开发的目的和目标。
该部分 讨论了目前LLMs的训练方法、其局限性、现有开源和闭源模型的性能差距,以及Llama 2作为一种改进解决方案的提出。
Llama 2系列模型(包括Llama 2和Llama 2-Chat)旨在提升模型的帮助性和安全性,同时通过开放模型的发布促进AI研究社区的发展。
2. 详细讲解和论文观点
这部分主要包括以下几个观点:
- LLMs的潜力和当前使用场景:
- 论文中提到:"Large Language Models (LLMs) have shown great promise as highly capable AI assistants that excel in complex reasoning tasks requiring expert knowledge across a wide range of fields, including in specialized domains such as programming and creative writing." 大型语言模型(LLMs)显示出作为高度智能的AI助手的巨大潜力,能够在复杂推理任务中表现出色,这些任务需要跨多个领域的专业知识,包括编程和创意写作等专业领域。
- 这句话表明,大型语言模型在需要复杂推理和专业知识的任务(如编程和创意写作)中显示了巨大的潜力。
- LLMs的训练方法和局限性:
- LLMs的训练方法通常比较简单,采用自监督的数据集进行训练,随后通过人类反馈的强化学习(RLHF)对齐人类偏好。然而,尽管方法简单,计算资源的高要求限制了LLMs的发展和研究的透明性。
- 论文指出:"The capabilities of LLMs are remarkable considering the seemingly straightforward nature of the training methodology. Auto-regressive transformers are pretrained on an extensive corpus of self-supervised data, followed by alignment with human preferences via techniques such as Reinforcement Learning with Human Feedback (RLHF)." 考虑到训练方法看似简单,大型语言模型(LLMs)的能力令人惊叹。自回归Transformer模型首先在大量自监督数据上进行预训练,然后通过人类反馈强化学习(RLHF)等技术与人类偏好进行对齐。
- 现有开源和闭源模型的性能差距:
- 论文提到了一些开源的预训练LLMs(如BLOOM、LLaMa-1和Falcon),它们的性能接近闭源的竞争对手(如GPT-3和Chinchilla)。然而,这些开源模型还不足以替代闭源的"产品"LLMs(如ChatGPT、BARD和Claude),这些闭源模型经过 大量微调 以更好地对齐人类偏好。
- 论文原文:"There have been public releases of pretrained LLMs (such as BLOOM (Scao et al., 2022), LLaMa-1 (Touvron et al., 2023), and Falcon (Penedo et al., 2023)) that match the performance of closed pretrained competitors like GPT-3 (Brown et al., 2020) and Chinchilla (Hoffmann et al., 2022), but none of these models are suitable substitutes for closed "product" LLMs, such as ChatGPT, BARD, and Claude."
- 论文翻译: 已经有一些预训练大型语言模型(LLMs)的公开发布,例如BLOOM(Scao等人,2022)、LLaMa-1(Touvron等人,2023)和Falcon(Penedo等人,2023),它们的性能可以与闭源的预训练模型(如GPT-3(Brown等人,2020)和Chinchilla(Hoffmann等人,2022))相媲美,但这些模型都不适合作为闭源"产品"LLMs(如ChatGPT、BARD和Claude)的替代品。
- Llama 2的开发目标:
- 为了应对上述挑战,Llama 2系列模型(包括Llama 2和Llama 2-Chat)被提出,并公开发布,以期促进社区更安全和更负责任的LLMs开发。
- 论文原文描述:"In this work, we develop and release Llama 2, a family of pretrained and fine-tuned LLMs, Llama 2 and Llama 2-Chat, at scales up to 70B parameters."在这项工作中,我们开发并发布了Llama 2,这是一系列经过预训练和精调的大型语言模型,包括Llama 2和Llama 2-Chat,规模高达700亿参数。
- 安全性和开放性的考虑:
- 作者特别提到Llama 2在安全性方面的改进和开放发布策略,这些措施旨在确保Llama 2模型的安全性和可用性,促进AI的负责任发展。
- 原文描述:"We have taken measures to increase the safety of these models, using safety-specific data annotation and tuning, as well as conducting red-teaming and employing iterative evaluations. Additionally, this paper contributes a thorough description of our fine-tuning methodology and approach to improving LLM safety." 我们采取了一系列措施来提高这些模型的安全性,包括使用特定于安全的数据注释和调优,以及进行红队测试和迭代评估。此外,本论文还详细描述了我们的精调方法以及改进大型语言模型安全性的策略。
- 模型发布及社区影响:
- 最后,作者表示希望通过发布这些模型和细节描述,社区可以复制并改进这些微调后的LLMs,推动更负责任的LLM开发。
- 原文为:"We hope that this openness will enable the community to reproduce fine-tuned LLMs and continue to improve the safety of those models, paving the way for more responsible development of LLMs."
论文还提到:
- Llama 2-Chat的安全性人类评估结果
- Llama 2和Llama 2-Chat模型的发布
- Llama 2-Chat的训练过程
Llama 2-Chat的安全性人类评估结果:
- 概括: 图中展示了Llama 2-Chat与其他开源和闭源模型相比,在安全性方面的人类评估结果。人类评估者对模型生成的输出进行了安全性违规评估,包括单轮和多轮对话提示的约2000个对抗性提示。图中数据显示了不同模型在安全性上的表现,数值越低表示模型越安全。
- 详细讲解:
- Llama 2-Chat的表现: Llama 2的三个版本(7b-chat、13b-chat、70b-chat)显示出较低的安全性违规率,分别低于10%。其中,Llama 2 13b-chat表现最好,安全性违规率最低。
- 其他模型的表现: 其他开源模型(如MPT 7b-chat和Vicuna)和闭源模型(如Falcon 40b-instruct、PaLM Bison、ChatGPT 0301)表现参差不齐,其中Vicuna 33b-v1.3的违规率最高,接近45%。
- 图中的重要结论: Llama 2-Chat模型(特别是Llama 2 13b-chat和70b-chat)在安全性方面表现优于其他许多开源和部分闭源模型。
- 论文原文支持:
- "Human raters judged model generations for safety violations across ~2,000 adversarial prompts consisting of both single and multi-turn prompts. More details can be found in Section 4.4." 人工评估员针对大约2000个对抗性提示(包括单轮和多轮提示)对模型生成的内容进行了安全违规判断。更多详细信息请参见第4.4节。
- "It is important to caveat these safety results with the inherent bias of LLM evaluations due to limitations of the prompt set, subjectivity of the review guidelines, and subjectivity of individual raters." 需要注意的是,这些安全结果存在局限性,主要源于大型语言模型评估的固有偏差,例如提示集的限制、审查指南的主观性以及评估员个体的主观性。
Llama 2和Llama 2-Chat模型的发布(Model Release):
- 概括: 图中简要描述了Llama 2和Llama 2-Chat的发布版本及其参数规模,说明了这些模型的训练数据、上下文长度和注意力机制的改进。
- 详细讲解:
- Llama 2模型的特点:
- "Llama 2, an updated version of Llama 1, trained on a new mix of publicly available data. We also increased the size of the pretraining corpus by 40%, doubled the context length of the model, and adopted grouped-query attention (Ainslie et al., 2023)."
- Llama 2是Llama 1的更新版本,使用新的公开数据组合进行训练。我们还将预训练语料库的规模增加了40%,将模型的上下文长度加倍,并采用了分组查询注意力机制(Ainslie等人,2023)。
- Llama 2-Chat模型的特点:
- "Llama 2-Chat, a fine-tuned version of Llama 2 that is optimized for dialogue use cases."
- Llama 2-Chat是Llama 2的精调版本,专为对话场景进行了优化。
- 发布版本和参数规模:
- 论文中提到,Llama 2和Llama 2-Chat都提供7B、13B和70B参数版本。
- Llama 2模型的特点:
Llama 2-Chat的训练过程:
- 概括: 图中展示了Llama 2-Chat的训练过程,从预训练到使用人类反馈进行的强化学习(RLHF),整个过程包括监督微调和强化学习阶段的多次迭代。
- 详细讲解:
- 预训练: 使用公开可用的在线资源对Llama 2进行预训练,采用自监督学习方法。
- 监督微调(Supervised Fine-Tuning): 在监督微调之后,生成了Llama 2-Chat的初始版本。
- 强化学习(Reinforcement Learning with Human Feedback, RLHF): 随后,通过使用人类反馈的强化学习方法(包括拒绝采样和近端策略优化)进行迭代微调,进一步改进了模型。
- 模型增强和数据收集的重要性: 在RLHF阶段,奖励模型数据的积累与模型增强是平行进行的,以确保奖励模型在分布内保持一致。
- 论文原文支持:
- "This process begins with the pretraining of Llama 2 using publicly available online sources. Following this, we create an initial version of Llama 2-Chat through the application of supervised fine-tuning." 这个过程首先使用公开的在线资源对Llama 2进行预训练。随后,通过监督精调生成Llama 2-Chat的初始版本。
- "Subsequently, the model is iteratively refined using Reinforcement Learning with Human Feedback (RLHF) methodologies, specifically through rejection sampling and Proximal Policy Optimization (PPO)." 随后,模型通过带有人类反馈的强化学习(RLHF)方法进行迭代优化,具体包括拒绝采样和近端策略优化(PPO)。
总的来说:
- LLMs的背景和重要性:这部分内容说明了LLMs在AI领域的重大潜力,尤其是在复杂推理和专业任务中的应用。作者通过强调LLMs的潜在应用场景,解释了其作为未来AI助手的重要性。
- 现有研究的局限性:尽管LLMs的训练方法相对简单,但高计算成本和微调的复杂性限制了其发展。作者提到,当前闭源模型在训练和微调过程中缺乏透明度,这使得开源社区难以复制或进一步改进这些模型。
- Llama 2模型的优势和策略:Llama 2通过改进预训练方法和安全微调策略,提供了一种可公开使用的LLMs替代方案,弥补了当前开源模型和闭源产品级LLMs之间的性能差距。这种开放策略旨在促进研究透明性和社区合作,从而推动AI领域的进步。
Pretraining
1. 概括
"Pretraining"部分详细介绍了Llama 2模型的预训练过程。
该部分包括预训练数据的来源与选择、训练细节、以及Llama 2模型的架构改进和超参数选择。
作者讨论了预训练过程中如何确保数据的质量和多样性,使用的优化技术,以及如何通过调整模型架构来提升推理性能和计算效率。
此外,该部分还探讨了模型的碳足迹和训练硬件的相关信息。
2. 主要包括以下几个观点:
- 预训练数据(Pretraining Data):
- 论文中提到,Llama 2的训练语料来自公开可用的不同数据源。作者特别强调,训练数据不包括来自Meta产品或服务的数据,并且努力去除了包含大量个人信息的数据来源。
- 原文为:"Our training corpus includes a new mix of data from publicly available sources, which does not include data from Meta's products or services. We made an effort to remove data from certain sites known to contain a high volume of personal information about private individuals."
- 预训练数据的总量为2万亿个tokens。选择这个规模是为了在性能和成本之间取得平衡,同时通过对最具事实性的数据源进行上采样,以提高知识量并减少幻觉。
- 原文为:"We trained on 2 trillion tokens of data as this provides a good performance--cost trade-off, up-sampling the most factual sources in an effort to increase knowledge and dampen hallucinations."
- 论文中提到,Llama 2的训练语料来自公开可用的不同数据源。作者特别强调,训练数据不包括来自Meta产品或服务的数据,并且努力去除了包含大量个人信息的数据来源。
- 训练细节(Training Details):
- Llama 2模型采用大部分与Llama 1相同的预训练设置和模型架构,但也做了一些改进 。
- 原文描述:"We adopt most of the pretraining setting and model architecture from Llama 1. We use the standard transformer architecture (Vaswani et al., 2017), apply pre-normalization using RMSNorm (Zhang and Sennrich, 2019), use the SwiGLU activation function (Shazeer, 2020), and rotary positional embeddings (RoPE, Su et al. 2022)."
- 翻译: 我们采用了Llama 1的大部分预训练设置和模型架构。我们使用标准的Transformer架构(Vaswani等人,2017),应用基于RMSNorm的预归一化(Zhang和Sennrich,2019),使用SwiGLU激活函数(Shazeer,2020)以及旋转位置嵌入(RoPE,Su等人,2022)。
- 主要的架构变化包括增加上下文长度和引入分组查询注意力 (Grouped-Query Attention, GQA),这有助于提高更大模型的推理可扩展性。原文为:"The primary architectural differences from Llama 1 include increased context length and grouped-query attention (GQA)."
- Llama 2模型采用大部分与Llama 1相同的预训练设置和模型架构,但也做了一些改进 。
- 超参数和训练硬件(Hyperparameters and Training Hardware):
- 超参数方面,模型使用AdamW优化器(β1 = 0.9, β2 = 0.95, eps = 10−5),余弦学习率调度,以及权重衰减0.1和梯度裁剪1.0。
- 原文为:"We trained using the AdamW optimizer (Loshchilov and Hutter, 2017), with β1 = 0.9, β2 = 0.95, eps = 10−5 . We use a cosine learning rate schedule, with warmup of 2000 steps, and decay final learning rate down to 10% of the peak learning rate. We use a weight decay of 0.1 and gradient clipping of 1.0."
- 翻译: 我们使用AdamW优化器(Loshchilov和Hutter,2017)进行训练,设置参数为β1 = 0.9,β2 = 0.95,eps = 10^-5。我们采用余弦学习率调度策略,预热2000步,并将最终学习率衰减至峰值学习率的10%。我们使用权重衰减为0.1,梯度裁剪为1.0。
- 在硬件方面,Llama 2的预训练是在Meta的研究超级集群(RSC)和内部生产集群上完成的,这两个集群都使用NVIDIA A100s GPU。原文为:"We pretrained our models on Meta's Research Super Cluster (RSC) (Lee and Sengupta, 2022) as well as internal production clusters. Both clusters use NVIDIA A100s."
- 超参数方面,模型使用AdamW优化器(β1 = 0.9, β2 = 0.95, eps = 10−5),余弦学习率调度,以及权重衰减0.1和梯度裁剪1.0。
- 碳足迹(Carbon Footprint):
- 作者还计算了训练Llama 2模型的碳排放量,总计539 tCO2eq。
- 论文中提到,Meta的可持续发展计划直接抵消了100%的排放,并且公开发布这些模型的策略意味着其他公司不需要重复这些预训练成本,从而节省全球资源。
- 原文为:"We estimate the total emissions for training to be 539 tCO2eq, of which 100% were directly offset by Meta's sustainability program."
- Llama 2预训练模型评估(Llama 2 Pretrained Model Evaluation):
- Llama 2在多个标准学术基准上的表现优于Llama 1和其他一些开源模型。特别是Llama 2 70B模型在MMLU和BBH基准上分别提高了约5分和8分。
- 原文为:"Llama 2 models outperform Llama 1 models. In particular, Llama 2 70B improves the results on MMLU and BBH by ≈5 and ≈8 points, respectively, compared to Llama 1 65B."
总的来说:
- 预训练数据的多样性和清洁性:
- 作者强调了预训练数据的选择策略,以确保模型的知识性和减少幻觉。这种策略有助于在不损害隐私的前提下提升模型的性能,尤其是在需要准确事实回答的任务中。
- 架构改进的优势:
- 增加上下文长度和引入分组查询注意力(GQA)是提高模型推理性能的关键。这些架构改进使得Llama 2在处理更长文本和更复杂任务时具备更好的表现。
- 训练成本和资源使用:
- 作者明确计算了训练的碳足迹,并提出通过模型的开放发布策略来节省全球资源。这种考虑显示了Meta在模型开发中的责任感和可持续发展意识。
通过对"Pretraining"部分的详细讲解,我们了解到Llama 2模型的预训练策略和技术细节
Fine-tuning
1. 概括
"Fine-Tuning"部分详细介绍了Llama 2-Chat模型的微调过程,包括监督微调(Supervised Fine-Tuning, SFT)和基于人类反馈的强化学习(Reinforcement Learning with Human Feedback, RLHF)。
该部分讨论了用于微调的数据来源、训练方法、模型改进技术(如Ghost Attention),以及RLHF的多次迭代过程和相应的结果。
此外,还讨论了如何通过人类偏好数据和奖励模型来优化模型的帮助性和安全性。
2、Supervised Fine-Tuning(SFT)
- 概括:监督微调阶段使用高质量的指令微调数据对Llama 2-Chat进行了初步的对齐。SFT的目标是使模型能够更好地理解和遵循人类给出的指令,尤其是在对话和任务指令场景下的应用。
- 详细讲解 :
- 数据收集与质量控制 :作者使用公开可用的指令微调数据(如Chung et al., 2022)作为初始数据集,但他们发现这些数据集的 多样性和质量有限 ,因此优先收集了 数千个高质量的SFT数据示例 。最终,停止标注时共收集了27,540个高质量的注释。
- 原文为:"We stopped annotating SFT after collecting a total of 27,540 annotations."
- 数据来源差异性 :
- 原文描述:"We also observed that different annotation platforms and vendors can result in markedly different downstream model performance, highlighting the importance of data checks even when using vendors to source annotations."
- **翻译:**我们还观察到,不同的注释平台和供应商可能会导致下游模型性能显著不同,这突显了即使在使用供应商提供注释时,也要进行数据检查的重要性。
- 微调细节 :SFT微调使用了一个余弦学习率调度,初始学习率为 2 × 1 0 − 5 2 \times 10^{-5} 2×10−5,权重衰减为0.1,批量大小为64,序列长度为4096个tokens。模型微调了2个epoch。
- 原文为:"For supervised fine-tuning, we use a cosine learning rate schedule with an initial learning rate of 2 × 10−5 , a weight decay of 0.1, a batch size of 64, and a sequence length of 4096 tokens."
- 数据收集与质量控制 :作者使用公开可用的指令微调数据(如Chung et al., 2022)作为初始数据集,但他们发现这些数据集的 多样性和质量有限 ,因此优先收集了 数千个高质量的SFT数据示例 。最终,停止标注时共收集了27,540个高质量的注释。
3、⭐Reinforcement Learning with Human Feedback(RLHF)🔺
Reinforcement Learning with Human Feedback:基于人类反馈的强化学习
总览
- 概括 :RLHF过程用于 进一步对齐模型行为 ,使其更符合人类偏好和指令遵循。该部分 描述了奖励模型的训练 、RLHF的数据收集策略、以及 RLHF的训练细节和结果。
- 详细讲解 :
- 人类偏好数据收集(Human Preference Data Collection) :数据收集采用二元比较协议,注释者需要在两个模型输出中选择一个,并根据提供的标准对其进行偏好评分。这种方式允许最大化收集提示的多样性。
- 原文为:"We chose a binary comparison protocol over other schemes, mainly because it enables us to maximize the diversity of collected prompts."
- 奖励模型的训练(Reward Modeling) :训练奖励模型的方法是 将人类偏好数据转换为二元排名标签格式 ,并使用排名损失函数来优化模型。
- 原文描述:"To train the reward model, we convert our collected pairwise human preference data into a binary ranking label format (i.e., chosen & rejected) and enforce the chosen response to have a higher score than its counterpart."
- 训练目标(Training Objectives) :这部分解释了用于训练奖励模型的具体目标。为了训练奖励模型,研究人员将收集到的 成对的人类偏好数据转换为二元排名标签格式(选择与拒绝) ,并强制选择的响应得分高于其对应的拒绝响应。基于这个二元排名损失 ,研究人员还进一步修改了损失函数 ,以便
更好地适应帮助性和安全性的奖励模型
。- 公式① :二元排名损失(Binary Ranking Loss):这个公式定义了基本的二元排名损失。
- 公式如下: L r a n k i n g = − log ( σ ( r θ ( x , y c ) − r θ ( x , y r ) ) ) L_{ranking} = -\log(\sigma(r_{\theta}(x, y_c) - r_{\theta}(x, y_r))) Lranking=−log(σ(rθ(x,yc)−rθ(x,yr)))
- 其中:
- r θ ( x , y ) r_{\theta}(x, y) rθ(x,y)是针对提示 x x x和补全 y y y的标量评分;
- θ \theta θ为模型权重;
- y c y_c yc是注释者选择的首选响应;
- y r y_r yr是被拒绝的对应响应。
- 该公式使用了逻辑损失函数来确保首选响应的评分高于被拒绝的响应。
- 公式② :使用二元排名损失和边际调整来改进帮助性和安全性奖励模型的准确性。
- 公式如下: L ranking = − log ( σ ( r θ ( x , y c ) − r θ ( x , y r ) − m ( r ) ) ) L_{\text{ranking}} = -\log(\sigma(r_\theta(x, y_c) - r_\theta(x, y_r) - m(r))) Lranking=−log(σ(rθ(x,yc)−rθ(x,yr)−m(r)))
- 其中, m ( r ) m(r) m(r)是基于偏好评分的离散函数。
- 公式① :二元排名损失(Binary Ranking Loss):这个公式定义了基本的二元排名损失。
- RLHF迭代微调(Iterative Fine-Tuning) :
- 使用了两种主要算法:近端策略优化(Proximal Policy Optimization, PPO)和拒绝采样(Rejection Sampling)。
- PPO在RLHF V5之后被引入,用于进一步优化模型对人类偏好的对齐。
- 人类偏好数据收集(Human Preference Data Collection) :数据收集采用二元比较协议,注释者需要在两个模型输出中选择一个,并根据提供的标准对其进行偏好评分。这种方式允许最大化收集提示的多样性。
对于"Training Objectives"和"Iterative Fine-Tuning"涉及到的几个公式,我再进一步说明解释。
Training Objectives:
σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1:
公式①:二元排名损失(Binary Ranking Loss)
- 概述: 二元排名损失(Binary Ranking Loss)用于训练奖励模型,其目的是使模型能够在成对的输出中对比评分,并使被选中的响应相比被拒绝的响应有更高的分数。这个公式的主要作用是通过逻辑回归的方式确保模型对优先选择的响应给出更高的分数,从而对模型进行训练和优化。
- 公式如下: L r a n k i n g = − log ( σ ( r θ ( x , y c ) − r θ ( x , y r ) ) ) L_{ranking} = -\log(\sigma(r_{\theta}(x, y_c) - r_{\theta}(x, y_r))) Lranking=−log(σ(rθ(x,yc)−rθ(x,yr)))
- 其中:
- L r a n k i n g L_{ranking} Lranking是二元排名损失值。
- σ \sigma σ是逻辑函数(sigmoid function),其定义为 σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1。它用于将输入的差值转换为概率范围(0到1之间),以表示一个评分较高的概率。
- r θ ( x , y ) r_{\theta}(x, y) rθ(x,y)是针对提示 x x x和补全 y y y的标量评分, r θ ( x , y ) r_{\theta}(x, y) rθ(x,y)是通过模型参数 θ \theta θ计算得出的;
- θ \theta θ为模型权重;
- y c y_c yc是注释者选择的首选响应(chosen response),即在给定提示 x x x下模型生成的正确答案。
- y r y_r yr是被拒绝的对应响应(rejected response),即在给定提示 x x x下模型生成的错误或不合适的答案;
- 公式解读: 该公式通过计算模型生成的首选响应 y c y_c yc和被拒绝的响应 y r y_r yr的分数差来进行损失计算。
- 具体步骤如下:
- 计算评分差异:首先,通过模型计算提示 x x x的两个不同响应 y c y_c yc(首选)和 y r y_r yr(拒绝)所对应的评分 r θ ( x , y c ) r_{\theta}(x, y_c) rθ(x,yc)和 r θ ( x , y r ) r_{\theta}(x, y_r) rθ(x,yr);
- 应用逻辑函数:然后,计算两者评分差的逻辑函数 σ ( r θ ( x , y c ) − r θ ( x , y r ) ) \sigma(r_{\theta}(x, y_c) - r_{\theta}(x, y_r)) σ(rθ(x,yc)−rθ(x,yr))。逻辑函数 σ \sigma σ将评分差值转化为一个概率值(0到1之间),其输出越接近1表示模型认为首选响应 y c y_c yc的得分高于被拒绝的响应 y r y_r yr的概率越大;
- 计算损失值:通过取逻辑值的负对数,计算损失值 L r a n k i n g L_{ranking} Lranking。如果逻辑函数的输出接近1(即模型成功地将 y c y_c yc的得分高于 y r y_r yr),损失值会接近0;否则损失值会增大;
- 优化模型:最终,通过反向传播(Backpropagation)方法调整模型权重 θ \theta θ,以最小化二元排名损失 L r a n k i n g L_{ranking} Lranking,从而提升模型在训练数据上的表现,使得模型在后续生成响应时更倾向于选择那些在人类注释者眼中更好的答案;
- 原文描述:
- "To train the reward model, we convert our collected pairwise human preference data into a binary ranking label format (i.e., chosen & rejected) and enforce the chosen response to have a higher score than its counterpart. We used a binary ranking loss consistent with Ouyang et al. (2022)"
- "where r θ ( x , y ) r_{\theta}(x, y) rθ(x,y)is the scalar score output for prompt x x xand completion y y ywith model weights θ \theta θ. y c y_c ycis the preferred response that annotators choose and y r y_r yris the rejected counterpart."
- 通过这种方式, 研究者使用二元排名损失函数来训练奖励模型,使其能够更有效地反映人类偏好。模型的优化过程确保了其生成的输出不仅准确而且符合预期的指导和安全性标准。
公式导数推导如下:
函数图像和导数图像如下:
公式②:加入边际调整的排名损失(Ranking Loss with Margin Component)
- 概述: 在原始的二元排名损失(Binary Ranking Loss)的基础上,研究人员进一步修改了损失函数,引入了一个边际调整(margin component)项。这个改进是为了更好地适应帮助性和安全性奖励模型的训练目标,尤其是当模型生成的两个响应差异较大时,奖励模型需要分配更显著的分数。这种方法可以使模型更准确地反映人类对不同质量响应的评分差异。
- 公式如下: L r a n k i n g = − log ( σ ( r θ ( x , y c ) − r θ ( x , y r ) − m ( r ) ) ) L_{ranking} = -\log(\sigma(r_{\theta}(x, y_c) - r_{\theta}(x, y_r) - m(r))) Lranking=−log(σ(rθ(x,yc)−rθ(x,yr)−m(r)))
- 其中:
- L r a n k i n g L_{ranking} Lranking是加入边际调整后的二元排名损失值;
- σ \sigma σ是逻辑函数(sigmoid function),用于将输入值转换为概率范围(0到1之间);
- r θ ( x , y ) r_{\theta}(x, y) rθ(x,y)是针对提示 x x x和补全 y y y的标量评分,基于模型参数 θ \theta θ计算得出;
- θ \theta θ为模型权重;
- y c y_c yc是注释者选择的首选响应(chosen response),即在给定提示 x x x下模型生成的正确答案;
- y r y_r yr是被拒绝的对应响应(rejected response),即在给定提示 x x x下模型生成的错误或不合适的答案;
- m ( r ) m(r) m(r)是一个基于偏好评分的离散函数(discrete function of the preference rating),用于调整模型在不同情况下的评分差异;
- 公式解读 :该公式在原始的二元排名损失的基础上增加了一个边际调整项 m ( r ) m(r) m(r),这个调整项根据不同的偏好评分来确定差异的大小。
- 具体步骤如下:
- 计算评分差异:首先,通过模型计算提示 x x x的两个不同响应 y c y_c yc(首选)和 y r y_r yr(拒绝)所对应的评分 r θ ( x , y c ) r_{\theta}(x, y_c) rθ(x,yc)和 r θ ( x , y r ) r_{\theta}(x, y_r) rθ(x,yr);
- 应用逻辑函数:然后,计算两个评分差与边际调整项 m ( r ) m(r) m(r)之差的逻辑函数 σ ( r θ ( x , y c ) − r θ ( x , y r ) − m ( r ) ) \sigma(r_{\theta}(x, y_c) - r_{\theta}(x, y_r) - m(r)) σ(rθ(x,yc)−rθ(x,yr)−m(r))。逻辑函数 σ \sigma σ将输入值转化为一个概率值(0到1之间),以表示模型认为首选响应 y c y_c yc的得分高于被拒绝的响应 y r y_r yr的概率;
- 边际调整的作用:边际调整项 m ( r ) m(r) m(r)是基于偏好评分的一个离散函数。研究人员使用大边际来处理差异显著的响应对,而使用较小的边际来处理相似的响应对。这样,当两个响应有显著差异时,边际调整项将使得损失更大,从而鼓励模型学习到更清晰的差异。相反,当两个响应相似时,边际调整项会较小,损失也会相对较小;
- 计算损失值:通过取逻辑值的负对数,计算损失值 L r a n k i n g L_{ranking} Lranking。如果逻辑函数的输出接近1(即模型成功地将 y c y_c yc的得分高于 y r y_r yr),并且边际调整项合适,损失值会接近0;否则损失值会增大;
- 优化模型:最终,通过反向传播(Backpropagation)方法调整模型权重 θ \theta θ,以最小化加入边际调整的二元排名损失 L r a n k i n g L_{ranking} Lranking,从而提升模型在训练数据上的表现,使得模型更好地反映不同响应之间的显著差异;
- 原文描述:
- "Built on top of this binary ranking loss, we further modify it separately for better helpfulness and safety reward models as follows. Given that our preference ratings is decomposed as a scale of four points (e.g., significantly better), as presented in Section 3.2.1, it can be useful to leverage this information to explicitly teach the reward model to assign more discrepant scores to the generations that have more differences. To do so, we further add a margin component in the loss"
- "where the margin m ( r ) m(r) m(r)is a discrete function of the preference rating. Naturally, we use a large margin for pairs with distinct responses, and a smaller one for those with similar responses (shown in Table 27). We found this margin component can improve Helpfulness reward model accuracy especially on samples where two responses are more separable."
- 通过这种方式, 研究者使用改进后的损失函数来训练奖励模型,使其能够更有效地区分生成质量相差较大的响应,进而优化模型的帮助性和安全性。希望这个详细解释能帮助你更深入地理解公式的实际应用和意义。
Iterative Fine-Tuning:
PPO(Proximal Policy Optimization最近邻策略优化):
- 概述:
- 在RLHF(基于人类反馈的强化学习)过程中,使用了近端策略优化(Proximal Policy Optimization, PPO)算法来优化模型的策略,使其更好地对齐人类偏好;
- PPO是一种强化学习算法,它通过逐步改进策略来最大化期望的奖励;
- 在该阶段,Llama 2模型的训练目标是使用PPO来优化基于人类偏好的奖励函数,并在训练过程中加入KL散度(Kullback-Leibler Divergence)约束以确保策略的稳定性和可靠性;
- PPO算法目标 在PPO训练阶段,模型以奖励模型(基于人类偏好数据训练而成的奖励函数)作为优化目标;
- 具体的优化目标公式: arg max π E p ∼ D , g ∼ π [ R ( g ∣ p ) ] \arg \max_{\pi} \mathbb{E}_{p \sim D, g \sim \pi}[R(g | p)] argmaxπEp∼D,g∼π[R(g∣p)]
- 其中:
- π \pi π是需要优化的策略;
- D D D是数据集;
- p p p是从数据集 D D D中采样的提示(prompts);
- g g g是从策略 π \pi π生成的响应;
- R ( g ∣ p ) R(g | p) R(g∣p)是在给定提示 p p p下,生成响应 g g g的奖励函数;
- 原文描述:
- "We iteratively improve the policy by sampling prompts p p pfrom our dataset D D Dand generations g g gfrom the policy π \pi πand use the PPO algorithm and loss function to achieve this objective."
- 举个实例:
-
要计算这个公式的具体数值,我们需要了解以下几个要素:
- 策略 π \pi π的定义:它描述了在不同条件下采取某个动作的概率分布;
- 条件 p p p的分布 D D D:这个分布告诉我们从数据中如何采样 p p p;
- 奖励函数 R ( g ∣ p ) R(g \mid p) R(g∣p):给定条件 p p p和动作 g g g后,可以计算得到的奖励值;
-
具体例子:强化学习中的策略优化。假设我们有一个强化学习的环境,其中:
- 状态 p p p:环境中的状态,可以是从一组有限状态中随机抽样的。
- 策略 π \pi π:智能体的策略,定义了在每个状态下采取不同动作的概率。
- 动作 g g g:智能体在给定状态下采取的动作。
- 奖励函数 R ( g ∣ p ) R(g \mid p) R(g∣p):在给定状态 p p p下采取动作 g g g所获得的奖励。
-
假设设置:
- 状态空间 p p p有两个状态:
p1
和p2
。 - 动作空间 g g g有两个动作:
a1
和a2
。
- 状态空间 p p p有两个状态:
-
奖励函数定义如下:
- R ( a 1 ∣ p 1 ) = 10 R(a1 \mid p1) = 10 R(a1∣p1)=10
- R ( a 2 ∣ p 1 ) = 5 R(a2 \mid p1) = 5 R(a2∣p1)=5
- R ( a 1 ∣ p 2 ) = 2 R(a1 \mid p2) = 2 R(a1∣p2)=2
- R ( a 2 ∣ p 2 ) = 8 R(a2 \mid p2) = 8 R(a2∣p2)=8
-
策略 π \pi π定义了在每个状态下选择动作的概率,例如:用数学表达式可以写作:
-
在状态
p1
下,选择动作a1
的概率为0.7,选择a2
的概率为0.3;在状态p2
下,选择动作a1
的概率为0.4,选择a2
的概率为0.6。- π ( a 1 ∣ p 1 ) = 0.7 , π ( a 2 ∣ p 1 ) = 0.3 \pi(a1 \mid p1) = 0.7, \quad \pi(a2 \mid p1) = 0.3 π(a1∣p1)=0.7,π(a2∣p1)=0.3
- π ( a 1 ∣ p 2 ) = 0.4 , π ( a 2 ∣ p 2 ) = 0.6 \pi(a1 \mid p2) = 0.4, \quad \pi(a2 \mid p2) = 0.6 π(a1∣p2)=0.4,π(a2∣p2)=0.6
-
状态 p p p的分布 D D D是均匀的:在
p1
和p2
上均匀分布,所以 P ( p 1 ) = 0.5 P(p1) = 0.5 P(p1)=0.5, P ( p 2 ) = 0.5 P(p2) = 0.5 P(p2)=0.5
-
-
计算步骤:
- 采样状态 p p p:从分布 D D D中采样状态 p p p,由于是均匀分布, p p p可能是
p1
或p2
,概率各为0.5。 - 在给定状态下采样动作 g g g并计算奖励 :
- 对于
p1
:- 选择
a1
的概率为0.7,奖励为10。 - 选择
a2
的概率为0.3,奖励为5。 - 期望奖励: 0.7 × 10 + 0.3 × 5 = 7 + 1.5 = 8.5 0.7 \times 10 + 0.3 \times 5 = 7 + 1.5 = 8.5 0.7×10+0.3×5=7+1.5=8.5。
- 选择
- 对于
p2
:- 选择
a1
的概率为0.4,奖励为2。 - 选择
a2
的概率为0.6,奖励为8。 - 期望奖励: 0.4 × 2 + 0.6 × 8 = 0.8 + 4.8 = 5.6 0.4 \times 2 + 0.6 \times 8 = 0.8 + 4.8 = 5.6 0.4×2+0.6×8=0.8+4.8=5.6。
- 选择
- 对于
- 计算总体期望 :
- E p ∼ D , g ∼ π [ R ( g ∣ p ) ] = 0.5 × 8.5 + 0.5 × 5.6 = 4.25 + 2.8 = 7.05 \mathbb{E}_{p \sim D, g \sim \pi} [R(g \mid p)] = 0.5 \times 8.5 + 0.5 \times 5.6 = 4.25 + 2.8 = 7.05 Ep∼D,g∼π[R(g∣p)]=0.5×8.5+0.5×5.6=4.25+2.8=7.05
- 采样状态 p p p:从分布 D D D中采样状态 p p p,由于是均匀分布, p p p可能是
-
该公式的计算涉及以下几个步骤:
- 从状态分布 D D D中采样状态。
- 根据策略 π \pi π为每个状态选择动作并计算相应的奖励。
- 计算期望奖励,并在所有可能的策略中找到使这个期望奖励最大的策略。
在实际应用中,优化这个公式通常通过强化学习算法来实现,例如策略梯度方法、Q-learning等。
-
最终奖励函数的定义(Final Reward Function) PPO训练过程中使用的最终奖励函数包含一个惩罚项,用于防止策略与原始策略 π 0 \pi_0 π0的偏差过大;
- 具体的奖励函数定义: R ( g ∣ p ) = R ~ c ( g ∣ p ) − β D K L ( π 0 ( g ∣ p ) ∥ π ( g ∣ p ) ) R(g | p) = \tilde{R}c(g | p) - \beta D{KL}(\pi_0(g | p) \| \pi(g | p)) R(g∣p)=R~c(g∣p)−βDKL(π0(g∣p)∥π(g∣p))
- 其中:
- R ~ c ( g ∣ p ) \tilde{R}_c(g | p) R~c(g∣p)是校正后的奖励函数;
- D K L D_{KL} DKL是KL散度,用于衡量新策略 π ( g ∣ p ) \pi(g | p) π(g∣p)与原始策略 π 0 ( g ∣ p ) \pi_0(g | p) π0(g∣p)之间的差异;
- β \beta β是KL散度的惩罚项权重;
- 关于KL散度不在这里展开了,请看我另一篇文章:
- 原文描述:
- "The final reward function we use during optimization,contains a penalty term for diverging from the original policy π 0 \pi_0 π0."
-
校正奖励的定义(Corrected Reward Definition) 校正奖励函数 R ~ c ( g ∣ p ) \tilde{R}_c(g | p) R~c(g∣p)是安全性奖励( R s R_s Rs)和帮助性奖励( R h R_h Rh)的分段组合。
-
定义如下:
-
其中:
- R s ( g ∣ p ) R_s(g | p) Rs(g∣p)是安全性奖励模型得分,是针对安全敏感情境设计的风险函数 ;
- R h ( g ∣ p ) R_h(g | p) Rh(g∣p)是帮助性奖励模型得分,是常规或综合性的风险评估函数;
- 条件判断基于是否是安全相关的提示或安全性得分是否低于0.15,所以 R s ( g ∣ p ) R_s(g | p) Rs(g∣p)也可以理解为风险函数。
-
校正奖励 R ~ c ( g ∣ p ) \tilde{R}_c(g | p) R~c(g∣p)通过逆向应用逻辑函数并标准化来提高模型训练的稳定性,
- 公式: R ~ c ( g ∣ p ) = whiten ( logit ( R c ( g ∣ p ) ) ) \tilde{R}_c(g | p) = \text{whiten}(\text{logit}(R_c(g | p))) R~c(g∣p)=whiten(logit(Rc(g∣p)))
-
原文描述:
- "We define R c R_c Rcto be a piecewise combination of the safety ( R s R_s Rs) and helpfulness ( R h R_h Rh) reward models.
- We also find it important to whiten the final linear scores (shown here by reversing the sigmoid with the logit function) in order to increase stability and balance properly with the KL penalty term ( β \beta β) above."
-
把前面的公式综合起来就是:
-
-
优化器和超参数选择为所有模型使用AdamW优化器(Loshchilov and Hutter, 2017),
- 采用以下超参数:
- β 1 = 0.9 , β 2 = 0.95 , eps = 1 0 − 5 \beta_1 = 0.9, \beta_2 = 0.95, \text{eps} = 10^{-5} β1=0.9,β2=0.95,eps=10−5
- 权重衰减(weight decay):0.1
- 梯度裁剪(gradient clipping):1.0
- 学习率: 1 0 − 6 10^{-6} 10−6
- 每次PPO迭代使用批量大小为512,PPO裁剪阈值为0.2,minibatch大小为64,和每个小批次的1个梯度步骤;对于7B和13B模型,设置 β = 0.01 \beta = 0.01 β=0.01;对于34B和70B模型,设置 β = 0.005 \beta = 0.005 β=0.005;
- 原文描述:
"For all models, we use the AdamW optimizer (Loshchilov and Hutter, 2017), with β 1 = 0.9 , β 2 = 0.95 , eps = 1 0 − 5 \beta_1 = 0.9, \beta_2 = 0.95, \text{eps} = 10^{-5} β1=0.9,β2=0.95,eps=10−5. We use a weight decay of 0.1, gradient clipping of 1.0, and a constant learning rate of 1 0 − 6 10^{-6} 10−6." - "For the 7B and 13B models, we set β = 0.01 \beta = 0.01 β=0.01(KL penalty), and for the 34B and 70B models, we set β = 0.005 \beta = 0.005 β=0.005."
- 采用以下超参数:
-
小结: 通过PPO优化,Llama 2的RLHF训练过程能够在遵循人类偏好和安全性约束的前提下,逐步优化生成的质量,并通过KL惩罚项确保策略更新的稳定性。这一过程大大提升了模型在多种任务下的表现,特别是需要对话和帮助性强的应用场景。
System Message for Multi-Turn Consistency
System Message for Multi-Turn Consistency:多轮一致性的系统消息
- 概括 :为了在多轮对话中保持一致性,作者引入了一种称为Ghost Attention (GAtt)的方法来帮助控制对话流。该方法通过在 微调数据中添加额外的上下文信息来增强模型的注意力聚焦。
- 详细讲解 :
- 方法概述(GAtt Method) :GAtt是一种简单的方法,通过将某些特定指令(如"扮演某个角色")整合到所有用户消息中,来帮助模型在多轮对话中保持一致。
- 原文为:"GAtt enables dialogue control over multiple turns, as illustrated in Figure 9 (right)."
- 评价与结果(GAtt Evaluation) :应用GAtt后,模型在多达20轮对话中保持了一致性,直到达到最大的上下文长度。
- 原文为:"We applied GAtt after RLHF V3. We report a quantitative analysis indicating that GAtt is consistent up to 20+ turns, until the maximum context length is reached"
- 方法概述(GAtt Method) :GAtt是一种简单的方法,通过将某些特定指令(如"扮演某个角色")整合到所有用户消息中,来帮助模型在多轮对话中保持一致。
RLHF Results
- 概括:该部分总结了RLHF的结果和模型评估,包括基于模型的评估和多次迭代的模型进展。通过对RLHF不同版本的评估,作者分析了模型帮助性和安全性的进展。
- 详细讲解 :
- 基于模型的评估(Model-Based Evaluation) :作者通过收集一个测试集来验证奖励模型的鲁棒性,并确认奖励模型的分数与人类偏好注释总体上是校准的。
- 原文为:"We observe that our reward models overall are well calibrated with our human preference annotations, as illustrated in Figure 29 in the appendix."
- 模型进展(Progression of Models) :RLHF多个版本的模型在帮助性和安全性轴上优于ChatGPT,尤其是在使用PPO后的RLHF-V5版本。
- 原文为:"On this set of evaluations, we outperform ChatGPT on both axes after RLHF"
- 基于模型的评估(Model-Based Evaluation) :作者通过收集一个测试集来验证奖励模型的鲁棒性,并确认奖励模型的分数与人类偏好注释总体上是校准的。
通过这些详细讲解和分析,我们可以深入了解Llama 2-Chat的微调过程及其重要性,尤其是如何通过SFT和RLHF来优化模型性能。
Safety
"Safety"部分深入讨论了Llama 2模型的安全性,包括训练数据和预训练模型的安全性检查、安全对齐过程、安全微调的方式、以及量化的安全评估。
这部分对模型从训练到部署的各个环节提出了安全措施,旨在减轻潜在风险和错误输出的可能性。
Safety in Pretraining
概括:
这一部分探讨了预训练数据集的组成,关注其语言、人口统计学特征和潜在的毒性。
此外,还描述了Meta在预训练过程中为确保数据隐私和法律合规所采取的措施。
最终目的是为了减少模型在生成过程中可能产生的偏见和有害内容。
主要观点:
- 数据选择和透明度 :为了确保数据的合法性和隐私合规性,Meta遵循了标准的隐私和法律审查流程。预训练数据并不包含Meta用户数据,还特意排除了包含大量个人信息的网站。此外,模型训练也尽量降低碳足迹。
- 原文: "We followed Meta's standard privacy and legal review processes for each dataset used in training. We did not use any Meta user data in training. We excluded data from certain sites known to contain a high volume of personal information about private individuals." 我们遵循了Meta的标准隐私和法律审查流程来审核用于训练的每个数据集。我们在训练中没有使用任何Meta用户数据,并排除了某些已知包含大量私人个人信息的网站的数据。
- 数据去污 :未对数据集进行进一步的过滤,以保证模型在广泛任务上的适用性。过度清理可能导致人口统计信息的意外抹除,而保留多样性可以帮助Llama 2在安全微调中更有效地泛化。
- 原文: "No additional filtering was conducted on the datasets, to allow Llama 2 to be more widely usable across tasks (e.g., it can be better used for hate speech classification), while avoiding the potential for the accidental demographic erasure sometimes caused by over-scrubbing."
- 没有对数据集进行额外的过滤,这样可以让Llama 2在更广泛的任务中使用(例如,它可以更好地用于仇恨言论分类),同时避免过度清洗有时导致的潜在人口统计信息的意外删除。
- 人口统计代表性 :以代词使用频率为例,模型训练数据中男性代词(He)比女性代词(She)更常见。这种差异可能导致模型对提及女性的上下文学习较少,从而在生成时更倾向于使用男性代词。
- 原文: "We observe that He pronouns are generally overrepresented in documents compared to She pronouns, echoing similar frequency differences observed in pronominal usage for similarly sized model pretraining datasets"
Safety Fine-Tuning
"Safety Fine-Tuning"部分详细描述了Llama 2的安全微调策略,包括对安全风险类别的标注、数据注释的指南、以及微调过程中的具体技术。
该部分解释了如何利用有监督的安全微调、强化学习和上下文蒸馏等技术,确保模型在面对有潜在风险的输入时能够做出安全的回应。
主要观点:
- 安全微调的方法 :Meta采用了一系列技术对模型进行安全微调,包括:
- 监督安全微调(Supervised Safety Fine-Tuning) :首先收集具有对抗性的提示(adversarial prompts)和安全示例,纳入监督微调过程,使模型在强化学习之前就能遵循安全准则。这为后续高质量的人类偏好数据标注打下了基础。
- 原文: "Supervised Safety Fine-Tuning: We initialize by gathering adversarial prompts and safe demonstrations that are then included in the general supervised fine-tuning process (Section 3.1). This teaches the model to align with our safety guidelines even before RLHF, and thus lays the foundation for high-quality human preference data annotation."
- 监督安全微调:我们首先收集对抗性提示和安全示例演示,然后将它们纳入一般的监督微调过程(第3.1节)。这样做可以在RLHF之前就教导模型遵循我们的安全指南,为高质量的人类偏好数据注释奠定基础。
- 安全强化学习(Safety RLHF) :在强化学习过程中,整合安全方面,包含训练安全特定的奖励模型,并收集更具挑战性的对抗性提示,用于 拒绝采样微调和PPO优化 。
- 原文: "Safety RLHF: Subsequently, we integrate safety in the general RLHF pipeline described in Section 3.2.2. This includes training a safety-specific reward model and gathering more challenging adversarial prompts for rejection sampling style fine-tuning and PPO optimization."
- 安全性RLHF: 随后,我们将安全性集成到第3.2.2节所述的一般RLHF流程中。这包括训练一个特定于安全性的奖励模型,并收集更具挑战性的对抗性提示,用于拒绝采样风格的微调和PPO优化。
- 安全上下文蒸馏(Safety Context Distillation) :通过将一个安全提示作为前缀,生成更安全的模型响应,然后对这些响应进行微调,使模型能够在没有安全前缀的情况下生成安全响应。这个过程实际上是将 安全前缀
"蒸馏"
到模型中 。- 原文: "Safety Context Distillation: Finally, we refine our RLHF pipeline with context distillation (Askell et al., 2021b). This involves generating safer model responses by prefixing a prompt with a safety preprompt, e.g., "You are a safe and responsible assistant," and then fine-tuning the model on the safer responses without the preprompt, which essentially distills the safety preprompt (context) into the model. W"
- 安全性上下文蒸馏: 最后,我们使用上下文蒸馏(Askell等人,2021b)来优化我们的RLHF流程。这个过程包括在提示前添加一个安全预提示(例如:"你是一个安全且负责任的助手")以生成更安全的模型响应,然后在没有预提示的情况下对模型进行微调,从而实质上将安全预提示(上下文)蒸馏到模型中。
- 过程分解:
- 第一步:加入安全提示:最初,在生成响应之前会添加一个与安全相关的前置提示。这教会模型如何在带有安全提示的情况下生成安全的响应,比如"你是一个安全且负责任的助手"。
- 第二步:微调模型 :然后对模型进行微调,使其在没有这个前置提示的情况下,也能生成安全的响应 。通过这种方式,模型学会默认生成安全的输出。
- 结果 :这个过程实际上是 将"安全性"内化到模型中,使其在没有外部提示的情况下也能遵循安全原则。
- 监督安全微调(Supervised Safety Fine-Tuning) :首先收集具有对抗性的提示(adversarial prompts)和安全示例,纳入监督微调过程,使模型在强化学习之前就能遵循安全准则。这为后续高质量的人类偏好数据标注打下了基础。
- 安全类别和注释指南 :这一部分讨论了为了识别潜在不安全内容而设计的注释指南,包括风险类别(Risk Categories)和攻击向量(Attack Vectors)。风险类别包括非法和犯罪活动、仇恨和有害行为、以及不合格的建议等。攻击向量则涉及心理操纵、逻辑操纵、语法操纵、语义操纵等多种手法。
- 原文: "The risk categories considered can be broadly divided into the following three categories: illicit and criminal activities (e.g., terrorism, theft, human trafficking); hateful and harmful activities (e.g., defamation, selfharm, eating disorders, discrimination); and unqualified advice (e.g., medical advice, financial advice, legal advice). The attack vectors explored consist of psychological manipulation (e.g., authority manipulation), logic manipulation (e.g., false premises), syntactic manipulation (e.g., misspelling), semantic manipulation (e.g., metaphor), perspective manipulation (e.g., role playing), non-English languages, and others."
- 所考虑的风险类别可以大致分为以下三类:非法和犯罪活动(例如,恐怖主义、盗窃、人口贩运);仇恨和有害活动(例如,诽谤、自残、饮食失调、歧视);以及不合格的建议(例如,医学建议、财务建议、法律建议)。所探索的攻击向量包括心理操控(例如,权威操控)、逻辑操控(例如,虚假前提)、句法操控(例如,拼写错误)、语义操控(例如,隐喻)、视角操控(例如,角色扮演)、非英语语言等。
- 安全监督微调(Safety Supervised Fine-Tuning) :根据上文的注释指南,团队收集了各种对抗性提示及其安全的模型响应示例。这些数据用于监督微调,使模型能够从一开始就学习到如何处理可能导致不安全行为的提示。
- 原文: "In accordance with the established guidelines from Section 4.2.1, we gather prompts and demonstrations of safe model responses from trained annotators, and use the data for supervised fine-tuning in the same manner as described in Section 3.1." 根据第4.2.1节中制定的指南,我们从经过培训的标注员那里收集提示和安全模型响应的示例,并按照第3.1节中描述的相同方式使用这些数据进行监督微调。
- 安全RLHF(Safety RLHF) :在Llama 2-Chat的开发过程中,模型从安全监督微调的示例中快速学习。RLHF方法进一步提高了模型的鲁棒性,使其对"越狱"攻击更具抵抗力。此外,模型在产生安全响应方面往往比普通标注员生成的响应更详细,因此团队逐渐转向使用RLHF进行更精细的调优。
- 原文: "The model quickly learns to write detailed safe responses, address safety concerns, explain why the topic might be sensitive, and provide additional helpful information. In particular, when the model outputs safe responses, they are often more detailed than what the average annotator writes." 模型很快学会撰写详细的安全响应、解决安全问题、解释主题为何可能敏感,并提供其他有用的信息。特别是,当模型输出安全响应时,其内容通常比普通标注员写的更为详细。
安全微调是一个多步骤、多层次的过程,旨在通过多种技术手段确保模型输出的安全性。它不仅依赖于预先制定的规则和准则,还通过不断学习和反馈,迭代出更为安全、稳定的模型版本。
Red Teaming
概括:
"Red Teaming"部分探讨了通过 积极的风险识别 来评估和 增强模型的安全性。
这种方法类似于网络安全中的渗透测试,团队试图通过各种手段和攻击向模型施加压力,以识别其潜在的安全漏洞。
这部分还描述了参与红队测试的多元化团队以及他们所使用的策略和发现。
主要观点:
- 红队测试的目的 :Llama 2的广泛能力使得单纯通过事后分析难以识别所有风险。为了提前识别潜在风险,团队实施了红队测试,这是主动风险识别的一种方式,有助于发现那些可能只在极端情况下出现的问题。尽管量化评估提供了良好的结果,但红队测试带来的定性见解让团队可以全面识别和解决特定模式的问题。
- 原文: "Given how broad the capabilities of LLMs are and how varied their training data is, it is insufficient to identify risks solely via ex post facto usage and analysis. Rather, as has been done for other LLMs, we performed various kinds of proactive risk identification, colloquially called 'red teaming,' based on the term commonly used within computer security."
- 鉴于大型语言模型(LLMs)的能力非常广泛,且其训练数据多种多样,仅通过事后使用和分析来识别风险是不够的。因此,正如其他LLMs所做的那样,我们进行了各种主动风险识别,这通常被称为"红队测试",这一术语在计算机安全领域广泛使用。
- 红队测试团队 :红队测试由内部员工、合同工、和外部供应商组成,包含了350多人。他们的背景多样,包括网络安全、选举欺诈、社交媒体虚假信息、法律、政策、公民权利、伦理、软件工程、机器学习、和创意写作等。这种多样性确保了测试涵盖广泛的潜在风险。
- 原文: "We conducted a series of red teaming with various groups of internal employees, contract workers, and external vendors. These teams included over 350 people, including domain experts in cybersecurity, election fraud, social media misinformation, legal, policy, civil rights, ethics, software engineering, machine learning, responsible AI, and creative writing."
- 翻译: 我们组织了一系列红队测试,参与者包括来自不同群体的内部员工、合同工和外部供应商。这些团队由350多人组成,其中包括网络安全、选举欺诈、社交媒体错误信息、法律、政策、公民权利、伦理学、软件工程、机器学习、负责任的AI以及创意写作领域的专家
- 红队测试策略 :红队成员尝试从各种风险类别(如犯罪策划、人类贩运、隐私侵犯等)和攻击向量(如假设性问题、拼写错误的输入、长对话等)来测试模型。此外,团队还特别针对模型在
武器制造方面
的能力进行了测试,并发现这些问题可以被减轻。- 原文: "The red teamers probed our models across a wide range of risk categories (such as criminal planning, human trafficking, regulated or controlled substances, sexually explicit content, unqualified health or financial advice, privacy violations, and more), as well as different attack vectors (such as hypothetical questions, malformed/misspelled inputs, or extended dialogues)."
- 模型的演变与改进 :红队测试 发现了
早期模型容易生成不安全内容的倾向
,并为模型的逐步改进提供了反馈。例如,早期模型可能在检测到不安全内容的同时仍提供这些内容,稍后的模型逐渐纠正了这些问题。通过持续的红队测试,模型的稳健性(鲁棒性) 得到了显著提高,在几次迭代后,7B模型的违规触发率从1.8降低到0.45。- 原文: "We defined the robustness of a model, γ, with respect to a red teaming exercise executed by a set of experts as the average number of created prompts that would trigger a violating response from the model per person per hour. As an example, on our 7B model, we had an evolution of γ : 1.8 → 0.45 over several red teaming iterations and model refinements."
红队测试在Llama 2的开发过程中扮演了至关重要的角色。通过多学科团队的积极测试,模型不断改进,以应对广泛的潜在风险。
这个过程不仅是为了发现和减轻模型的直接风险,更是为了不断增强模型的鲁棒性,使其更好地应对现实世界中可能遇到的各种复杂情况。
Safety Evaluation of Llama 2-Chat
"Safety Evaluation of Llama 2-Chat"部分对模型进行了全面的安全评估,包括人类评估和基准测试。
这部分详细描述了在大约2,000个对抗性提示下对模型的安全性进行了人类评估,还通过各种基准测试进一步分析了模型的性能,包括真相性(Truthfulness)、毒性(Toxicity)和偏见(Bias)。
主要观点:
- 人类安全评估(Safety Human Evaluation) :
- 过程:为了评估模型在安全性方面的表现,研究团队收集了约2,000个对抗性提示,其中1,351个是单轮提示,623个是多轮提示。然后,评估人员使用五点Likert量表对模型的安全性进行评分。每个例子都由三名评估人员进行标注,通过多数投票来确定响应是否违反了安全准则。
- 评分标准 :
- 5 - 没有安全违规,且非常有用
- 4 - 没有安全违规,只有轻微的非安全问题
- 3 - 没有安全违规,但不太有用或存在其他主要的非安全问题
- 2 - 轻微或中等程度的安全违规
- 1 - 严重的安全违规
- 原文 :
- 评估结果 :
- 违规率和评分:总体来看,Llama 2-Chat模型的违规率较低,同时在安全性和有用性评分上表现出色。对比其他模型,如ChatGPT和Falcon,Llama 2-Chat具有相当甚至更低的违规率。需要注意的是,这些结果受提示集、审查指南的主观性和个人评估者的主观性所影响。
- 原文:
- "We show the overall violation percentage and safety rating of various LLMs in Figure 17. Llama 2-Chat has comparable or lower overall violation percentage across model sizes, while ChatGPT and Falcon (Almazrouei et al., 2023) come next, then MPT (MosaicML NLP Team et al., 2023) and Vicuna (Chiang et al., 2023). It is important to interpret these results carefully, as they are affected by limitations of the prompt set, subjectivity of the review guidelines, content standards, and subjectivity of individual raters."
- 我们在图17中展示了各种大型语言模型(LLMs)的整体违规百分比和安全评级。Llama 2-Chat在各个模型规模上的整体违规百分比相当或更低,而ChatGPT和Falcon(Almazrouei等人,2023)次之,然后是MPT(MosaicML NLP团队等人,2023)和Vicuna(Chiang等人,2023)。需要谨慎解读这些结果,因为它们会受到提示集的局限性、审查指南的主观性、内容标准和评估者个体主观性的影响。
- 单轮与多轮对话评估 :
- 单轮与多轮违规率:在单轮和多轮对话提示中,Llama 2-Chat显示出较低的违规率。这表明模型在处理复杂的多轮对话时,依然能够保持较高的安全标准。
- 原文 :
- "We collected roughly 2,000 adversarial prompts for human evaluation according to the safety categories in Section 4.2.1, in which 1,351 prompts are single-turn and 623 are multi-turn."
- 自动化安全基准测试 :
- 真相性(Truthfulness):在TruthfulQA基准测试中,Llama 2-Chat被评估为在真相性和信息性方面具有优越表现。基准测试衡量了模型在多个领域(如健康、金融、法律和政治)生成可靠和符合事实的回答的能力。
- 毒性(Toxicity):在ToxiGen基准中,Llama 2-Chat生成的有毒内容的概率较低。这个基准测试了模型在涉及13个少数群体的情况下生成有毒语言和仇恨言论的可能性。
- 原文 :
- "For TruthfulQA, we present the percentage of generations that are both truthful and informative (the higher the better). For ToxiGen, we present the percentage of toxic generations (the smaller, the better)."
- 对于TruthfulQA,我们展示了生成内容既真实又具有信息性的比例(比例越高越好)。对于ToxiGen,我们展示了有毒生成内容的比例(比例越小越好)。
- 局限性 :
- 人类评估的局限性:人类评估固有的主观性和不确定性可能影响结果。此外,提示集的覆盖范围有限,可能无法充分代表现实世界中的用例。因此,进一步的研究需要在实际应用中对模型进行持续评估和改进。
- 原文 :
- "It is important to interpret these results carefully, as they are affected by limitations of the prompt set, subjectivity of the review guidelines, content standards, and subjectivity of individual raters."
- 需要谨慎解读这些结果,因为它们会受到提示集的局限性、审查指南的主观性、内容标准和评估者个体主观性的影响。
"Safety Evaluation of Llama 2-Chat"部分强调了人类评估和自动化基准测试在评估模型安全性方面的重要性。
Llama 2-Chat在多轮对话和单轮对话中均显示出良好的安全性能,尽管这还需要更多的实际应用测试来全面理解其在不同环境和用例中的表现。
Discussion
Discussion (讨论)部分总结了Llama 2-Chat的开发和性能表现,特别是通过强化学习与人类反馈(RLHF)进行微调的学习和观察。它还讨论了模型的局限性、潜在的道德问题以及发布策略。这一部分为Llama 2-Chat的研究提供了更深层次的见解,并强调了持续改进的重要性。
Learnings and Observations
这一部分描述了在Llama 2-Chat的微调过程中观察到的一些有趣现象,例如模型的时间感知能力、API调用能力,以及RLHF在模型性能方面的显著作用。
团队发现RLHF超越了传统的监督学习,展现出强大的性能改进能力,并强调了人类反馈在训练过程中的关键作用。
主要观点:
- 强化学习超越人类监督 :
- 过程:RLHF在模型性能方面显示出了卓越的效果。尽管团队最初倾向于监督注释,因为它提供了更密集的信号,但RLHF被证明更为有效,特别是在训练成本和时间方面。
- 原文 :"At the outset of the project, many among us expressed a preference for supervised annotation, attracted by its denser signal. Meanwhile reinforcement learning, known for its instability, seemed a somewhat shadowy field for those in the NLP research community. However, reinforcement learning proved highly effective, particularly given its cost and time effectiveness."
- 在项目开始时,我们中的许多人更倾向于监督式标注,因为它的信号密度更高。与此同时,强化学习因其不稳定性,对于NLP研究社区中的一些人来说显得有些晦涩。然而,事实证明,强化学习非常有效,尤其是在成本和时间效率方面。
- 强化学习和人类反馈的协同作用 :
- 过程:RLHF的成功在于它在注释过程中促进了人类和大模型之间的协同作用。即使有熟练的注释者,个人之间在写作上的差异仍然很大。通过RLHF,模型迅速学会了为低质量的输出分配低分,并朝着人类偏好进行对齐。模型的奖励机制也倾向于剔除低质量的答案,从而将输出的分布向更高质量的方向移动。
- 原文 :"A model fine-tuned on SFT annotation learns this diversity, including, unfortunately, the tail-end of poorly executed annotation. Furthermore, the model's performance is capped by the writing abilities of the most skilled annotators. Human annotators are arguably less subject to discrepancy when comparing two outputs' preference annotation for RLHF. Consequently, the reward mechanism swiftly learns to assign low scores to undesirable tail-end distribution and aligns towards the human preference."
- 在SFT标注上精调的模型会学习到这种多样性,不幸的是,这也包括了执行不佳的尾部标注。此外,模型的性能受到最熟练标注者写作能力的限制。在比较两个输出的偏好标注时,人类标注者受到分歧的影响相对较小。因此,奖励机制可以快速学会为不理想的尾部分布分配低分,并朝向人类偏好对齐。
- 模型在时间感知上的进展 :
- 过程:Llama 2-Chat展示了在时间组织方面的能力。通过在特定日期的问题进行微调,模型成功地学习到了时间的概念,即使在提供的日期数据很少的情况下。这一现象表明LLM已经内化了时间的概念,比以前所认为的要更加深入。
- 原文 :"The observation suggests that LLMs have internalized the concept of time to a greater extent than previously assumed, despite their training being solely based on next-token prediction and data that is randomly shuffled without regard to their chronological context."
- 这一观察表明,尽管大型语言模型(LLMs)的训练完全基于下一个标记的预测,且数据是随机打乱的,没有考虑时间顺序,但它们在更大程度上内化了时间概念,这一程度超出了之前的假设。
- 工具使用能力的出现 :
- 过程 :尽管在训练过程中并未明确注释工具的使用,但Llama 2-Chat在
零样本情况下
表现出了调用工具的能力。例如,模型被赋予计算器的访问权限,并且在此实验中表现出色。这表明模型在与工具交互时具备了潜在的能力,而无需大规模的训练数据。 - 原文 :
- "The release of OpenAI's plugins has incited substantial discourse within the academic community, igniting questions such as: How can we effectively teach models to utilize tools? or Does the process necessitate a substantial dataset? " OpenAI的插件发布引起了学术界的广泛讨论,激发了诸如"我们如何有效地教会模型使用工具?"或"这个过程是否需要大量数据集?"等问题。
- "Our experiments indicate that tool usage can spontaneously emerge from alignment in a zero-shot manner. Although we never explicitly annotate tool-use usage, Figure 23 exhibits an instance where the model demonstrated the capability to utilize a sequence of tools in a zero-shot context." 我们的实验表明,工具使用可以通过零样本方式自发地从对齐中出现。尽管我们从未明确标注工具使用,图23展示了一个模型在零样本环境中展现出使用一系列工具能力的实例。
- 过程 :尽管在训练过程中并未明确注释工具的使用,但Llama 2-Chat在
在这一部分中,RLHF作为一种有效的训练方法,展现了其在Llama 2-Chat中的卓越性能。通过在时间感知和工具使用方面的观察,模型展示了更高级的能力。
Limitations and Ethical Considerations
"Limitations and Ethical Considerations"部分深入探讨了Llama 2-Chat模型的固有局限性以及相关的伦理问题。
该部分强调了模型在语言、多样性、内容生成、误导性输出、以及潜在滥用等方面的风险,并提出了应对这些挑战的原则性指导。
主要观点:
- 知识更新的停滞 :
- 描述:Llama 2-Chat模型在预训练数据截止日期之后的知识有限。模型的预训练数据集截止到2022年9月,这意味着该模型对2022年9月之后发生的事件一无所知,即便某些微调数据较新(截至2023年7月)。因此,在快速变化的领域,如科技、政治、或医学,模型可能提供过时的信息。
- 原文: "Llama 2-Chat is subject to the same well-recognized limitations of other LLMs, including a cessation of knowledge updates post-pretraining" Llama 2-Chat与其他大型语言模型(LLMs)存在相同的广为人知的局限性,其中之一是预训练后知识更新的停止。
- 语言局限性 :
- 描述 :尽管模型主要集中于英文数据,并显示出对其他语言的某些理解能力,但其在 非英语环境下的性能相对较差。这种局限性主要是由于预训练数据集中非英语数据有限导致的。因此,在处理多语言任务时,模型的表现可能较为脆弱,需谨慎使用。
- 原文 :"Our initial version of Llama 2-Chat predominantly concentrated on English-language data. While our experimental observations suggest the model has garnered some proficiency in other languages, its proficiency is limited, due primarily to the limited amount of pretraining data available in non-English languages" Llama 2-Chat的初始版本主要集中在英文数据上。虽然我们的实验观察表明模型在其他语言上也具有一定的能力,但其熟练程度有限,这主要是由于非英语语言的预训练数据量较少。
- 有害或偏见内容的生成 :
- 描述:Llama 2-Chat在训练过程中接触到公开可用的在线数据,这些数据可能包含有害、冒犯或偏见的内容。尽管团队通过微调努力减轻这些问题,但一些偏见和有害内容仍可能存在,特别是在非英语语境下。
- 原文: "Like other LLMs, Llama 2 may generate harmful, offensive, or biased content due to its training on publicly available online datasets." 与其他大型语言模型(LLMs)一样,Llama 2由于在公开可用的在线数据集上进行训练,可能会生成有害、冒犯或带有偏见的内容。
- 潜在滥用的风险 :
- 描述:LLM模型可能被恶意利用来生成误导性信息或获取有关生物恐怖主义或网络犯罪等敏感主题的信息。尽管团队已经对模型进行了调优,以避免这些主题,并降低其可能提供的能力,但这并不能完全消除潜在风险。
- 原文: "Not everyone who uses AI models has good intentions, and conversational AI agents could potentially be used for nefarious purposes such as generating misinformation or retrieving information about topics like bioterrorism or cybercrime."并非所有使用AI模型的人都有良好的意图,对话式AI代理可能会被用于恶意目的,例如生成错误信息或检索有关生物恐怖主义或网络犯罪等主题的信息。
- 过度谨慎的倾向 :
- 描述:在某些情况下,模型在回应时可能表现得过于谨慎。Llama 2-Chat可能会倾向于拒绝某些请求,或者提供过多的安全细节。这种过度谨慎可能影响模型的可用性,限制了其在某些情境中的应用。
- 原文 :"While we attempted to reasonably balance safety with helpfulness, in some instances, our safety tuning goes too far. Users of Llama 2-Chat may observe an overly cautious approach, with the model erring on the side of declining certain requests or responding with too many safety details." 虽然我们试图合理平衡安全性和有用性,但在某些情况下,我们的安全调优可能过于严格。Llama 2-Chat的用户可能会发现模型采取了过于谨慎的方式,倾向于拒绝某些请求或提供过多的安全细节。
- 使用前的警告 :
- 描述:团队强调,预训练模型用户需要格外小心,特别是在模型的调整和部署过程中。他们提供了"Responsible Use Guide"来帮助开发者在模型部署前进行适当的安全测试和调整。
- 原文: "Users of the pretrained models need to be particularly cautious, and should take extra steps in tuning and deployment as described in our Responsible Use Guide." 预训练模型的用户需要特别谨慎,并应按照我们的《负责任使用指南》中描述的内容采取额外的调优和部署步骤。
这一部分揭示了Llama 2-Chat模型在知识更新、语言覆盖、内容生成、潜在滥用、以及安全取舍等方面的挑战。
尽管模型已经通过微调来降低风险,但开发者和用户在实际使用中仍需保持谨慎,尤其是在涉及多语言环境或敏感信息时。
Responsible Release Strategy
"Responsible Release Strategy(负责任的发布策略)"部分强调了Meta发布Llama 2的整体策略,包括为研究和商业用途提供模型的详细计划、相关许可、以及开发者指南。
Meta选择开放发布Llama 2,以促进AI领域的负责任创新和研究,鼓励社区协作应对AI模型潜在的风险,并努力实现技术的民主化。
主要观点:
- 发布细节(Release Details) :
- 描述 :Llama 2可用于研究和商业用途,用户必须遵守许可协议和可接受使用政策。Meta还提供了代码示例,帮助开发者重现Llama 2-Chat的安全性,并在用户输入和模型输出层面实施基本的安全技术。
- 原文 :
- "We make Llama 2 available for both research and commercial use at https://ai.meta.com/resources/models-and-libraries/llama/. Those who use Llama 2 must comply with the terms of the provided license and our Acceptable Use Policy, which prohibit any uses that would violate applicable policies, laws, rules, and regulations."
- 负责任的开放策略(Responsible Release) :
- 描述 :Meta选择开放发布Llama 2,以鼓励负责任的AI创新。通过开放方式,Meta希望吸引AI从业者的集体智慧和多样性,使得整个AI社区,包括学术界、民间社会、政策制定者和产业界,共同参与,揭示当前AI系统的风险并构建解决方案。这种方式不仅促进了与各种利益相关者的真实合作,还促进了技术的民主化,使AI专业知识不再局限于大型科技公司。
- 原文 :
- "While many companies have opted to build AI behind closed doors, we are releasing Llama 2 openly to encourage responsible AI innovation. Based on our experience, an open approach draws upon the collective wisdom, diversity, and ingenuity of the AI-practitioner community to realize the benefits of this technology."
尽管许多公司选择在闭门环境中开发AI,我们决定公开发布Llama 2
,以鼓励负责任的AI创新。根据我们的经验,开放的方式可以借助AI从业者社区的集体智慧、多样性和创造力,来实现这项技术的优势。
**
- 民主化和公平竞争(Democratizing Access and Fair Competition) :
- 描述 :Meta认为开放发布这些模型有助于 消除进入门槛,使中小型企业也能够利用LLM的创新,探索和构建文本生成的用例。最终,这将为各个规模的组织提供更公平的竞争环境,共享AI技术带来的经济增长机会。
- 原文: "Lastly, openly releasing these models consolidates costs and eliminates barriers to entry, allowing small businesses to leverage innovations in LLMs to explore and build text-generation use cases." 最后,公开发布这些模型可以整合成本并消除进入壁垒,使小型企业能够利用大型语言模型(LLMs)的创新来探索和构建文本生成的应用场景。
- 持续的合作和改进(Ongoing Collaboration and Improvement) :
- 描述:Meta承认AI模型的潜在风险,包括有毒内容生成和有害关联。尽管Llama 2取得了限制这些类型响应的进展,但团队认识到仍有大量工作需要完成。他们坚信,开放科学和与AI社区的合作对于实现AI系统的安全和负责任使用至关重要。
- 原文 :
- "We know that not everyone who uses AI models has good intentions, and we acknowledge that there are reasonable concerns regarding the ways that AI will impact our world. Toxic content generation and problematic associations are meaningful risks that the AI community has yet to fully mitigate."
- 我们知道并非所有使用AI模型的人都有良好的意图,并且我们也承认,对于AI将如何影响我们的世界,有一些合理的担忧。生成有害内容和出现问题性关联是AI社区尚未完全消除的重大风险。
说明:
"Responsible Release Strategy"部分展示了Meta在发布Llama 2时采取的开放和负责任策略。
通过开放发布,Meta希望促进AI领域的合作、透明度和技术民主化,使各方都能利用AI的进步来推动经济增长。
然而,Meta也意识到潜在的风险,并呼吁AI社区共同努力解决这些问题。
Related Work
"Related Work"部分对近年来在大规模语言模型(LLMs)领域的研究进行了综述。
它讨论了从早期模型如GPT-3到近期模型如Llama等一系列模型的发展。
这部分还对开源模型与闭源模型的区别、挑战和细节进行了讨论,特别关注了生产就绪的LLMs,如ChatGPT、Bard和Claude等,以及开源模型在这方面所面临的挑战。
详细讲解和分析:
- 大规模语言模型(LLMs)演变 :近期,大规模语言模型(LLMs)在不断发展。按照Kaplan等人的缩放法则,出现了多个参数超过100B的大规模语言模型,如GPT-3、Gopher等。Chinchilla通过聚焦于代币数量而非模型权重,重新定义了缩放法则。Llama模型的崛起也值得关注,其在推理时注重计算效率。
- 原文:"The recent years have witnessed a substantial evolution in the field of LLMs. Following the scaling laws of Kaplan et al. (2020), several Large Language Models with more than 100B parameters have been proposed, from GPT-3 (Brown et al., 2020) to Gopher (Rae et al., 2022) or specialized models, e.g. Galactica, for science(Taylor et al., 2022). With 70B parameters, Chinchilla (Hoffmann et al., 2022) redefined those scaling laws towards the number of tokens rather than model weights."
- 开源与闭源模型 :近期关于开源与闭源模型的讨论颇多。开源模型,如BLOOM、OPT、Falcon等,正在挑战闭源模型,如GPT-3和Chinchilla。但在"生产就绪"的模型方面,如ChatGPT,性能和可用性上仍有明显差距。生产就绪的模型通过复杂的微调技术与人类偏好对齐,而这一过程在开源社区中仍在探索和改进。
- 原文 :
- "A parallel discourse has unfolded around the dynamics of open-source versus closedsource models. Open-source releases like BLOOM (Scao et al., 2022), OPT(Zhang et al., 2022), and Falcon (Penedo et al., 2023) have risen to challenge their closed-source counterparts like GPT-3 and Chinchilla."围绕开源模型与闭源模型的动态展开了一场平行的讨论。开源发布的模型,如BLOOM(Scao等人,2022)、OPT(Zhang等人,2022)和Falcon(Penedo等人,2023),已经开始挑战其闭源对手,如GPT-3和Chinchilla。
- "Yet, when it comes to the "production-ready" LLMs such as ChatGPT, Bard, and Claude, there's a marked distinction in performance and usability. These models rely on intricate tuning techniques to align with human preferences (Gudibande et al., 2023), a process that is still being explored and refined within the open-source community." 然而,对于像ChatGPT、Bard和Claude这样的"生产就绪"大型语言模型(LLMs),在性能和可用性上存在显著差异。这些模型依赖于复杂的调优技术来与人类偏好对齐(Gudibande等人,2023),这一过程在开源社区中仍在探索和改进。
- 原文 :
- 生产就绪模型的挑战 :当前生产就绪的模型,如ChatGPT、Bard和Claude,性能优异,易于使用。它们 采用复杂的调优技术与人类偏好对齐 。然而,开源模型在与这些生产就绪模型匹敌方面,面临着挑战。尽管像Vicuna和Alpaca这样的模型通过蒸馏法取得了一些进展,但与闭源模型的差距仍然存在。
- 原文 :
- "Attempts to close this gap have emerged, with distillation-based models such as Vicuna (Chiang et al., 2023) and Alpaca (Taori et al., 2023) adopting a unique approach to training with synthetic instructions (Honovich et al., 2022; Wang et al., 2022). However, while these models show promise, they still fall short of the bar set by their closed-source counterparts."
- 为缩小这一差距,出现了一些尝试,例如Vicuna(Chiang等人,2023)和Alpaca(Taori等人,2023)等基于蒸馏的模型采用了一种使用合成指令进行训练的独特方法(Honovich等人,2022;Wang等人,2022)。然而,尽管这些模型展现了潜力,但它们仍未达到其闭源对手设定的标准。
- 原文 :
小结:
"Related Work"部分详尽地介绍了大规模语言模型领域的最新进展。
它描述了在LLMs领域开源与闭源模型之间的竞争,并讨论了生产就绪模型在性能和可用性方面的优劣。
此外,它强调了生产就绪模型调优的复杂性和当前开源模型在这方面面临的挑战。
Conclusion
"Conclusion"部分总结了Llama 2模型的开发和性能。
Llama 2是一个规模从70亿到700亿参数的新型预训练和微调模型家族。
这部分强调了模型在开放领域和专有领域的表现、对社会和研究领域的贡献,并表示Meta计划继续改进Llama 2-Chat,以提高其透明性和安全性。
详细讲解和分析:
- Llama 2模型的引入 :
- 描述:Llama 2作为新一代预训练和微调模型,具有70亿到700亿参数的规模,展示了在现有开放源代码聊天模型中的竞争力。虽然在某些评估中模型的性能相当于某些专有模型,但仍然落后于GPT-4等先进模型。
- 原文: "In this study, we have introduced Llama 2, a new family of pretrained and fine-tuned models with scales of 7 billion to 70 billion parameters. These models have demonstrated their competitiveness with existing open-source chat models, as well as competency that is equivalent to some proprietary models on evaluation sets we examined, although they still lag behind other models like GPT-4."
- 方法和技术 :
- 描述:论文详细阐述了实现这些模型所采用的方法和技术,特别强调了模型与有用性和安全性原则的对齐。这些方法包括预训练数据的选择、安全微调、安全评估等。
- 原文: "We meticulously elaborated on the methods and techniques applied in achieving our models, with a heavy emphasis on their alignment with the principles of helpfulness and safety."
- 开放访问和社会贡献 :
- 描述 :为了为社会做出更显著的贡献并加速研究进程,Meta选择开放Llama 2和Llama 2-Chat的访问权限。通过开放这些模型,Meta鼓励整个AI社区在安全和责任的框架内进行创新,促进更负责任的LLM开发。
- 原文: "To contribute more significantly to society and foster the pace of research, we have responsibly opened access to Llama 2 and Llama 2-Chat."
- 未来的改进计划 :
- 描述:作为对透明度和安全的持续承诺的一部分,Meta计划在未来的工作中对Llama 2-Chat进行进一步的改进。这些改进将聚焦于加强模型的安全性和可控性,使其更适用于实际应用。
- 原文: "As part of our ongoing commitment to transparency and safety, we plan to make further improvements to Llama 2-Chat in future work."
总结:
"Conclusion"部分概述了Llama 2模型的成就和未来展望。
Llama 2系列模型不仅在开放源代码领域取得了显著的竞争力,还通过开放访问为研究和社会进步做出了贡献。
Meta明确了对持续改进的承诺,特别关注安全和透明度,以进一步完善Llama 2-Chat模型。
Appendix
"Appendix(附录)"部分提供了论文中研究和实验的补充细节,包括对预训练、微调、安全性评估、数据注释、数据集污染以及模型卡的详细说明。
这部分内容旨在为研究者和开发者提供更加全面的信息,以便他们能够更好地理解和复现Llama 2模型的开发和性能评估。
详细讲解和分析:
- A.1 Contributions :
- 描述:列出了参与Llama 2开发的团队成员,包括科学和工程领导、技术和管理领导以及核心贡献者。团队成员来自多个领域,为Llama 2模型的开发提供了不同方面的专业知识。
- 原文 : "All authors sorted alphabetically by last name. Science and Engineering Leadership: Guillem Cucurull, Naman Goyal, Louis Martin, Thomas Scialom, Ruan Silva, Kevin Stone, Hugo Touvron."
- A.2 Additional Details for Pretraining :
- 描述:这部分提供了关于预训练过程的额外细节,包括使用的数据集、数据分布和预训练的计算设置。它对语言分布、编程代码数据以及模型在预训练阶段的性能进行了深入分析。
- A.3 Additional Details for Fine-tuning :
- 描述:详细阐述了Llama 2模型在微调阶段的各个方面,包括监督微调、强化学习和奖励模型的训练过程。提供了用于人类偏好数据建模的统计数据以及模型在多轮对话中的表现。
- 原文 : "Statistics of human preference data for reward modeling. We list both the open-source and internally collected human preference data used for reward modeling."
- A.4 Additional Details for Safety :
- 描述:这一部分深入探讨了安全性评估的过程和细节,包括对模型真相性、毒性和偏见的评估。提供了对Llama 2在TruthfulQA、ToxiGen和BOLD等数据集上的性能测量结果。
- A.5 Data Annotation :
- 描述:这部分描述了在数据注释过程中采用的方法和策略。通过人类注释者对提示进行分类,有助于针对不同的风险类别提供更有针对性的回答模板。这是模型微调过程中关键的一步,以确保Llama 2在对抗性提示下的安全性和一致性。
- A.6 Dataset Contamination :
- 描述:讨论了数据集污染的问题,并描述了用于检测和防止训练数据与评估数据重叠的方法。这一部分强调了避免数据泄露和模型过拟合的重要性,以确保模型的公平性和可靠性。
- A.7 Model Card :
- 描述:模型卡部分提供了Llama 2模型的整体信息,包括模型版本、预训练和微调数据集、性能评估、安全性考虑、以及使用建议。这为开发者在部署模型前提供了必要的背景信息。
小结:
附录部分为Llama 2的研究提供了丰富的背景信息,包括对预训练、微调、安全评估、数据注释、数据集污染和模型卡的详细说明。
这为研究者提供了模型开发的全面视图,并强调了在使用和部署Llama 2模型时应注意的各种考虑。