https://www.jianshu.com/p/6daf35cbc46a
ChatGPT的论文目前还没有发布,在其官方博客(https://openai.com/blog/chatgpt/)中对方法有这样的简述:
我们使用来自人类反馈的强化学习(RLHF)来训练这个模型,使用与InstructionGPT相同的方法,但数据收集设置略有不同。我们使用有监督的微调训练了一个初始模型:人工智能训练师提供对话,他们扮演用户和人工智能助手的双方角色。我们让训练师获得模型书面建议,以帮助他们撰写回复。我们将这个新的对话数据集与InstructGPT数据集混合,并将其转换为对话格式。为了创建强化学习的奖励模型,我们需要收集比较数据,其中包括两个或多个按质量排序的模型响应。为了收集这些数据,我们进行了AI训练师与聊天机器人的对话。我们随机选择了一个模型撰写的消息,抽样了几个备选的完成,并让AI训练师对其进行排名。使用这些奖励模型,我们可以使用近端策略优化对模型进行微调。我们对这个过程进行了多次迭代。
We trained this model using Reinforcement Learning from Human Feedback (RLHF), using the same methods as InstructGPT, but with slight differences in the data collection setup. We trained an initial model using supervised fine-tuning: human AI trainers provided conversations in which they played both sides—the user and an AI assistant. We gave the trainers access to model-written suggestions to help them compose their responses. We mixed this new dialogue dataset with the InstructGPT dataset, which we transformed into a dialogue format.To create a reward model for reinforcement learning, we needed to collect comparison data, which consisted of two or more model responses ranked by quality. To collect this data, we took conversations that AI trainers had with the chatbot. We randomly selected a model-written message, sampled several alternative completions, and had AI trainers rank them. Using these reward models, we can fine-tune the model using Proximal Policy Optimization. We performed several iterations of this process.
RLHF代码可参考:https://github.com/lucidrains/PaLM-rlhf-pytorch 5k stars
InstructGPT
标题:Training language models to follow instructions with human feedback
https://arxiv.org/abs/2203.02155
https://openai.com/blog/instruction-following/
使语言模型更大并不意味着它们能够更好地遵循用户的意图。例如,大型语言模型可以生成不真实、有毒或对用户毫无帮助的输出。换句话说,这些模型与其用户不一致。在这篇文章中,我们展示了一种通过微调人类反馈来调整语言模型和用户在广泛任务中的意图的方法。从一组标注者编写的提示和通过OpenAI API提交的提示开始,我们收集了所需模型行为的标注者演示数据集,我们使用该数据集使用监督学习来微调GPT-3。然后,我们收集了一个模型输出排序的数据集,我们使用该数据集使用来自人类反馈的强化学习来进一步微调这个受监督的模型。我们将生成的模型称为InstructGPT。在对我们的即时分布的人类评估中,1.3B参数InstructGPT模型的输出优于175B GPT-3的输出,尽管其参数少了100倍。此外,InstructionGPT模型显示了真实性的提高和有毒输出生成的减少,同时在公共NLP数据集上具有最小的性能回归。尽管InstructGPT仍然会犯一些简单的错误,但我们的结果表明,对人类反馈进行微调是使语言模型与人类意图保持一致的一个有希望的方向。
https://cdn.openai.com/instruction-following/draft-20220126f/methods.svg