【转帖】ChatGPT的前身:InstructGPT
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
【转帖】ChatGPT的前身:InstructGPT的更多相关文章
- 我在京东做研发 | 从好玩到好用,爆火ChatGPT前沿分享
| 嘉宾:吴友政,京东集团高级总监.京东科技语音语言算法部负责人. 2006年中科院自博士毕业后,先后在日本国立信息通信研究机构.英国爱丁堡大学.索尼中国研究院从事自然语言处理相关研究工作,主要聚焦自 ...
- ChatGPT强势爆红,背后的技术原理是?一文轻松搞懂!
目录 什么是ChatGPT? OpenAI 背后的原理和发展历程 带来的争议和挑战 尾语 作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.源码解析.科技故事.项目 ...
- ChatGPT/InstructGPT详解
作者:京东零售 刘岩 前言 GPT系列是OpenAI的一系列预训练文章,GPT的全称是Generative Pre-Trained Transformer,顾名思义,GPT的目的就是通过Transfo ...
- [转帖]Apache、Tomcat与Catalina作为软件名字的含义与关系
Apache.Tomcat与Catalina作为软件名字的含义与关系 -- :: 复杂度掠夺者 阅读数 3356更多 分类专栏: 术语解释 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...
- 玩 ChatGPT 的正确姿势「GitHub 热点速览 v.22.49」
火了一周的 ChatGPT,HG 不允许还有小伙伴不知道这个东西是什么?简单来说就是,你可以让它扮演任何事物,据说已经有人用它开始了颜色文学创作.因为它太火了,所以,本周特推在几十个带有"c ...
- ChatGPT 背后的“功臣”——RLHF 技术详解
OpenAI 推出的 ChatGPT 对话模型掀起了新的 AI 热潮,它面对多种多样的问题对答如流,似乎已经打破了机器和人的边界.这一工作的背后是大型语言模型 (Large Language Mode ...
- 程序员大杀器?带你玩转ChatGPT
作者:京东零售 栗鸿宇 ChatGPT简介 ChatGPT是一款基于AI技术的机器人对话软件,它能够与用户进行智能化的聊天对话,帮助用户解决日常生活中的问题,为用户提供丰富的信息和服务.它集成了海量知 ...
- ChatGPT 背后核心技术的白话版
本文是关于ChatGPT 背后核心技术实现的一个通俗白话版,不涉及到的AI具体实现的技术细节哦. 在编排上增加了一些分割,内容具体如下: LLMs(大型语言模型) 如果将ChatGPT比作是动物,它就 ...
- 聊聊最近爆火的 CHAT-GPT
Chat-GPT 以问答的方式呈现给用户,如何使用 Chat-GPT,实际上转换为另一个问题:如何有效地提问. 编写程序 难度为"困难",通过率仅 30.9% 的动态规划题: 很稳 ...
- ChatGPT调研分析与应用场域结合构想
作者:京东科技 胡骏 摘要 1. ChatGPT调研分析 2022年11月30日,ChatGPT横空出世,在全球范围内形成了热烈的讨论.根据Similarweb的数据,今年1月,平均每天约有1300万 ...
随机推荐
- 产品经理,项目经理,FTO
职责与自驱 产品经理是要保证做正确的事:项目经理则是保证正确地做事:FTO 既要保证做正确的事,也要保证正确地做事,还要保证能拿到结果,且对结果负责. 能做事的专业人才不缺,但是既有专业知识和技能还能 ...
- 实践案例丨云连接CC实现跨区域多VPC与线下IDC Server互联
摘要:用实践案例带你掌握云连接CC如何实现跨区域多VPC与线下IDC Server互联. [背景] 当前在华为云华南.华东.香港region均部署了业务,同时在华南region通过云专线与线下IDC打 ...
- 关于Spring注解开发教程,打包全送你
摘要:spring是我们web开发中必不可少的一个框架,基于传统的xml方式配置bean总觉得太过繁琐,从spring2.5之后注解的出现可以大大简化我们的配置. 本文分享自华为云社区<如何高效 ...
- presto是如何保证作业内存不会发生冲突和溢出
摘要:presto计算引擎作为一个纯内存计算引擎,是如何保证计算过程不会发生作业内存溢出的?本篇文章会进行深入的学习和分析. 本文分享自华为云社区<presto是如何保证作业内存不会发生冲突和溢 ...
- vue2升级vue3:provide与inject 使用注意事项
provide / inject 类似于消息的订阅和发布.provide 提供或发送数据, inject 接收数据. VUE provide 和 inject 使用场景 当我们需要从父组件向子组件传递 ...
- Solon 问答:项目如何直接添加 https 支持?
app.yml 添加两行配置即可: #设定SSL证书(支持:solon.boot.jdkhttp 或 solon.boot.jlhttp 或 solon.boot.jetty 或 solon.boot ...
- Solon Logging 日志插件的记录器、添加器级别控制
有需要的人可以记下 solon.logging.appender: console: level: TRACE #设置级别,默认为 TRACE enable: true #是否启用,默认为 true ...
- 错误: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
Modules 把 Language level 调成 8
- JupyterLab 桌面版 !!!
JupyterLab 是广受欢迎的 Jupyter Notebook「新」界面.它是一个交互式的开发环境,可用于 notebook.代码或数据,因此它的扩展性非常强. 用户可以使用它编写 notebo ...
- Go--字符串函数
示例: package main import ( "fmt" "strings" ) func main() { //strings.Contains(): ...