- 名称: Llama 2: Open Foundation and Fine-Tuned Chat Models
- 文章: arxiv.org/pdf/2307.09…
- 代码:huggingface.co/meta-llama
- 日期: 2024-9-26
- 译自’Llama 2: Open Foundation and Fine-Tuned Chat Models’,此为下文, 敬请勘误。
- 安全、讨论与相关工作及附录未翻译全(文章实在太长了, 笔者后面继续)。
接 Llama系列-Llama 2及LLaMA_chat(上)
多转一致性的系统消息 - System Message for Multi-Turn Consistency
在对话设置中,某些指示应适用于所有对话轮次。 例如,简洁地响应,或"充当"某个公众人物。当我们向Llama 2-Chat提供此类指示时,后续应响应始终遵守约束。然而,我们最初的RLHF模型往往会在几轮对话后忘记最初的指令,如图9(左)所示。为了解决这个问题,我们提出了Ghost Attention(GAtt),这是一种受上下文蒸馏启发的非常简单的方法,它对微调数据进行破解(hacks),以帮助注意力集中在多阶段过程中。如图9(右)所示,GAtt能控制对多轮对话,如图(9)右所示。
GAtt方法 假设我们有一组两人之间的多轮对话的数据集(例如,一个用户一和个助理),其中用户信息为u开头,助理回应的消息为a开头, n代表轮次, 对话内容为[u1,ai,…,un,an]。 然后我们再定义一个作用于整个对话的指令(例如,指令可以是"act as"),并将该指令与对话集融合。
下一步,我们使用最新的RLHF模型从这个合成的对话集中进行采样。 我们现在就有一个上下文对话和样本,可采用类似于拒绝采样的过程对模型进行微调。 我们可以在除了第一回合之后移除了,而不是用指令来扩充所有的上下文对话,但这会导致系统消息(即最后一个回合之前的所有中间辅助消息)和我们的样本在训练时间上的不匹配。为了解决这个可能会影响到训练的问题,我们只需将前几回合的token的损失设置为0,这些token包括辅助消息。
为了这些训练的指令,我们创建一些合成约束条件来进行采样:爱好(比如"你喜欢网球"),语言(比如"讲法语"),或公众人物(比如“扮演拿破伦”)。 这些兴趣爱好与公众人物列表 我们要求Llama 2-Chat来生成,这样可以指令和模型知识间的不匹配(例如:要求模型去扮演在训练时不存在的人物或兴趣). 为了让指令更加的复杂和多样式,我们通过随机组合上述约束来构建最终指令。在为训练数据构建最终的系统统消息时,我们也会有一半的时间去修改原始指令,使期不要那么冗长,例如:”从现在开始总是充当拿破仑“将改为"身份:拿破仑."。这些步骤会生成一个SFT数据集,用于微调Llama-2-chat.
GAtt评估 我们RLHF V3之后开始使用Gatt。 我们的一份定量分析报告指明GAtt可以让多轮对话在达到最大上下文长度之前将对话持续20+轮,还能保证一致性。 图28我们展示了推理时Gatt训练时不使用约束的情况,从图中可以看出,模型一致性保持的不错。
为了描述GAtt在微调期间如何重塑注意力,图10展示了我们模型的最大注意力激动情况,其中图的左侧对应的系统消息(例如“扮演奥斯卡·王尔德”),左图为没用GAtt模型的情况,右图为使用GAtt模型的史。我们从图可以看到,与没有Gatt(左)的模型相比,配备了GAtt的模型(右)在对话的大部分时间里保持了对系统消息的最大注意力激活。尽管他很实用,但当前的GAtt实现是vanilla且该技术的更多开发和迭代可能对该模型更有益。例如,我们可以教模型去在对话期间过程中通过在微调过程中集成这些数据去改变系统消息。
RLHF结果
Model-Based Evaluation
评估LLMs是一个具有挑战性的开放研究问题。虽然人类评估是一个黄金标准,但也可能因为各种HCI因素而变的复杂,且并不总是可扩展的。为了在每 在从RLHF-V1到V5的每次迭代的几个消融中选择性能最好的模型, 我们首先从最新的奖励模型中观察到奖励的改进,以节省成本同时提高迭代速度。我们后来通过人工评估验证了主要模板的版本。
基于模型的评估能走多远? 为了衡量我们奖励模型的鲁棒性,我们收集了一组安全性与有用性并存的提示测试性, 要求三位标注者根据7-point Likert方法值(越高越好)来判断答案的质量。由此,我们观察到我们的奖励模型总体上与人类偏好是对齐的,如下图(图29)。这证实了使用我们的奖励作为逐点指标的相关性,尽管我们接受了成对排名损失的训练。
尽管如此,正如Goodhart定律所指出的,当措施变成目标时,它就不再是一个好的措施。为了保证我们的措施与人类偏好没有偏离,我们还用了一种更通用的奖励,在不同的开源奖励模型集进行训练。我们还没观察到任何的偏离,因此我我们假设迭代模型更新可能有助于防止这种情况的发生。
最后一个验证步骤,是确保我们的新模型与前一个模型之间不存在回归, 我们在下一个标注迭代中使用这两个模型进行采样。这样我们可以在新提示上“免费"进行模型比较,还有助于增加采样的多样性。
模型进展。 下图(图11) 展示了我们针对SFT和RLHF不同版本版本的进展,该图示是由我们内部的安全性与有用性的奖励模型测量所得。在这些评估集中,RLHF-V3后我们在SFT和RLHF上都胜过了ChatGPT(无害性与有用性都超过了50%)。尽管前面提到了使用我们奖励作为逐点衡量标准(point-wise metric)的相关性,但可以说,它可能偏向于Llama 2-Chat。因此为了比较的公平性,我们使用GPT-4额外计算最终结果,用于评估模型优劣。ChatGPT和Llama 2-Chat的输出顺序 GPT-4的提示
为了避免任何偏差,ChatG