Anthropic
paper: Red Teaming Language Models to Reduce Harms Methods,Scaling Behaviors and Lessons Learned
paper: A General Language Assistant as a Laboratory for Alignment
paper:Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback
样本构建
从论文标题不难看出,Anthropic也只考虑了2H,有害性和有用性。并且着重研究了对抗有害样本的生成,受限于篇幅这里不展开。我个人也更偏好2H,因为我始终没太想明白Honesty如何能通过对齐实现。因为部分非事实性是来自预训练样本中的噪声,例如预训练样本中是"鲲之大一锅炖不下",如何通过对齐让模型学到"鲲之大,不知其几千里也"?部分非事实性来自训练样本的有限性,需要像Bing一样通过引入实时信息来解决,要是大家有不一样的观点也欢迎留言评论。
同样是拆分了2个标注任务,和DeepMind的差异是,Anthropic是把有害性和有用性分成了两个标注任务,针对开放的对话主题进行4轮左右的对话。
-
有害性标注:和DeepMind相同使用了红蓝对抗的方案,目标是引导模型生成有害回复。每一轮模型会生成2个回答,选择更有害的一个
-
有用性标注:同样是每轮2选一,选择更有帮助的一条回复,并不强制进行事实性检查
对抗/引导式的数据标注方式,对比OpenAI直接标注,可以更充分挖掘偏好中更有用和更有害的数据,对于解决模型安全性有更大的帮助,但感觉可能缺少中间部分偏好的样本,如果能和OpenAI直接标注的方案结合是否会更好?
除了2H的任务分开标注之外,每个标注同学进行对话的模型虽然都是52B的模型,但会随机来自3个不同版本的模型
-
HHH Context-Ditill:类似3Hprompt(helpful,harmless, honest)加持的基础模型,最初只有这个模型
-
Rejection Sampling(RS):使用3H模型生成16个回复,使用训练后的PM模型对结果排序,选择有害性最小的2个回复
-
RLHF微调后的模型:后续的数据收集会基于微调后多个版本的模型持续进行
奖励模型
Anthropic的奖励模型同样是基于样本排序进行训练的,有用得分高于无用,无害得分高于有害,并且更详细论证了相对排序模型的效果要好于二分类模型,要好于语言模型。
为了降低对微调数据的需求,Anthropic加入了Preference Model Pretraining(PMP)的继续预训练过程,使用Reddit, StackExchange等开源问答的数据让模型先部分学习什么是好的什么是坏的回答。
除此之外Anthropic还讨论了PM模型大小对模型稳健性的影响。通过把数据集一分为二,一半训练,一半验证,越稳健的PM模型应该在不同数据上有相似的打分分布。论文使用PM模型在两份数据上打分的KL散度来衡量稳定性,得到两个结论
-
PM模型越大,KL散度越低
-
PM模型打分在低分区一致性较高,在高分区一致性较低<