0%

Training language models to follow instructions with human feedback

总结

  • 这个文章提出instructGPT模型,instructGPT是ChatGPT的前身,OpenAI的所有工作基本都有连续性
  • instructGPT官方博客的四个例子
    • 改代码
    • 问合法建议(有危险的问题不会回答)
    • 跨学科回答问题,密码学和文学结合,对上下文的理解很好(8000词左右)
    • 可以理解自己的局限性
  • 数据格式是多轮对话
  • 过往大模型可能存在的问题:
    • 不真实
    • 有政治、法律风险
    • 没有价值(一本正经的胡说)
    • 总的来说就是没有和人的观念对齐,对于大公司来说是不可接受的
  • 为了解决上面说的问题引入人工标注,总体流程分为三块:
    • 人工做了问答数据集,以GPT3为基础fintue了一个模型(SFT,有监督模型)
    • 人工对问答模型的多个结果(beam search)进行排序,训练了一个打分模型(RM reward model 奖励模型)。因为排序比生成简单
    • 使用打分模型和强化学习的方式finetune问答模型
  • 结果instructGPT 1.3B的参数好过175B的GPT3,这个也还好毕竟使用了标注数据集信噪比高
  • instructGPT虽然在各个任务上表现很好,但是对于细分领域还是不如专业模型

方法

  • 从19和20年的两篇文章来的方法
  • 需要对标注的人员进行测试
  • SFT模型训练
    • 训练了16个epoch,虽然1个epoch就过拟合了,但是发现虽然过拟合也会对后面RM打分和人工打分有帮助
  • RM训练
    • 去掉softmax预测词的部分,改为线性层映射为一个分数
    • 用6B参数版本,不用175B因为训练会飞掉
    • pairwise训练,从top9里面取两个配对,共计36个样本对。感觉给9个答案排序,标注的人也很辛苦
    • 学习的方式是PPO,在强化学习中模型被称为policy,策略
    • 在初始阶段RM模型的参数和SFT是一致的,分批取数据训练,因为训练完成后模型给的值会发生变化,所以采用这种方式称为在线学习
    • 在学习目标中加入了KL散度约束RM模型和SFT模型不要离得太远(训练跑偏)
    • 在学习目标中又把训练GPT3的目标拿了过来,相当于不要遗忘