首页
Preview

ChatGPT的工作原理:机器人背后的模型

这是一款备受关注的聊天机器人背后的直觉和方法论简介。

image.png

这篇关于支撑ChatGPT的机器学习模型的温和介绍,将从大型语言模型的介绍开始,深入探讨革命性的自注意机制,使得GPT-3能够被训练,并进一步探讨从人类反馈中强化学习的新颖技术,这是让ChatGPT卓越的关键。

大型语言模型

ChatGPT是一类机器学习自然语言处理模型——大型语言模型(LLM)的推广。LLM能够处理大量的文本数据,并推断文本中词语之间的关系。随着计算能力的提升,这些模型在过去几年中不断壮大。随着输入数据集和参数空间的增加,LLM的功能也会相应增强。

语言模型的最基本训练方法是预测一系列单词中的一个单词。最常见的训练方法是下一个令牌预测和掩码语言建模。

以下是作者创建的下一个令牌预测和掩码语言建模的任意示例

在这种基本的序列技术中,通常通过一种长短时记忆(LSTM)模型实现,模型将使用周围的上下文信息来填补空白,并填入最具统计学概率的单词。这种顺序建模结构有两个主要的限制。

  1. 首先,模型无法将某些周围的单词赋予更高的价值。在上面的示例中,虽然“阅读”可能最常与“讨厌”相关,但是在数据库中,Jacob可能是一个如此热爱阅读的人,以至于模型应该赋予“Jacob”比“reading”更高的权重,从而选择“喜欢”而不是“讨厌”。
  2. 其次,输入数据是单独顺序处理的,而不是作为整个语料库进行处理。这意味着当LSTM被训练时,上下文窗口是固定的,在序列中仅延伸超出一个单独的输入数个步骤。这限制了单词之间的关系和所能得出的含义的复杂性。

针对这个问题,谷歌Brain团队在2017年引入了transformer。与LSTM不同,transformer可以同时处理所有的输入数据。使用自注意机制,该模型可以相对于语言序列的任何位置赋予不同部分的输入数据不同的权重。这个特性极大地改善了LLMs注入意义的效果,并使处理规模更大的数据集成为可能。

GPT 和自我关注

生成式预训练转换器(GPT)模型于2018年由openAI首次推出,名为GPT-1。这些模型在2019年继续发展GPT-2, 2020年发展GPT-3,最近在2022年发展InstructGPT和ChatGPT。在将人类反馈整合到系统中之前,GPT模型进化的最大进步是由计算效率方面的成就驱动的,这使得GPT-3能够比GPT-2在更多的数据上进行训练,使其拥有更多样化的知识库和执行更广泛任务的能力。

GPT-2(左)和GPT-3(右)的比较。由作者生成。

所有GPT模型都利用转换器体系结构,这意味着它们有一个编码器来处理输入序列,有一个解码器来生成输出序列。编码器和解码器都有一个多头自注意机制,允许模型对序列的部分进行不同的权重来推断意义和上下文。此外,编码器利用掩码语言建模来理解单词之间的关系,并产生更容易理解的响应。

驱动GPT的自我注意机制通过将标记(文本片段,可以是单词、句子或其他文本分组)转换为表示输入序列中标记的重要性的向量来工作。为了做到这一点,这个模型,

  1. 为输入序列中的每个令牌创建查询、键和值向量。
  2. 通过取两个向量的点积来计算第一步的查询向量和每个其他令牌的键向量之间的相似性。
  3. 通过将第2步的输出输入softmax函数来生成规范化的权重。
  4. 通过将步骤3中生成的权重乘以每个令牌的值向量,生成一个最终向量,表示序列中令牌的重要性。

GPT使用的“多头”注意机制是自我注意的进化。该模型不是一次执行步骤1-4,而是并行地多次迭代该机制,每次生成查询、键和值向量的新的线性投影。通过这种方式扩展自我注意,该模型能够抓住输入数据中的子含义和更复杂的关系。

截图来自作者生成的ChatGPT。

尽管 GPT-3 在自然语言处理方面取得了显着进步,但它与用户意图保持一致的能力有限。例如,GPT-3 可能会产生

  • 缺乏帮助意味着他们不遵循用户的明确说明。
  • 包含反映不存在或不正确的事实的幻觉。
  • 缺乏可解释性使得人类难以理解模型如何得出特定的决策或预测。
  • 包含有害或冒犯性以及传播错误信息的有毒或偏见内容。

在ChatGPT中引入了创新的培训方法,以抵消标准LLM的一些固有问题。

ChatGPT

ChatGPT是InstructGPT的衍生产品,InstructGPT引入了一种新的方法,将人类反馈整合到训练过程中,以更好地使模型输出与用户意图保持一致。openAI 2022年的论文《训练语言模型以遵循人类反馈的指令》中深入描述了从人类反馈中强化学习(RLHF),并在下面进行了简化。

步骤1:监督微调(SFT)模型

