第二步:训练回报模型。第一步微调的模型显然不够好,至少他不知道自己答的好不好,这一步通过人工标注数据训练一个回报模型,让回报模型来帮助评估回答的好不好。具体做法是采样用户提交的 prompt,先通过第一步微调的模型生成 n 个不同的答案,比如 A、B、C、D。接下来人工对 A、B、C、D 按照相关性、有害性等标准标准并进行综合打分。有了这个人工标准数据,采取 pair-wise 损失函数来训练回报模型 RM。这一步实现了模型判别答案的好坏。

第三步:强化学习来增强微调模型。使用第一步微调 GPT3.5 模型初始化 PPO 模型,采样一批和前面用户提交 prompt 不同的集合,使用 PPO 模型生成答案,使用第二步回报模型对答案打分。通过产生的策略梯度去更新 PPO 模型。这一步利用强化学习来鼓励 PPO 模型生成更符合 RM 模型判别高质量的答案。

通过第二和第三步的迭代训练并相互促进,使得 PPO 模型能力越来越强。

整体的方案应该更像是一个行动驱动大型语言模型(LLM)的系统。基于开箱即用的基础模型 LLM,整体就像一个智能体 Agent 根据系统的每个环节去选择更合理的行动,整体流程如下:

用户输入信息,通过 Prompt 工程,解析用户意图,决策通过意图文本去执行搜索以及信息输入模型中等一些列操作。

左边是外部可利用的资源,NewBing 核心的外部资源就是联网能力,搜索到的数据。但也会包含更多比如一些数据库、代码解释器和与人聊天多轮对话一些处理规则等,这些可以显著增强模型的能力。

右边是任务导向的训练,如 instruction tuning、RLHF 等,也就将 ChatGPT 技术引入进来的过程。整体上 RL 利用使用日志等专有数据,通过创建强大的反馈回路,训练模型使其更加符合任务需求并迭代优化。

最终模型输出结果,通过上一个章节介绍 NewBing 的一些 AI 规则我们可以推断,展示用户结果前有一系列对模型输出进行限制或规则处理,确保输出的内容有趣、顺畅、安全、合法。同时将输出结果及用户反馈都记录日志,这些用户行为数据又变成了指导模型优化的重要信息。

DeepMind 的 Sparrow 方案也是一个非常有价值的参考,ChatGPT 的流程应该与 Sparrow 相差不多。Sparrow model 针对对话内容模型生成结果并判断是否搜索互联网,以提供更多的正确参考答案,用强化学习算法去优化 Sparrow 的输出结果。流程如下图所示: