徐祯琦

V1

2023/03/08阅读:55主题:山吹

WebGPT简介

今天试用了下perplexity.ai的搜索功能,在常见的常见下感觉效果还不错,便思考起背后实现的逻辑。正好有一篇2021年底的文章WebGPT,解释了下OpenAI在搜索结果聚合上的实践。简单记录下要点。

注:为了跟原文对齐,一些名词使用原始英文表述。

数据生产

数据生产分为两个部分——demostration(演示)和comparison(对比)。

demonstration

demonstration就是按照人类使用搜索引擎时的操作,针对给定的问题,对搜索引擎返回的结果,进行过滤。

这里值得借鉴的一点就是OpenAI将上述复杂的过程简单抽象为了10个commands(指令)。在特定开发的标注平台,记录人类的搜索过程,并将此过程中的操作和上下文转换为带标签的语料——语料的输入是上下文,command是具体操作。值得注意的是,为了包含搜索过程中的历史操作,上下文包含了对操作的总结。

模型可以执行的操作
模型可以执行的操作

详细做法可以参考Research by searching the web: instructions for contractors

demonstration界面
demonstration界面

comparison

comparison就是针对某个特定的问题,模型生成两个答案,标注人员先对每个答案从trustworthness(可信度)、来源对结果的支持程度进行打分。在对两个答案进行对比打分。

详细做法可以参考Comparing researched answers: instructions for contractors,文档对各种不同的问题类型也做了详细的标注说明。

comparison界面
comparison界面

模型构成

模型由四个部分组成:

  • Behavior cloning(以下简称BC)
  • Reward model(以下简称RM)
  • Reinforcement learning(以下简称RL)
  • Reject Sampling(以下简称RS)

这里需要注意的是,上述部分均是由GPT3类模型微调而来。做这个选择的原因就是GPT3模型在阅读理解、答案合成等领域涌现出了零样本学习的能力,原文表述为 Many of the underlying capabilities required to successfully use our environment to answer questions, such as reading comprehension and answer synthesis, emerge as zero-shot capabilities of language models [Brown et al., 2020]。

其中,各部分的主要作用如下:

Behavior cloning

基于demonstration数据,模仿人类搜索+提取信息行为。可以简单地理解为一个分类任务的微调。

Reward model

基于comparison数据,输入问题、答案以及引用,模型给出一个得分,相当于是一个回归任务的微调。但由于得分的主观性过大,这里输入采用了同一个问题、两组答案与引用,groundTruth为comparison数据的标签,训练目标函数为交叉熵。

Reinforcement learning

这里的强化学习模型采用BC模型的参数初始化,通过RM生成奖励值,利用PPO算法更新模型参数,使得模型生成的结果得分越来越高。

Reject Sampling

拒绝采样,对BC / RL模型生成的结果进行采样,并对采样后的结果通过RM选取回报值最大的结果作为最终结果。

结果对比

文章的5.1节中介绍了不同部分组合的对比结果。主要对比RL、RS与baseline的BC的结果之间的对比。

结论比较反直觉——一方面,虽然RL、RS比baseline都有提升,但RS的提升要更明显些;另一方面,经过RL、RS两步的结果没有只进行RS的结果提升大。

文章给出的可能原因是RS不需要更新基础的BC模型参数,而RL+RS同时对RM的结果优化,可能造成对RM的过度优化。

总结

WebGPT的文章第一版是2021-12-17提交到arxiv上的,是基于GPT3模型在搜索结果方面的优化。论文中的思想可以说是弱化版的InstructGPT,而InstructGPT的论文最初是2022-05-04提交到arxiv上的,随后2022年12月,chatGPT问世,OpenAI在GPT3的路上越走越远,不断探索着大模型的边界。

分类:

人工智能

标签:

人工智能

作者介绍

徐祯琦
V1