0%
总结
- 这个文章提出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的目标拿了过来,相当于不要遗忘