前言

已经发布一周了热度依旧不减,也各种大显神通,为各大网友“出谋划策”,有写周报的,有写绩效的甚至还有写论文的,作为一个NLP从业者,除了好好体验下其中的乐趣,其背后的原理当然也要有所了解,本文就从其技术细节为大家一一揭开奥秘。

的前世

出来之前,相信大家体验过很多智能问答机器人,大部分的评价都是“人工智障”,而则给人一种忽如一夜春风来,千树万树梨花开的感觉,怎么AI突然变得如此智能!实际上,的成功源自于2年前的GPT3+后期的RLHF优化,所以说

接下来我们就先简单回顾下GPT3,GPT3是一个基于 的生成模型,其参数规模达到了1750亿,并且使用45TB数据进行训练,其预训练任务就是“句子接龙”,给定前文持续预测下一个字,因此只要有干净的文本数据就能作为模型的训练数据。虽然任务简单,但由于模型规模大数据量大,训练成本达到了数千万美元,在模型训练过程中还有一个小插曲,研究人员发现了代码中有一个小bug,但因为训练成本昂贵并未修复这个bug。

GPT3首次把模型的规模带到了千亿级别,开辟了大模型赛道,其次也为NLP带来了一种新的范式,为GPT3带来了0样本、小样本的学习能力,也为BERT base级别的模型带来了一些新的玩法。

GPT3在AI圈内掀起了很大的浪花,但是并未出圈,其关键原因在于其存在严重的弱点

这些问题被统一称为,随着语言模型的规模越来越大,模型的输出很难满足用户的需求,并且对于生成模型来说,如果要生成不同的答案就涉及到采样算法,那这对于生成的内容来说就更难控制了,那么怎么解决这个问题呢?接下来我们就来看看是怎么做到的。

管得住嘴的

在面世前还出过一篇paper: to with human ,一看这标题就能感觉到肯定少不了人工打标,这篇paper提出了对于GPT3的改进称为,的目标就是要解决GPT3“管不住嘴”的问题,其解决方案叫做RLHF,其包含3个步骤

1、 data, and train a

采集数据用USB什么模式_采集数据用什么_用chatgpt怎么采集数据

GPT3面世后,提供了api,付费后即可集成到自己的项目中,用户使用的时候直接采用 的方法做0样本或小样本的预测,这个过程让收集到了大量的数据,研究人员从这些中采样一部分,人工对这些做回答,得到的结果称为即有标签数据,再用这些继续fine- GPT3,这个过程称为 fine- (SFT)。GPT3的预训练阶段使用的是网上海量的数据,这些数据的质量鱼龙混杂,监督学习的目的就是让模型能生成更多符合人类预期的答案,从而尽可能避免生成一些有害的信息。

2、 data, and train a model

但是监督学习毕竟需要标注大量数据,在怎么有钱也不能这么造呀,于是乎想了个办法,搞个模型来判断GPT3输出的有没有问题。于是在有了SFT模型后,继续采样,让SFT模型输出多个不同的,人工对做排序,把这个结果拿去训练一个RM( model),这个模型和SFT结果一样,只是size小一些,paper中提到6B级别的模型比175B级别的模型更加稳定。注意这里的是一个zero mean的,这样RM模型只要输出一个大于0的值那么就认为GPT3生成的内容是OK的。

最后看下loss ,其中 rθr_{theta}rθ​表示的是RM,xxx表示的是用户输入的内容,yyy表示不同的答案,注意这里有一个组合数(K2)binom{K}{2}(2K​) 训练的时候要把同一个组合数中的内容放到一个batch内,不然会出现过拟合的情况,K通常取4到9之间的一个值,可以看到这其实就是一个模型。

3、 a the model using PPO

有了RM,下一步我们就可以用RM的输出结果来反哺SFT模型了,其思路是采用RM的输出值作为,基于 RL的思路进行优化,

有多少人工才有多少智能

在RLHF的优化过程中其实存在很多的标注任务,把标注这个过程看的其实非常的重,他们组建了一个40人的外包标注团队,并且基于以下标准 对标注人员做了一个严格的筛选:

基于以上4个标准筛选出了个标注团队,可见只有高质量的数据才能给模型带来质的提升。

最后看看整体的效果,基于PPO-ptx的模型效果提升明显,特别是6B规模的模型效果出色。

思考

火了之后,大家都在讨论能否把应用到自己的业务中或者能否把RL应用到业务中减少些人力标注成本,这里也说说我自己对这两个问题的想法。

应该只是的压轴戏,让我们一起期待23年初的GPT4能带给我们带来怎样的惊喜。