Skip to content

ChatGPT - 机器学习

哪些核心机器学习(Machine Learning, ML)原理赋予了 ChatGPT 在理解和生成类人文本方面的卓越能力?本章将探讨机器学习的不同方面,包括监督学习(supervised learning)、无监督学习(unsupervised learning)和强化学习(reinforcement learning)如何共同促成 ChatGPT 的功能。

机器学习(ML)是人工智能(Artificial Intelligence, AI)领域的一个充满活力的分支。它专注于开发算法(algorithms)和模型(models),使计算机系统能够在没有针对每个特定任务进行显式编程的情况下,从数据中学习并基于数据做出决策或预测。这些算法识别数据中的模式和关系,使系统能够随着时间的推移,通过更多经验(数据)来改进其性能。

现在,让我们了解机器学习的主要类型及其在塑造 ChatGPT 功能中的作用。

监督学习是一种机器学习类别,其中算法或模型使用标记数据集(labeled dataset)进行训练。在这种方法中,训练集中的每个数据点都包含一个输入对象(或特征向量,feature vector)和一个相应的期望输出值(或标签,label)。监督学习的目标是让模型学习一个映射函数(mapping function),该函数可以预测新的、未见过的输入的输出。

ChatGPT 利用监督学习,特别是在一个称为监督微调(Supervised Fine-Tuning, SFT)的阶段。在 SFT 期间,语言模型根据包含提示词(prompts)和人类编写的理想响应(演示,demonstrations)的数据集进行训练。例如,输入可能是一个问题,相应的输出是人类标注者(human labeler)精心撰写的该问题的高质量答案。

这种标记数据帮助模型学习遵循指令并以期望的风格和格式生成响应。因此,监督学习是教会 ChatGPT 如何通过使其行为与人类对特定任务的期望保持一致,从而变得有益(helpful)、无害(harmless)和诚实(honest)的关键部分。

无监督学习是一种机器学习方法,其中算法分析并识别未标记数据中的模式或结构,无需显式的输出标签或指导。主要目标是发现数据固有的关系、分组(聚类,clustering)或低维表示(降维,dimensionality reduction)。

像 GPT(GPT 中的“P”代表预训练,Pre-trained)这样的模型的基础训练严重依赖于无监督学习。ChatGPT 在来自互联网、书籍和其他来源的大量多样化文本语料库(corpus)上进行预训练。在此阶段,模型学习根据前导词预测序列中的下一个词。这是一个自监督任务(self-supervised task,无监督学习的一个子集),因为标签(下一个词)直接从输入数据本身派生。

这种广泛的预训练使 ChatGPT 能够对语言产生深刻的理解,包括语法(grammar)、句法(syntax)、关于世界的知识、推理能力(reasoning abilities)和常识(common sense)。无监督预训练赋予了 ChatGPT 广泛的知识库及其在各种主题上生成连贯且上下文相关的文本的卓越能力。

强化学习(Reinforcement Learning, RL)是一种机器学习类型,其中一个代理(agent)通过与环境互动来学习做出顺序决策。代理采取行动(actions),环境通过状态(states)和奖励(rewards,或惩罚 punishments)做出响应。代理的目标是学习一个策略(policy,选择行动的策略),以最大化随时间累积的奖励(cumulative reward)。

强化学习在微调 ChatGPT 的响应以使其更符合人类偏好方面起着关键作用,特别是通过一种称为基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)的技术。

在初始的监督微调之后,模型的响应通过 RLHF 得到进一步优化。这个过程有助于提高模型的质量,例如有益性(helpfulness)、真实性(truthfulness)和无害性(harmlessness),使模型的对话能力更加细致入微,并与复杂的人类期望对齐。

2017 年,OpenAI 发表了关于深度基于人类偏好的强化学习(Deep Reinforcement Learning from Human Preferences)的有影响力的研究,为 RLHF 奠定了基础。当难以精确定义 RL 代理的奖励函数(reward function)时,但人类可以轻松判断代理行为的质量时,这种技术尤其有价值。RLHF 不使用手工设计的奖励函数,而是利用人类反馈来学习一个奖励函数。

