ChatGPT工作原理

ChatGPT工作原理

​ ChatGPT是OpenAI的最新语言模型,比其前身GPT-3有了重大改进。与许多大型语言模型类似,ChatGPT能够以各种风格和不同目的生成文本,但具有更高的精度、细节和连贯性。它代表了OpenAI大型语言模型系列的下一代,它的设计重点是交互式对话

创建者使用监督学习和强化学习的组合来微调ChatGPT,但强化学习组件特别地使ChatGPT独特。创造者使用了一种名为“从人类反馈中强化学习”(RLHF)的特殊技术,该技术在训练循环中使用人类反馈来最大限度地减少有害的、不真实的和/或有偏见的输出。

在学习RLHF如何工作并理解ChatGPT如何使用RLHF来克服这些问题之前,我们将研究GPT-3的局限性以及它们是如何从其训练过程中产生的。最后,我们将讨论这种方法的一些局限性。

“大型语言模型中的能力vs对齐”

​ “对齐与能力”可以被认为是“精度与精度”的更抽象的类比。

在机器学习的背景下,能力一词指的是模型执行特定任务或一组任务的能力。模型的能力通常是通过优化目标函数的能力来评估的,目标函数是定义模型目标的数学表达式。例如,一个设计用来预测股票市场价格的模型可能有一个目标函数来衡量模型预测的准确性。如果该模型能够准确地预测股价随时间的变化,那么它就被认为具有很高的完成这项任务的能力。

另一方面,对齐关注的是我们实际希望模型做什么,而不是它被训练做什么。它提出的问题是"目标函数与我们的意图一致吗?,指的是模型的目标和行为与人类价值观和期望一致的程度。举个简单的具体例子,假设我们训练一个鸟类分类器将鸟类分类为“麻雀”或“知更鸟”,我们使用对数损失(测量模型的预测概率分布与真实分布之间的差异)作为训练目标,尽管我们的最终目标是高分类精度。该模型可能具有较低的日志损失,即模型的能力较高,但在测试集上的准确性较差。事实上,日志损失与分类任务的准确性并不是完全相关的。这是一个错位的例子,其中模型能够优化训练目标,但与我们的最终目标不一致。

​ 像最初的GPT-3这样的模型是错位的

大型语言模型,如GPT-3,是在来自互联网的大量文本数据上进行训练的,能够生成类似人类的文本,但它们可能并不总是产生与人类期望或理想值一致的输出。事实上,它们的目标函数是单词序列(或令牌序列)上的概率分布,允许它们预测序列中的下一个单词是什么(下文将详细介绍)。

然而,在实际应用中,这些模型旨在执行某种形式的有价值的认知工作,在这些模型的训练方式和我们想要使用它们的方式之间存在明显的分歧。尽管从数学上讲,机器计算单词序列的统计分布可能是建模语言的一个非常有效的选择,但我们作为人类,通过使用我们的背景知识和常识来指导这个过程,选择最适合给定情况的文本序列来生成语言。当语言模型用于需要高度信任或可靠性的应用程序(如对话系统或智能个人助理)时,这可能会成为一个问题。

虽然在过去几年里,这些经过大量数据训练的强大而复杂的模型已经变得非常强大,但当用于生产系统以使人类的生活更轻松时,它们往往无法发挥这种潜力。大型语言模型中的对齐问题通常表现为:

  • 缺乏帮助:不遵循用户的明确指示。
  • 幻觉:模型编造不存在的或错误的事实。
  • 缺乏可解释性:人类很难理解模型是如何做出特定决策或预测的。
  • 产生有偏差的或有害的输出:在有偏差/有害数据上训练的语言模型可能会在输出中重现这些数据,即使没有明确地指示它这样做。

但是,具体来说,这种对齐问题从何而来?这是语言模型天生容易出现偏差的训练方式吗?

语言模型训练策略如何产生错位

下一个标记预测和掩码语言建模是用于训练语言模型(如转换器)的核心技术。在第一种方法中,给模型一个单词序列(或“标记”,即单词的一部分)作为输入,并要求模型预测序列中的下一个单词。例如,如果给定模型的输入句子:

“猫坐在”

它可能会预测下一个单词是“垫子”、“椅子”或“地板”,因为在前面的上下文中,这些单词出现的概率很高;语言模型实际上能够根据前面的序列估计每个可能单词(在其词汇表中)的可能性。

掩码语言建模方法是下一个标记预测的一种变体,其中输入句子中的一些单词被替换为一个特殊的标记,例如[MASK]。然后,模型被要求预测应该插入掩码的正确单词。例如,如果给模型一个句子

“[MASK]坐在。”

作为输入,它可以预测下一个单词为“猫”、“狗”或“兔子”。

这些目标函数的一个优点是它允许模型学习语言的统计结构,例如常见的单词序列和单词使用的模式。这通常有助于模型生成更自然流畅的文本,并且是每个语言模型预训练阶段的重要步骤。

然而,这些目标函数也会导致问题,主要是因为模型不能区分重要错误和不重要错误。举一个非常简单的例子,如果给模型一个输入句子:

“秦始皇统治时期的大秦帝国[MASK]。”

它可能会预测“开始”或“结束”,因为这两个词出现的可能性都很高(事实上,从历史上看,这两个句子都是正确的),尽管第二个选择暗示了一个非常不同的意思。

更一般地说,这些训练策略可能导致语言模型在一些更复杂的任务中出现偏差,因为一个模型只被训练来预测文本序列中的下一个单词(或掩码单词),可能并不一定会学习其意义的一些更高层次的表示。因此,该模型很难推广到需要对语言有更深理解的任务或上下文。

研究人员和开发人员正在研究各种方法来解决大型语言模型中的对齐问题。ChatGPT基于原始的GPT-3模型,但通过使用人类反馈来指导学习过程,从而进一步训练,以减轻模型的错位问题。所使用的具体技术被称为“从人类反馈中强化学习”,是基于之前的学术研究。ChatGPT是将该技术用于投入生产的模型的第一个案例。

本文链接:https://my.lmcjl.com/post/1164.html

展开阅读全文

4 评论

留下您的评论.