一、ChatGPT:背后的技术逻辑
ChatGPT是一种大语言模型,需要大量的数据支撑其训练。然而,ChatGPT并不能理解自身所知和所不知的,
也无法区分自身的强弱项。它只是根据所训练的数据,尝试模仿下一个 token 应该是什么。(这里的token不是前后端交互校验用户身份的鉴权token)
训练ChatGPT大致包括以下四个步骤:预训练、监督微调、奖励建模和强化学习。
-
- 预训练阶段:在这个阶段,模型会对大量的网络文本数据进行训练,这需要大量的计算资源和时间,成本极高。这个过程的目标是让ChatGPT学习人类的语言,并将这些语言转化为标记token。
-
- 监督微调阶段:这一阶段引入了人工干预。为了提高数据质量,会收集少量高质量的数据集,并进行人工处理。这里的“少量”是相对于预训练阶段的数据量,实际上也需要数万个数据样本来保证数据的多样性。
-
- 奖励建模阶段:在此阶段,会将收集到的数据转换为比较模式,对生成的答案进行排名和评分,通过这种方式训练奖励模型。
-
- 强化学习阶段:强化学习是在奖励建模的基础上进行的,可以看作是一个持续迭代和更新的过程。质量好的输出结果会被标记,并不断的补全prompt,实现对模型的优化。
二、ChatGPT:思考模式与人的区别
我们可以将ChatGPT的思考模式,与我们人类的思考模式进行比较。假设我们正在撰写一篇统计文章,需要写下“AI视界的读者统计”的标题。然而,对于ChatGPT来说,它并不会像我们一样去查找数据、验证数据、并据此修改我们 的方案。相反,ChatGPT会将我们的提问转化为一系列的 token,然后预测出下一个词,生成一段文本。在这个过程中,ChatGPT不会进行自我反思,不会检查其生成的内容是否有误,它的任务就是对标记序列(token)进行采样。
三、如何优化ChatGPT的提问方式
ChatGPT的目标是模仿或预测,而不是追求高质量的回答。在ChatGPT的训练数据中,可能既包含了学生的错误答案,也包含了专家的正确答案。默认情况下,ChatGPT会预测所有的答案,因为它只接受过语言建模方面的训练,无法区分不同答案的质量。
为了提高答案的质量,我们可以通过设定角色来指导ChatGPT。例如,我们可以这样提问:“假设你是XX专家,你是XXXXXXXX”
我们也可以通过改变提问方式来优化答案的质量。例如,我们可以这样提问:“让我们一步一步地解决这个问题,确保我们得到正确的答案”。或者让我们思考一下,这都可以让GPT试图模仿专家的视角,试图以逻辑链的形式作答。
本质上,
我们的期望是:ChatGPT不需要把概率分散到低质量的回答中去,从而提高答案的质量, 而“你是某个领域专家” 和“思考一下”,都可以逼近这个期望