- Published on
ChatGPT背后的算法流程理解
0x01 前言
最近 ChatGPT 真的是很火的一个 demo, 最早是在 b 站看到有人发视频, 后来发现大家也都在注册和这个能大致和人类聊天相仿的 bot 进行一波互动,有点点好奇背后的原理是啥。上 youtube 一搜发现有李宏毅老师的讲解,果断就点进去看看。
还没玩过 Chat GPT 吗? 链接在这里 https://chat.openai.com/chat
Chat GPT 官方 Blog: https://openai.com/blog/chatgpt/
Instruct GPT 论文链接: https://arxiv.org/abs/2203.02155
GPT-3 介绍 – 来自猎人黑暗大陆的模型: https://youtu.be/DOG1L9lvsDY
视频中的 PPT 链接:https://docs.google.com/presentation/...
0x02 基本流程
-
学习文字接龙
- 在第一个部分中,ChatGPT 构建了一个 GPT(Generative Pre-trained Transformer) 模型,GPT 模型通过输入不完整的句子,然后去预测这个不完整的句子下一个字应该接什么。经过训练之后,就产生了一个基于文字的概率分布,输入相同的句子的时候,ChatGPT 每次能够从概率分布中 sample 出一个字接到该句子的后面。
- 从网络上摘取的文章和句子进行训练,这个过程不用人工参与,也就是不用人工标注,只需要让 GPT 模型自行去学习参数。GPT 模型需要做的事情就是根据不完整的句子去预测下一个字是什么。
- 当模型通过一个一个字进行输出过后,就产生了最后的答案
-
人类老师引导文字接龙
- 上面产生的回答不一定能输出最好的回答,因为当机器面临一个问句的时候,模型既可以再继续输出一个问句,这就不是我们人类想要的答案,因此我们需要通过人类的引导去让模型意识到什么是好的回答。
- 因此在这个阶段就是需要通过人类的介入来让模型的回答更加趋于准确。因此需要人类来思考并问 GPT 问题, 最后还需要提供答案。
- 我们并不需要穷举所有的问题和答案, 因为这些问题的答案是 GPT 自己有能力产生的
-
模仿人类老师喜好
- 经过了上一个阶段,现在就让 GPT 模型自己产生答案(人类不提供给模型答案),然后人类在这个阶段去评判机器输出答案的好坏,并给予评分, 给高分或者给低分。
- 接下来就是去训练一个模仿老师的 model,这个 teacher model 的作用就是能够评判 GPT 模型所输出答案的好坏,并给出相对应的分数,这个模型就是要模仿人类的评分标准。
-
用强化学习的方法向模拟老师学习
- 最后就是用强化学习让 GPT 向 teacher model, 也就是模拟的人类老师的模型去学习