ChatGPT - 工作原理
ChatGPT 是如何工作的?
Section titled “ChatGPT 是如何工作的?”人工智能(AI)已成为我们生活、工作和互动方式中不可或缺的一部分。在 AI 领域内,自然语言处理(NLP)已成为一个关键的研究和开发领域。由 OpenAI 开发的 ChatGPT 是 NLP 进步的杰出代表,能够以惊人的流畅度理解和生成类似人类的文本。
本章将探讨 ChatGPT 的内部工作原理,从其基础技术到训练过程和响应生成机制,正是这些使其具备了复杂的对话能力。
什么是 GPT:核心技术
Section titled “什么是 GPT:核心技术”ChatGPT 的核心在于一种强大的 AI 语言模型架构,称为 GPT,即“Generative Pre-trained Transformer”(生成式预训练 Transformer)。GPT 模型旨在理解上下文、从海量文本数据中学习模式,并生成模仿人类写作风格的新颖、连贯的文本。
GPT 首字母缩略词的关键方面总结了其核心本质:
- 生成式(Generative): 这指的是模型创建新内容(在 ChatGPT 的情况下主要是文本)的能力,这些内容是原创且与上下文相关的,而不是简单地检索现有信息。
- 预训练(Pre-trained): GPT 模型首先在一个包含书籍、文章、网站等多种来源文本的庞大数据集上进行初始的、广泛的训练。这种预训练使模型能够学习语法、事实、推理模式和各种写作风格。
- Transformer: 这是支撑 GPT 模型的基础神经网络(neural network)架构。由 Google 研究人员开发,Transformer 架构特别擅长处理文本等序列数据,这主要归功于其使用了称为“自注意力(self-attention)”的机制。
GPT 组件详解
Section titled “GPT 组件详解”生成式(Generative)
Section titled “生成式(Generative)”“生成式”方面强调了模型的创造能力。与仅仅对现有数据进行分类或分析的系统不同,像 ChatGPT 这样的生成式模型可以生成新颖的文本序列。给定一个 prompt(提示词),它可以撰写文章、创作诗歌、生成代码、回答问题或连贯且与上下文适当的方式续写故事。
预训练(Pre-trained)
Section titled “预训练(Pre-trained)”预训练是模型学习通用语言理解的关键阶段。使用一种与无监督学习(unsupervised learning)相关的技术(通常是自监督学习,self-supervised learning,即数据本身提供标签),模型通常被训练来预测给定前文的下一个词。通过处理来自各种来源的数十亿个词,模型内化了复杂的语言模式、事实知识,甚至一定程度的常识推理。这种预训练使模型具有广泛的知识,并通过进一步更具体的训练(微调,fine-tuning)适应各种下游任务。
Transformer
Section titled “Transformer”Transformer 架构在论文“Attention Is All You Need”中被提出,它彻底改变了 NLP 领域。其核心创新是自注意力(self-attention)机制。这使得模型在处理每个词时,能够权衡输入序列中不同词的重要性。例如,在生成下一个词时,它可以更加关注序列中相关的、即使距离较远的先前的词。这种捕捉长程依赖和理解上下文的能力相对于 RNN 和 LSTM 等旧架构具有显著优势,使 Transformer 能够生成更连贯、更具上下文意识的输出。
ChatGPT 的训练过程
Section titled “ChatGPT 的训练过程”ChatGPT 的训练过程是一个多阶段的过程,建立在基础的 GPT 架构之上:
1. 预训练 (Pre-training)
Section titled “1. 预训练 (Pre-training)”如前所述,基础的 GPT 模型首先在一个包含大量不同文本和代码的巨型数据集上进行预训练。这个阶段是无监督的(unsupervised,或自监督的,self-supervised),旨在通过学习预测文本中缺失的部分(例如,下一个词)来教授模型通用的语言理解、语法、世界知识和基本推理能力。
2. 有监督微调 (Supervised Fine-Tuning, SFT)
Section titled “2. 有监督微调 (Supervised Fine-Tuning, SFT)”预训练之后,模型会在一个规模较小、经过精心策划的数据集上进行微调,该数据集专门用于会话式 AI 或指令遵循。此数据集由人类标注员创建的 prompt-response pairs(提示-响应对)组成。例如,标注员可能会写一个问题(prompt),然后写一个理想的答案(response)。模型在此数据上进行训练,以学习如何提供有用的响应并准确遵循指令。这一步骤使模型更倾向于成为一个有用的助手。
3. 基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback, RLHF)
Section titled “3. 基于人类反馈的强化学习 (Reinforcement Learning from Human Feedback, RLHF)”为了进一步改进模型的行为,使其响应更符合人类偏好(例如,更有帮助、无害且真实),采用了 RLHF。这包括几个子步骤:
- 收集对比数据: 人类标注员会看到模型对给定 prompt 的多个响应,并将其从最好到最差进行排序。
- 训练奖励模型: 使用这些排序后的数据训练一个独立的 AI 模型(称为 reward model,奖励模型),其作用是预测人类会偏好哪些响应。它学会为任何给定的 prompt-response pair 分配一个 scalar score(标量分数,即 reward,奖励)。
- 使用强化学习进行微调 (Fine-tuning with RL): 然后使用 reinforcement learning(强化学习)算法(如 PPO)进一步微调 SFT model。SFT 模型生成响应,reward model 对这些响应进行评分,该评分作为奖励信号用于更新 SFT 模型,鼓励它生成人类可能偏好的输出。
这种训练、评估和完善的迭代过程有助于将 ChatGPT 打造成一个更有能力、更符合预期的会话代理(conversational agent)。
ChatGPT 如何生成响应?
Section titled “ChatGPT 如何生成响应?”ChatGPT 的响应生成过程依赖于其神经网络(neural network)架构、从训练中学习到的模式以及概率方法。以下是您提供 prompt(提示词)时所涉及步骤的简化分解:
1. 输入编码(Tokenization)
Section titled “1. 输入编码(Tokenization)”当您输入一个 prompt(提示词)时,它首先被分解成更小的单元,称为 token(令牌)。Token 可以是词、词的一部分(subwords)或字符。然后,每个 token 被转换为模型可以处理的数值表示(embedding,嵌入)。这些 embedding 捕获了 token 的一些语义含义。
2. 上下文理解(Transformer 处理)
Section titled “2. 上下文理解(Transformer 处理)”token embedding 的序列被输入到 Transformer 网络中。通过其多层和自注意力(self-attention)机制,模型处理这些 token,考虑整个输入的上下文。它构建一个 internal representation(内部表示),捕捉您 prompt 的含义、意图和细微之处。
3. 预测下一个 Token(概率分布)
Section titled “3. 预测下一个 Token(概率分布)”根据处理后的输入,模型预测其整个 vocabulary(词汇表)中下一个响应 token 的 probability distribution(概率分布)。这意味着它为每个可能的 token 分配一个概率,表示它成为正确下一个 token 的可能性。
4. Token 选择(采样)
Section titled “4. Token 选择(采样)”ChatGPT 通常使用 sampling strategy(采样策略),而不是总是选择概率最高的单个 token(这可能导致重复和乏味的文本)。诸如 temperature sampling 或 top-k/top-p (nucleus) sampling 等技术引入了一定程度的随机性,允许模型从一系列可能的 token 中进行选择。这使得响应更加多样化和富有创造力。例如,temperature 参数控制这种随机性:值越高,输出越随机(可能更有创意或更无意义),而值越低,输出越确定和集中。
5. 迭代生成
Section titled “5. 迭代生成”选择一个 token 后,它被附加到生成的文本序列中,这个新的序列成为预测下一个 token 的输入。这个过程会重复进行,模型一次生成一个 token,直到满足停止条件(例如,它生成了 end-of-sequence token,达到 max_tokens 指定的最大长度,或满足了 prompt 的隐含要求)。
ChatGPT 的功能是复杂 AI 研究的成果,它将 Transformer 架构(GPT)的强大能力与广泛的预训练以及 SFT 和 RLHF 等精细的微调过程相结合。其生成连贯、上下文相关且通常富有创意的响应能力源于其对语言模式的深度学习以及其基于概率的、逐 token 生成机制。
理解这些底层原理有助于认识 ChatGPT 的能力和局限性,并使用户能够更有效地与其交互。