一、概述
Llama 2: Open Foundation and Fine-Tuned Chat Models
论文地址: Llama 2: Open Foundation and Fine-Tuned Chat Models
代码:
官网:
1Motivation
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.3LLAMA2和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
大模型评价维度: 一般从代码,常识推理,世界知识,阅读理解,数学,比较热的几个数据集包括MMLU,BBH,AGI Eval等方面来评估。
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对齐人类观念的同时,也要看到其多样性牺牲比较大。同时如果多样性比较高,也使其更有可能产生不安全的内容。
本文转载自,作者:
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/keji/32744.html