像 ChatGPT 这样的语言模型的 RLHF 训练过程通常包括以下关键步骤:

  1. 收集人类反馈数据: 为一组给定的提示生成多个模型输出。人类标注者(human labelers)随后将这些输出从最好到最差进行排序,或提供其他形式的比较(comparison)或评分(ratings)。
  2. 训练奖励模型 (RM): 使用这些排序数据来训练一个单独的模型(奖励模型,reward model)。RM 学习预测人类会偏好哪些响应。本质上,它根据人类偏好为响应评分。
  3. 使用 RL 微调语言模型: 然后使用强化学习(通常使用 Proximal Policy Optimization - PPO 等算法)对预训练语言模型(通常是 SFT 模型)进行进一步微调。SFT 模型充当 RL 代理(agent),生成响应(动作)。奖励模型然后评估此响应并提供一个标量奖励信号(scalar reward signal)。RL 算法(如 PPO)使用此奖励信号更新 SFT 模型的权重(weights),鼓励其生成 RM(从而也是人类)会给予高分的响应。通常会添加一个约束(constraint),以防止 PPO 模型与 SFT 模型偏离太多,这有助于保持其核心语言能力。

这种迭代循环——生成响应、获取人类反馈、训练奖励模型、并使用 RL 微调语言模型——使得模型越来越符合人类期望的行为。RLHF 是提高像 ChatGPT、InstructGPT 以及 OpenAI、Anthropic 和 Google DeepMind 等领先 AI 实验室的其他模型性能和安全性的关键因素。

OpenAI 应用 RLHF 训练了其 InstructGPT 模型,这些模型是 ChatGPT 的前身,并且相比基础的 GPT-3 模型显示出显著改进。GPT-3 虽然知识渊博,但有时会产生不真实(untruthful)、冒犯性(toxic)或与用户意图(user intent)不太一致的输出。

经过 RLHF 优化的 InstructGPT 模型表现出显著改进:

  • 它们在遵循用户指令方面显著提升。
  • 生成不实信息(幻觉,hallucinations)的情况更少。
  • 生成冒犯性或有害输出的情况减少。

类 ChatGPT 模型使用 RLHF 进行微调的关键阶段

Section titled “类 ChatGPT 模型使用 RLHF 进行微调的关键阶段”

构建在 InstructGPT 技术基础上的 ChatGPT 微调过程通常包括以下阶段:

对预训练语言模型(例如,来自 GPT-3.5 或 GPT-4 系列)使用高质量的演示数据集进行微调。人类标注者(human labelers)为各种提示词(prompts)精心制作理想的响应,涵盖不同的任务,如问答(question answering)、摘要(summarization)和创意写作(creative writing)。这个 SFT 模型学习遵循指令,但仍可能表现出不良行为(undesirable behaviors)。

为了训练奖励模型(Reward Model, RM),需要采样一组新的提示词。对于每个提示词,由 SFT 模型生成几个输出。然后,人类标注者将这些输出从最好到最差进行排序。这种比较数据用于训练 RM。RM 的目标是学习一个函数,该函数能为任何给定的提示-响应对(prompt-response pair)分配一个标量得分(奖励,reward),以反映人类的偏好。

在最后一步,使用 RL 算法,通常是 Proximal Policy Optimization (PPO),对 SFT 模型进行进一步微调。SFT 模型充当策略(policy)。对于从数据集中采样的一个新提示词,策略生成一个响应。RM 然后评估此响应并提供一个奖励。RL 算法使用此奖励信号更新 SFT 模型的权重,鼓励它生成 RM(从而也是人类)会给予高分的响应。通常会添加一个约束(constraint),以防止 PPO 模型与 SFT 模型偏离太多,这有助于保持其核心语言能力。

本章解释了机器学习(ML)范式的组合如何赋予 ChatGPT 卓越的能力。在海量数据集上的无监督预训练提供了广泛的知识和语言理解。监督微调教会模型遵循指令。最后,基于人类反馈的强化学习(RLHF)对其行为进行优化,使其更紧密地符合人类偏好,从而更加有益、诚实和无害。

这些 ML 技术,尤其是 RLHF 的精密相互作用,对于开发像 ChatGPT 这样的先进对话式 AI 系统至关重要,为 AI 与人类互动设定了新的标准。