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/

相关推荐
沃洛德.辛肯12 分钟前
PyTorch 的 F.scaled_dot_product_attention 返回Nan
人工智能·pytorch·python
noravinsc23 分钟前
人大金仓数据库 与django结合
数据库·python·django
豌豆花下猫30 分钟前
Python 潮流周刊#102:微软裁员 Faster CPython 团队(摘要)
后端·python·ai
yzx9910131 小时前
Gensim 是一个专为 Python 设计的开源库
开发语言·python·开源
麻雀无能为力1 小时前
python自学笔记2 数据类型
开发语言·笔记·python
Ndmzi1 小时前
matlab与python问题解析
python·matlab
懒大王爱吃狼1 小时前
怎么使用python进行PostgreSQL 数据库连接?
数据库·python·postgresql
猫猫村晨总2 小时前
网络爬虫学习之httpx的使用
爬虫·python·httpx
web150854159352 小时前
Python线性回归:从理论到实践的完整指南
python·机器学习·线性回归
ayiya_Oese2 小时前
[训练和优化] 3. 模型优化
人工智能·python·深度学习·神经网络·机器学习