AI 文摘

LLama2详细解读Meta开源之光LLama2是如何追上ChatGPT的?





作者: AINLP 来源: AINLP

今天分享Meta的Llama 2: Open Foundation and Fine-Tuned Chat Models:LLAMA2:开源的基础和微调后的聊天大语言模型。Meta开源模型在除了代码能力外都追平或者超过了ChatGPT的水平,它做了很多工作提升大模型的能力和安全性。其利用更高质量的数据来训练模型,同时利用强化学习迭代多次来优化模型效果是使其追上ChatGPT的最强大的法宝 。同时目前如何对大模型进行强化学习放出来的文章也不多,本文给出非常多的RLHF实验和结果给大家进行参考,方便社区后续进行相关实验。总之LLaMA2是大模型开源之光,它以一己之力促进了整个LLM开源社区的发展,后续可能在其基础上也会有真正的更大更好的中文开源大模型出来,它的经验也值得大家去学习。

一、概述****

Title: Llama 2: Open Foundation and Fine-Tuned Chat Models

论文地址: Llama 2: Open Foundation and Fine-Tuned Chat Models

代码: https://github.com/facebookresearch/llama

官网: https://ai.meta.com/llama/

1 Motivation

  1. 开源的LLM chat模型效果还不太好,还没一个开源大模型能和闭源模型(例如chatgpt)能比的。

  2. ChatGPT是闭源的,LLM的有用性和安全性如何改进这一类论文还不是特别多。

2 Methods

2.1 整体架构

总结1: 参考InstructGPT[1],主要还是分为三个步骤(预训练、SFT、RLHF),其中RLHF用了两个Reward Model(Safety Reward Model、Helpful Reward Model),创新性地引入两个Reward模型,在保证安全性的同时,保持很好的有用性。

总结2: 在RLHF阶段,不断迭代优化****奖励模型增强模型能力 对于确保奖励模型保持在分布范围内至关重要,本文后面的实验中,看到从最开始与chatgpt对比只有10%的胜率,用了本文提到的SFT和迭代RLHF后,胜率可高达60%。

总结3: Rejection Sampling(拒绝采样):强化学习方法的一种,每次采样多个结果,选取最佳的k个结果构建新的训练数据,更新梯度,同时迭代优化模型效果。

2.2 发布LLAMA2和LLAMA2-CHAT

总结1: 本次同时发布了基座模型LLAMA2和Chat模型LLAMA2-CHAT,参数在7B、13B、70B都有。

总结2: 在新的公开的混合数据来训练,语料库的大小增加了40%,将型的上下文长度增加了一倍,采用了分组查询注意力机制。

2.3 LLAMA2和LLMA1训练情况对比

说明: Llama 2系列模型。所有模型都使用4M token进行训练。其中更大的模型34B和70B模型使用分组查询注意力(GQA)来提高推理可扩展性,7B和13B还是通用的注意力机制。

总结1: 相对于llama1,llama2的窗口长度翻倍,训练tokens翻倍。

总结2: 使用分组查询注意(GQA)来提高推理可扩展性

Grouped Query Attention: 在常规的注意力机制中,我们通常将一个查询与一组键(key)和值(value)进行匹配 ,以便在执行各种任务(如翻译、问答等)时聚焦于相关信息。而在 “grouped query attention” 中,将多个查询作为一个组一起进行处理,从而引入了查询组之间的交互 。这种注意力机制的一个应用场景是在多轮对话理解中,例如问答系统或对话生成模型。在多轮对话中,每一轮对话可以被视为一个查询组,其中每个查询表示一个轮次的输入。通过引入 “grouped query attention”,模型可以更好地捕捉到不同轮次之间的信息流动和上下文关联,从而更准确地理解和生成响应。总之,“grouped query attention” 是一种注意力机制的变种,用于处理多组查询之间的交互,特别适用于多轮对话理解等场景,有助于提高模型的上下文理解和信息交互能力。

3 Conclusion

3.1 整体情况:远超开源大模型,除代码能力外追上了ChatGPT

1.与开源模型对比: 发布了7B,13B,34B,70B 的模型,在大多数评测基准上,LLaMA2模型优于开源聊天模型 ,详情如下图:

大模型评价维度: 一般从代码,常识推理,世界知识,阅读理解,数学,比较热的几个数据集包括MMLU,BBH,AGI Eval等方面来评估。

2.与闭源模型对比有用性和安全性 都不错,除了代码能力,其他能力接近ChatGPT ,可能是ChatGPT的合适替代品

3.详细描述了我们对Llama 2-Chat进行微调和安全改进的方法 ,以使社区能够在我们的工作基础上再接再厉,并为LLM的负责任的发展做出贡献。

3.2 LLAMA2的Helpfulness表现

总结1: LLama-2 70b模型与chatgpt-0301的GSB评分为35.9:31.5:32.5 ,Llama2-70b有用性比ChatGPT-0301还要好点。

总结2: GPT4自动评估,绿色区域表明,LLama-2的模型更好,为了消除平局,使用了赢/(赢+输)来计算分数。

3.3 LLAMA2的Safety表现

总结: Llama-2 70b-chat违反安全的比例低于5%,比ChatGPT0301高于5%还要好,尽管评测有一定局限性。

二、预训练和Fine-tuning

1 预训练训练loss变化情况

总结1: 对比Llama1,PPL最终是到1.6左右,这里Llama2-70B到1.5了。

总结2: 观察到进行2T tokens预训练后,模型仍然没有任何饱和迹象 ,还能继续加数据继续训!!!

总结3: tokenizer方法和LLAMA1一样,包括:BPE编码,SentencePiece切词,32K。

2 有监督SFT关键是高质量的数据

总结: SFT数据的质量比数量更重要,本文发现开源的一些数据量比较大,但是多样性和质量都不太好,本文最终收集了27540条高质量的数据来训练,效果有明显的改善

3 人类偏好数据收集(百万级别)

总结1: 收集了现有的开源的和meta收集的数据集,总共290万,其中Meta整理了141万。

总结2: 人类偏好的标签包括2种反馈,chosen或者rejected,感觉不是特别细。

总结3: 还分析了各种偏好数据的比较的次数、每个对话的平均轮次、每个例子、每个提示和每个回答的平均token数等指标。

4 各种大模型在Meta偏好数据上的表现

总结1: GPT4在人类偏好数据集上效果都比较高。 GPT4没有在Meta数据集上训练过,但是效果也是比较好的,但是比经过Meta数据训练的RM的效果还是要差一些。

总结2: 经过人类偏好数据集训练的Reward model能大幅提升在该领域的偏好效果。 在Meta Safety以及Meta Helpful数据集上,经过对应场景数据训练的RM,Safety RM和Helpfulness RM在各自的领域都是最好的,比GPT4都要好。

5 Reward model效果和模型尺寸的关系

总结: 数据越多,模型越大效果越好,70b的Reward模型更好的概率在80%+,13b的Reward模型更高的概率在75%-76%左右。

6 RL迭代训练(PPO和Rejection sampling fine-tuning)是关键的制胜法宝

总结1: 在强化学习阶段,不断迭代优化模型效果,主要探索了两种不同的RL算法来迭代优化,PPO和Rejection Sampling fine-tuning算法。

总结2: Rejection Sampling fine-tuning 是一种从模型生成多个候选输出,通过奖励机制选择最佳输出,并将选定的输出用于梯度更新和微调的方法。这个方法在之前的研究基础上进行了拓展,使得模型可以通过选择的输出来进一步优化自身。

总结3: 拒绝采样和ppo的不同。宽度:在拒绝采样中,该模型为给定的提示探索K个样本,而PPO只探索1个样本。深度:在PPO中,在步骤t的训练期间,样本是上一步梯度更新后t-1的更新模型策略的函数。在拒绝采样微调中,我们在应用类似于SFT的微调之前,根据模型的初始策略对收集新数据集的所有输出进行采样。由于应用了迭代模型更新,两个RL算法之间的基本差异不那么明显。

结论: 拒绝采样可以从多个样本中,选择更好的样本来训练迭代模型,采样的个数越多,效果越好。同时温度系数越高,多样性越高效果越越好。

总结1: 只在70B的LLAMA2-CHAT上使用了拒绝采样,其他小模型都是从大模型蒸馏过去。

总结2: 总共RL迭代了5轮,在RLHF(V4)之前,只使用拒绝采样微调,之后,我们按顺序将两者结合起来,在再次采样之前在结果的拒绝采样checkpoint上应用PPO。

7 利用GAtt方法来提升多轮问答中对系统指令的遵循能力

说明 :在多轮问答中,经常会忘记系统指令,如左图所示忘记用emojis来回答的指令,后面用GAtt技术优化后,右边有明显改善。

GAtt方法 :感觉是一种新的attention方法,对于第一条指令或者系统指令提供的注意力更强。

8 LLAMA2-CHAT的演变过程(RLHF迭代5轮的变化情况),效果非常强!

总结1: RLHF总共迭代了5次,每次迭代都有提升,其中前4次用的是拒绝采样来训练,v5用上了ppo提升更大。

总结2: RLHF带来的提升是比较明显的,从对chatgpt10%的胜率提升到了60%+。

9 人工评估有用性

总结: 在helpfulness prompts上,比其他开源模型效果要更好,甚至比闭源的chatgpt都要好一点。

三、Safety

1 在训练数据中引入更安全的数据

总结1: 安全的数据越多,效果越好,helpfulness保持稳定

总结2: 随着更多安全训练数据的添加,较低的安全RM分数(即最不安全的回答)逐渐消失,代表安全分非常低的结果越来越少。

2 利用Context distillation方法提升安全性

Context distillation方法: 指在上下文中引入额外限制提升安全性的方法,这里提供了两种方法如下:

方法1: Generic Preprompt:提升回答中不应该包括任何有害的、不道德、或者有偏见的内容。

方法2: Preprompt with Answer Template:给出答案的模版,指导可能不安全的行为该如何回答。

结论1: 采取通用的预提示方法(Generic Preprompt)会提高安全RM分数,但带有定制答案模板的预提示(Preprompt with answer Template)会更有帮助。

结论2: 随着原始安全分的增加,Context Distillation带来的提升越来越小,甚至对高分数的样本带来负面影响,所以本文只在能提升安全分的样本上使用context distillation技术。

3 Red Teaming

目的1: 被动风险识别可能不太够,这里还提出要主动风险识别来优化,本文把他叫做Red Teaming,主要用于分析哪些情况下可能会造成毒性的结果。

目的2: 安全是一个长尾问题,即使非常不频繁的case也会导致严重的后果。

发现的llm攻击特点:

• [早期模型]更有可能生成不安全的响应,而没有注意到它们包含有问题的内容。[稍晚的模型]能够发现有问题的内容,但是还是无法避免不输出。[最新模型]能够解决这些问题。

• 创意写作请求(歌曲、故事、诗歌等)可能会让他生成之前会强烈反对的内容(逃避监管机制,生成不安全的内容)。

• 在积极的上下文中嵌入有问题的请求,例如使用积极、进取、富有能量的问题进行掩盖,是最有效的攻击方法。

4 Safety Evaluation of Llama 2-Chat

总结: 不同尺寸的LLAMA2系列模型中,都有更好的安全性,同时有用性也非常不错。

总结: 多轮问答的有害性比单轮问答的有害性对别,增加比较多,但是LLAMA2系列模型都比其他模型好,34b的模型有点奇怪,本文也没有开源。

总结: 比较了多个角度,包括有害的,非法的,低质量三大类情况下个模型的违反比例,LLAMA2系列表现都不错,34b的模型表现有点奇怪没有开源。

四、Discussion

1 SFT模型到RLHF方法给Reward model score分布带来的变化

总结: 最还是的mix数据训练的SFT,低分数的比较多,随着利用标注数据,效果有了明显的提升,同时利用RLHF,获得高分数的样本越来越多,说明效果越来越好。

2 RLHF降低模型结果的了多样性

总结1: 温度越高,多样性越好,但是做了RLHF后,多样性有了明显的下降。

总结2: Creative Prompts还能维持较高的多样性,同时上文也提到,可能更容易被攻击,所以感觉多样性和有毒性确实是一个需要权衡的过程。

五、思考与总结

总结: 本文主要从预训练、Fine-tuning、Safety这几个角度来介绍了LLAMA2,其中引入高质量的数据,多次迭代优化Reward Model是非常关键的一步

总结1: 训练数据质量非常重要。 相对于多而质量不高的数据,SFT过程中,收集27540条高质量的数据就能有非常大的提升。

总结2: RLHF对对齐人类观念还是非常重要的。 LLAMA2使用RLHF迭代训练后,对chatgpt的胜率从开始的10%的胜率提升到了60%+。

总结3: 模型越大,数据量越多,Reward Model的效果就越好。

总结4: 提升安全性可以在训练数据,SFT,RLHF多个方面进行优化。 引入更安全的数据,可以降低毒性非常高的结果。引入RLHF,可以进一步提高输出结果的Reward Model分数。

总结5: 引入Context distillation方法也可以有效的提升安全性。 通用的不能输出毒性结果的指令能够带来一定提升,同时对毒性结果进行后处理,能够更进一步提升安全性。

总结6: 多轮问答比单论问答有更高的出现毒性回答的概率。 本文利用GAtt方法来优化多轮问答的安全性。

总结7: 安全性和多样性是需要权衡的。 在看到RLHF对齐人类观念的同时,也要看到其多样性牺牲比较大。同时如果多样性比较高,也使其更有可能产生不安全的内容。

进技术交流群请添加AINLP小助手微信(id: ainlp2)

请备注具体方向+所用到的相关技术点

![](https://api.allorigins.win/raw?url=https://mmbiz.qpic.cn/mmbiz_jpg/nW2ZPfuYqSJADkmZ2IX6Z23znAibuEevotDMq9iaMxiapK7jfMibiauGFkycicAJEs6x5U9SGyDJZ0S1tRed9TPNUUDQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。

  


  


![](https://api.allorigins.win/raw?url=https://mmbiz.qpic.cn/mmbiz_jpg/nW2ZPfuYqSKABHCqVVQkVYPrM4XY1vsd0iaeuXzyJnoFc8cibd5mYb4wdA3WMQtiaPVmr0XLZHMuVibqWncibpnTSnQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

阅读至此了,分享、点赞、在看三选一吧🙏

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具