第一个开发涉及对GPT-3模型进行微调,雇佣40个承包商来创建一个有监督的训练数据集,其中输入有一个已知的输出,供模型学习。输入或提示是从Open API的实际用户输入中收集的。然后标注人员对提示符编写适当的响应,从而为每个输入创建一个已知的输出。GPT-3模型随后使用这个新的监督数据集进行微调,以创建GPT-3.5,也称为SFT模型。

为了最大限度地提高提示数据集的多样性,任何给定的用户ID只能提供200个提示,并且将删除所有共享较长的公共前缀的提示。最后,所有包含个人身份信息(PII)的提示都被删除。

在聚合来自OpenAI API的提示后,标签商还被要求创建示例提示,以填写只有极少实际示例数据的类别。兴趣的类别包括

  • 简单的提示:任意的提问。
  • Few-shot提示:包含多个查询/响应对的指令。
  • 基于用户的提示:对应于OpenAI API请求的特定用例。

在生成响应时,标签师被要求尽最大努力推断用户的指令是什么。本文描述了提示请求信息的三种主要方式。

  • 直接:“跟我说说……”
  • 给出这两个故事的例子,再写一个相同主题的故事。
  • 延续:给定故事的开头,完成它。

来自OpenAI API的提示的编译和标签师手写的结果是用于监督模型的13000个输入/输出示例。

图像(左)从训练语言模型插入,以遵循人类反馈的指示OpenAI等,2022 https://arxiv.org/pdf/2203.02155.pdf。作者用红色标注的附加上下文(右)。

步骤2:奖励模式

在步骤1中训练SFT模型后,模型对用户提示产生更好的一致响应。下一个改进以训练奖励模型的形式出现,其中模型输入是一系列提示和响应,输出是一个称为奖励的标量值。奖励模型是利用强化学习所必需的,在强化学习中,模型学习产生输出以最大化其奖励(参见步骤3)。

为了训练奖励模型,标签者为单个输入提示提供4到9个SFT模型输出。他们被要求对这些输出进行从最好到最差的排名,创建如下的输出排名组合。

响应排序组合示例。由作者生成

将模型中的每个组合作为一个单独的数据点会导致过拟合(无法推断可见数据之外的数据)。为了解决这个问题,该模型是利用每组排名作为单个批数据点构建的。

图像(左)从训练语言模型插入,以遵循人类反馈的指示OpenAI等,2022 https://arxiv.org/pdf/2203.02155.pdf。作者用红色标注的附加上下文(右)。

第三步:强化学习模型

在最后一个阶段,模型会显示一个随机提示,并返回一个响应。响应是使用模型在步骤2中学习到的“策略”生成的。策略代表一种策略,机器已经学会使用它来实现它的目标;在这种情况下,最大化奖励。基于步骤2中开发的奖励模型,然后为提示和响应对确定一个标量奖励值。然后奖励反馈到模型中以发展策略。

2017年,Schulman等人引入了近端策略优化(PPO),该方法用于在生成每个响应时更新模型的策略。PPO从SFT模型中合并了每个令牌的Kullback-Leibler (KL)惩罚。KL散度度量两个分布函数的相似性,并惩罚极端距离。在这种情况下,使用KL惩罚减少了响应与步骤1中训练的SFT模型输出之间的距离,以避免过度优化奖励模型,并严重偏离人类意图数据集。

图像左从训练语言模型插入,以遵循人类反馈的指示OpenAI等,2022 https://arxiv.org/pdf/2203.02155.pdf。作者用红色标注的附加上下文(右)。

该过程的第2步和第3步可以重复进行,尽管在实践中还没有广泛地进行。

截图自作者生成的ChatGPT。

模型评价

对模型的评估是通过在训练期间留出一个模型没有见过的测试集来执行的。在测试集上,进行了一系列评估,以确定该模型是否比其前身GPT-3更好地对齐。

帮助性: 模型推断和遵循用户指令的能力。在85%±3%的情况下,标签师更喜欢InstructGPT而不是GPT-3的输出。

真实性: 模型产生幻觉的倾向。当使用TruthfulQA数据集进行评估时,PPO模型产生的输出显示真实性和信息量略有增加。

无害性: 模型避免不适当的、贬损的和诋毁性内容的能力。使用realtoxicityprompt数据集进行无害性测试。试验在三种条件下进行。

  1. 指示提供尊重的反应:导致毒性反应显著降低。
  2. 指示提供反应,没有任何设置为尊重:没有显著变化的毒性。
  3. 指示提供毒性反应:反应实际上明显比GPT-3模型毒性更大。

有关创建ChatGPT和InstructGPT所使用的方法的更多信息,请阅读OpenAI Training语言模型发布的原始论文,以遵循人类反馈的指示,2022年https://arxiv.org/pdf/2203.02155.pdf.

截图自作者生成的ChatGPT。

学习快乐!

参考

译自:https://towardsdatascience.com/how-chatgpt-works-the-models-behind-the-bot-1ce5fca96286

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
jimmy
悟已往之不谏 知来者之可追

评论(0)

添加评论