ᴊᴜsᴛ ᴀ ᴘᴇᴇᴋ 头像

消息来源频道

ᴊᴜsᴛ ᴀ ᴘᴇᴇᴋ

@justapeek

频道3,794 位成员公开可见0 人在线
成员规模3,794 位成员
在线情况0 人在线
消息总数9,565 条消息
浏览量总数770,626 次浏览

在这个频道里搜索消息……

t.me/justapeek

解读 ChatGPT
想必各行各业的大家对 #ChatGPT 都有所耳闻了吧。有拿它编论文的有拿它写剧本的有拿它改代码的,还有打算拿它代替搜索引擎的,总之被玩出了花。谁看了不惊呼机器早晚反抗人类暴政呢?
聪明的你是否会好奇这背后藏着么大秘密?为什么她会有如此惊人的效果。
顾名思义,ChatGPT 由两个部分组成,Chat 和 GPT。看到这里,读者想必有了一些猜测。没错,Chat是它的训练手段,GPT 是它的本质。
那么什么是 GPT 呢?GPT 是一个语言模型,它的初代诞生时间稍早于 BERT,然后在之后的很长一段时间内被 BERT 掩盖住了光芒。原因大概是不管 GPT 几,对于一般人来说 Train 起来实在是太困(烧)难(钱)了。
GPT 和 BERT 一样,都是基于 Transformer 的,不同的地方在于前者是用 Decoder train 的,后者是用 Encoder train 的。因为 Encoder 和Decoder 看到的序列的差异导致了 Decoder train 起来更难一些,但是一旦 Train 好的话上限其实是更高的。
再简单说一下语言模型的运作方式,就是你先喂一小段文字进去,模型会根据你喂进去的文字去预测下一个最有可能出现的词 (token),再把这个词跟之前的文字一起喂进去,吐出下一个最有可能出现的词。就这样一直循环。所以理论上你让它吐得越多它就会越离谱……
所以你以开始喂进去的那一小段话我们就可以把它叫做 Prompt,提示语。模型在做的事就是不断地续写。根据 Prompt的类型的不同,续写的内容可以是问题的答案,也可以是一个命题作文。
然后就到了 Chat 的部分。OpenAI 应该是专门写了一个 Chatbot 用来给数据标注人员做交互。可能这样比较有参与感,写出来的语料质量也更高吧。整个训练过程叫做 Reinforcement Learning from Human Feedback (RLHF),由 3 个步骤组成:
-第一步是准备一个 Prompts 的数据集,标注人员给 Prompts 写 Desired outputs,模型也会产生一些辅助的Outputs 给人修修改改。用这样的 Prompts-outputs 数据对就可以先finetune 一下 GPT 了。
-第二步:经过第一步之后模型已经能吐出一部分回答了,但是不是所有的回答都特别理想,这时候标注人员可以对拿到模型对同一个 Prompt 生成的不同回答打分。根据 Prompt-output-score 这样的数据,又可以 Train 一个 Reward model(RM)来代替人工打分的这个过程。
-有了自动生成答案和自动打分的模型之后我们就可以让语言模型自己去优化了,这就是第三步。这是一个强化学习的过程,目标是让 RM 打的分越高越好。
总结一下,GPT 这样的模型想要 Train 到一个比较好的程度,本身就需要海量的数据和机器。再加上设计得比较精妙的训练过程和产生高质量训练数据的方式,两者一结合就达到了非常惊人的效果。他们十个月之前做的 InstructGPT 虽然训练过程也大差不大但是缺了个 Chatbot 所以导致 Labeler 标数据标得太枯燥了,质量不佳,产量也不佳,所以模型效果也就一般般了(无端猜测)。有钱真好啊……
Ref:
https://openai.com/blog/chatgpt/ https://moresci.sale/@fluecarrier/109500571261841720