InstructGPT的流程介绍

1. Step1:SFT,Supervised

Fine-Tuning,有监督微调。顾名思义,它是在有监督(有标注)数据上微调训练得到的。这里的监督数据其实就是输入Prompt,输出相应的回复,只不过这里的回复是人工编写的。这个工作要求比一般标注要高,其实算是一种创作了。
2. Step2:RM,Reward

Model,奖励模型。具体来说,一个Prompt丢给前一步的SFT,输出若干个(4-9个)回复,由标注人员对这些回复进行排序。然后从4-9个中每次取2个,因为是有序的,就可以用来训练这个奖励模型,让模型学习到这个好坏评价。这一步非常关键,它就是所谓的Human

Feedback,引导下一步模型的进化方向。
3. Step3:RL,Reinforcement Learning,强化学习,使用PPO策略进行训练。

PPO,Proximal Policy Optimization,近端策略优化,是一种强化学习优化方法,它背后的主要思想是避免每次太大的更新,提高训练的稳定性。具体过程如下:首先需要初始化一个语言模型,然后丢给它一个Prompt,它生成一个回复,上一步的RM给这个回复一个打分,这个打分回传给模型更新参数。这里的这个模型在强化学习视角下就是一个策略。这一步有个很重要的动作,就是更新模型时会考虑模型每一个Token的输出和第一步SFT输出之间的差异性,要让它俩尽量相似。这是为了缓解强化学习可能的过度优化。

LLM的输出怎么评价:

三大原则:有帮助(helpful)、真实性(truthfulness)和无害性(harmlessness)

对大部分任务,无害和真实比有帮助更加重要。

对于边界 Case 的指导原则是:你更愿意从试图帮助你完成此任务的客户助理那里收到哪种输出?这是一种设身处地的原则,把自己假想为任务提出者,然后问自己期望得到哪种输出。

参考:
https://yam.gift/2023/02/19/NLP/2023-02-19-ChatGPT-Labeling/

相关推荐
会飞锦鲤2 小时前
基于 Mask R-CNN 的药片缺陷检测系统
人工智能·pytorch·python·神经网络·resnet-50
默 语2 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
清水白石0082 小时前
Python 异步编程深度解析:Cancellation 到底是异常还是控制信号?从 asyncio 取消机制到企业级事务设计最佳实践
开发语言·python
Patrick在香港3 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
IT毕设梦工厂3 小时前
计算机毕业设计选题推荐:基于大数据的草鱼价格分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·大数据毕设项目
GISHUB3 小时前
基于QGIS 3.44开发Python插件完整教程
python·qgis
大数据魔法师3 小时前
curl_cffi从入门到实战
爬虫·python
Sylvia33.3 小时前
火星数据体育API|一站式接入足球篮球电竞等18+项目实时数据
java·开发语言·python·websocket·游戏
程序员清风3 小时前
LangGraph 入门:用状态机设计可靠的 Agent 工作流
人工智能·python
Data_Journal4 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy