找回密码
 立即注册
查看: 519|回复: 0

不懂技术,也能看懂 ChatGPT 的道理

[复制链接]

1

主题

1

回帖

10

积分

新手上路

积分
10
发表于 2023-6-4 22:37:00 | 显示全部楼层 |阅读模式
(这是我在 Medium 上发布的一篇文章,此刻翻译发布在知乎 原文地址:https://bootcamp.uxdesign.cc/how-chatgpt-really-works-explained-for-non-technical-people-71efb078a5c9
ChatGPT 是由 OpenAI 于去年底发布的,它的表示非常惊人 — 即使是我奶奶也在询问它。它生成类似人类语言的能力启发了人们在各种产物中测验考试其潜力。此次成功的发布甚至迫使 Google 等科技巨头匆忙推出本身的 ChatGPT 版本。
但说实话,对于非技术的产物经理、设计师和创业者来说,ChatGPT 的内部工作方式可能像一个魔法黑盒。别担忧!在这篇博客中,我将尽可能简单地解释 ChatGPT 背后的技术和模型。这篇文章,我们就来讲讲 ChatGPT 能干什么以及它如何施展魔力的。
Transformer 和 GPT 的时间线

在我们深入了解 ChatGPT 的实际机制之前,让我们先快速了解一下语言模型 Transformer 架构和分歧版本的 GPT 的成长时间线,这样你就可以更好地了解它是如何演变成我们今天所拥有的ChatGPT 的。



  • 2015年,OpenAI 由 Sam Altman、Elon Musk、Greg Brockman、Peter Thiel 等人创立。在 GPT 之外,OpenAI 还开发了许多分歧的的 AI 模型。
  • 2017年,谷歌发布了论文“Attention is All You Need”,介绍了 Transformer 架构[2]。Transformer 是一种神经网络架构,为许多最先进的大型语言模型(LLM)如 GPT 奠基了基础。
  • 2018年,论文“Improving Language Understanding by Generative Pre-training” 中初度介绍 GPT [3]。它基于改削后的 Transformer 架构,并在大型语料库中进行了预训练。
  • 2019年,在论文“Language Models are Unsupervised Multitask Learners”中介绍了GPT-2 [4],它可以在没有明确监督的情况下执行各种任务。
  • 2020年,论文“Language Models are Few-Shot Learners”介绍了 GPT-3 [5],它可以在很少的提示(prompt)示例中有超卓的表示,无需进行微调。
  • 2022年, “Training language models to follow instructions with human feedback” 介绍了 InstructGPT [6],它可以通过使用人类反馈进行微调,更好地遵循用户指令。
  • 2022年,与 InstructGPT 类似,“ChatGPT: Optimizing Language Models for Dialogue”中介绍了 ChatGPT [7],它可以通过使用人类示例进行微调,并通过从人类反馈中进行强化学习(RLHF)来与人类进行对话交互。
这个时间线显示,GPT是从最初的 Transformer 架构中演化而来,并通过许多迭代获得了它的能力。如果你不理解像 Transformer、预训练、微调或通过人类反馈进行强化学习等术语,不妨!在接下来的部门中,我会解释所有这些术语。
深入背后的模型

此刻你知道 ChatGPT 是基于 Transformer 和前面几代的 GPT 模型了,让我们更深入地了解这些模型的组成部门以及它们是如何工作的。如果你不熟悉深度学习、神经网络或人工智能,不妨——我会避免使用方程式,并使用类比和示例来解释这些概念。
在接下来的部门里,我将从语言模型和自然语言措置的总体概述开始,并逐步介绍原始的Transformer 架构,然后讨论 GPT 如何改良了 Transformer 架构,最后介绍 ChatGPT 是如何基于 GPT 进行微调的。

语言模型和自然语言措置(NLP)

人工智能或深度学习模型有很多种。对于像对话、语音识别、翻译和摘要等自然语言措置任务,我们可以使用语言模型来辅佐我们。
语言模型可以学习一个文本库(称为语料库),并用概率分布来预测词语或词语序列,即词语或序列呈现的可能性有多大。例如,当你说“张三喜欢吃……”时,下一个词为“披萨”的概率会比“桌子”更高。如果它正在预测序列中的下一个词,则称为单项推导(next-token prediction),类似于续写;如果它正在预测序列中缺掉的词,则称为掩码语言建模(masked language modeling),类似于填空。
由于它是一个概率分布,可能会有许多可能性分歧的概率高的单词可以填进去。虽然你可能认为始终选择概率最大的最佳候选词是一个最好的策略,但它可能会发生反复的话。因此,在实践中,研究人员会在从首选候选词中选择单词时添加一些随机性(温度)。


在典型的自然语言措置过程中,输入文本将经历以下法式:

  • 预措置:使用句子分割、分词(将文本分化为称为标识表记标帜的小片段)、词干提取(去除后缀或前缀)、去除停用词、更正拼写等技术清理文本。例如,“Tom likes to eat pizza”将被分词为[”Tom”, ”likes”, ”to”, ”eat”, ”pizza”, ”.”]并进行词干提取[”Tom”, ”like”, ”to”, ”eat”, ”pizza”, ”.”]。
  • 编码或嵌入(Encoding or Embedding):将清理后的文本转换为数字向量,以便模型可以措置。
  • 传递给模型:将编码的输入传递给模型进行措置。
  • 获取成果:从模型中获得代表潜在词汇的数字向量的概率分布成果。
  • 解码(Decoding):将向量转换回可读的单词。
  • 后措置:使用拼写查抄、语法查抄、标点、大写等进行输出的优化。
AI研究人员提出了许多分歧的模型架构。Transformer 是一种神经网络,近年来一直是目前最先进的技术,为 GPT 打下了基础。不才一节中,我们将了解 Transformer 组件和机制。

Transformer 架构

Transforme r的架构是 GPT 的基础。它是一种神经网络,类似于人脑中的神经元。Transformer能够通过称为注意力和自注意力的机制更好地舆解文本、语音或音乐等挨次数据的上下文。
注意力机制允许模型通过学习元素之间的相关性或相似性(凡是由向量暗示)来存眷输入和输出中最相关的部门。如果它存眷的是同一序列,则称为自注意力 [2][9]。


让我们以以下句子为例:“张三喜欢吃苹果。他每天都吃它们。” 在这个句子中,“他”指的是“张三”,“它们”指的是“苹果”。通过计算单词向量之间的相似性评分,注意机制使用数学算法告诉模型这些单词是相关的。通过这个机制,Transformer 可以更好地以一种更连贯的方式“理解”文本序列中的意义。
Transformer有以下组成部门 [2]:

  • 嵌入(Embedding)和位置编码(Positional Encoding):将单词和它们的位置转换为数字向量
  • 编码器(Encoder):从输入序列提取特征并分析其含义和上下文。它为每个输入标识表记标帜输出一个隐藏状态的矩阵,以传递给解码器
  • 解码器(Decoder):按照编码器和先前的输出标识表记标帜生成输出序列
  • 线性层和Softmax层:将向量转换为输出单词的概率分布
编码器和解码器是Transformer架构的主要组件。编码器负责分析和“理解”输入文本,而解码器负责生成输出。


如果你感兴趣,你可以继续阅读编码器和解码器的更多细节。如果不感兴趣,可以直接跳到下一个部门,在那里我们将介绍 GPT 基于 Transformer 的变化
编码器是多个不异层(在原始 Transformer 论文中为6层)的堆叠。每层有两个子层:多头自注意力层(multi-head self-attention)和前馈层(feed-forward),此中还有一些连接,称为残差链接(residual connection)和层归一化(layer normalization) [2]。多头自注意力子层应用注意机制来查找输入标识表记标帜之间的关联/相似性,以理解输入。前馈子层在将成果传递到下一层之前进行一些措置,以防止过拟合。你可以把编码器想象成阅读册本——你会存眷你阅读的每个新单词,并思考它与之前的单词的关系。
与编码器类似,解码器也是由不异层的堆叠组成。但是,在自注意力和前馈层之间,每个解码器层都有一个额外的编码器-解码器注意力层,以允许解码器存眷输入序列。例如,如果你正在将“I love you”(输入)翻译成“Je t'aime”(输出),你需要知道“Je”和“I”是对齐的,“love”和“aime”是对齐的。
解码器中的多头注意力层也分歧。它们被掩盖住了(masked),它们不存眷当前仍未生成的词右侧的任何内容 [2]。你可以把解码器想象成自由写作,你按照你已经写的和你已经阅读的内容写作,而不关心你将要写什么。

从 Transformer 到 GPT,GPT2 和 GPT3

GPT 的全称是 Generative Pre-trained Transformer,从名称中可以看出,它是一种生成模型,擅长生成输出;它是预训练的,这意味着它已经从大量文本数据中学习到常识;它是 Transformer 的一种类型。
事实上,GPT 只使用 Transformer 架构中的解码器部门[3]。畴前面的 Transformer 部门可以知道,解码器负责预测序列中的下一个词。GPT 通过使用先前生成的成果作为输入,再次反复执行此过程以生成较长的文本,这称为自回归。例如,如果它正在将“I love you”翻译成法语,它将首先生成“Je”,然后使用生成的“Je”生成“Je t’aime”。(参见前面图里的虚线)。
在训练第一个版本的 GPT 时,研究人员使用了 BookCorpus 数据库的无监督预训练,该数据库包含超过 7000 本独有的未出书册本 [3]。无监督学习(Unsupervised Learning)就像让 AI 本身阅读这些册本,并测验考试学习语言和单词的一般法则。在预训练的基础上,他们还针对特定任务使用了有监督的微调,如摘要或问答。有监督学习(Supervised Learning)的意思是着他们会向AI展示请求和正确答案的示例,并要求AI从这些示例中学习。
在 GPT-2 中,研究人员扩大了模型(15亿个参数)和给模型提供的语料库的规模,在无监督的预训练中使用了WebText,这是数百万个网页的调集 [4]。有了这样一个复杂的语料库进行学习,GPT2 可以在即使没有受过有监督微调的情况下,在各种与语言相关任务上有超卓的表示。
在 GPT-3 中,研究人员进一步扩展了模型,规模达到了 1750 亿个参数,并使用了来自网络、册本和维基百科的数百亿个单词构成的复杂语料库。有了如此复杂的模型和大量的预训练数据,研究人员发现 GPT-3 可以在提示中使用一个或少量示例(few-shot)进行学习完成任务,而不需要有监督微调模型
(如果你想了解如何提示模型以发生更好的成果,可以阅读我的另一篇文章:《产物经理怎么使用 ChatGPT》)
到目前为止,GPT-3 模型已经非常超卓了。但它们更像是通用语言模型。研究人员但愿探索它如何遵循人类的指令并与人类扳谈。因此,他们基于通用 GPT 模型创建了 InstructGPT 和 ChatGPT。让我们不才一节中看看他们是如何做到这一点的吧。

传授 GPT 与人类互动:InstructGPT 与 ChatGPT

在颠末多次迭代,从 GPT 到 GPT-3,随着模型和语料库规模的增长,研究人员意识到更大的模型并不意味着它们能够很好地遵循人类意图,而且可能发生有害输出。因此,他们测验考试有监督学习(supervised learning)和颠末人类反馈的强化学习(reinforcement learning with human feedback)对 GPT-3 进行微调[6][12]。有了这些训练法式,研究员们训练出了两个颠末微调的模型—— InstructGPT 和 ChatGPT。


第一步是从人类示例中进行有监督学习。研究人员首先为预训练的 GPT 提供了一个由人类标注员编写的颠末筹谋和标识表记标帜的提示和回答对的数据集。这个数据集被用来让模型从这些示例中学习所需的行为。从这一步中,他们获得了一个监督微调(SFT)模型。
第二步是训练一个奖励模型(RM)来评估生成模型的回答质量。研究人员使用 SFT 模型从每个提示生成多个回答,并要求人类标注员按照质量、互动性、信息量、安全性、连贯性和相关性将这些回答从最好到最差进行排名。这些提示、回答和排名被送入奖励模型中,通过监督学习来学习人类对回答的爱好。奖励模型可以按照回答与人类爱好的匹配程度预测一个标量奖励值。
在第三步中,研究人员使用奖励模型通过强化学习来优化 SFT 模型的策略。SFT 模型将会从一个新的提示中生成一个回答;奖励模型将会对回答进行评估并给出模拟人类爱好的奖励值;这个奖励值将被用来通过更新参数来优化生成模型。例如,如果生成模型生成了一个奖励模型认为人类可能喜欢的回答,它将会获得一个正面的奖励,以便在未来继续生成类似的回答;反之亦然。
通过这个带有监督学习和强化学习人类反馈的过程,InstructGPT 模型(仅有13亿个参数)在遵循人类指令的任务中的表示要比规模更大的 GPT-3 模型(有1750亿个参数)更好。
(注:然而,这并不意味着InstructGPT在所有方面或范围中都比GPT-3表示更好。例如,GPT-3可能在生成更长或更有创意的文本,如故事或文章方面仍具有优势。)
ChatGPT 是 InstructGPT 的姐妹模型。ChatGPT 的训练过程与 InstructGPT 类似,包罗我们之前介绍的不异的监督学习和强化学习人类反馈方式。主要的区别是,ChatGPT 是通过对话型任务的样例进行训练的,例如问答、闲聊、常识小游戏等 [7]。通过这种训练,ChatGPT 可以在对话中与人类自然交流。在对话中,ChatGPT 可以回答后续问题并承认错误,使得交互更具吸引力。

总结

颠末前面的解释,相信你对ChatGPT背后的模型是如何工作的以及如何演化到今天的状态有了更清晰的理解。
作为一个快速回顾,以下是最重要的结论和GPT模型的局限性:

  • ChatGPT 是基于仅有解码器部门的 Transformer 架构的自回归模型,它可以接收文本序列输入,并一次生成一个词的概率分布,以迭代的形式生成长文本。
  • 由于它没有即时搜索参考资料的能力,因此在生成过程中,它会基于它所训练的语料库进行概率预测,这可能导致对事实的错误表述。
  • 它是在大量网络和册本数据的基础长进行预训练的,并通过监督学习和有人类反馈的强化学习(RLHF)的方式,通过人类对话样例进行微调。
  • 它的能力主要基于其模型大小和语料库和样例的质量和大小。通过额外的监督学习或RLHF,它可以在特定上下文或任务中表示更好。
  • 由于语料库来自网络内容和册本,模型可能会从中学习到成见,出格是对于社会、文化、政治或基于性此外成见,导致对某些请求成见回应。

请保持好奇心,对像ChatGPT这样的新技术开放态度。我相信开放的心态和好奇心可以辅佐我们这些非技术类的产物经理、设计师和企业家在这个新的技术革命浪潮中保留下去。
(如果对我写的东西感兴趣,想聊聊想法,可以加我的 LinkedIn:https://www.linkedin.com/in/guodongzhao/

参考资料

[1] “Introducing OpenAI.” OpenAI, 12 Dec. 2015, https://openai.com/blog/introducing-openai/.
[2] Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems 30 (2017).
[3] Radford, Alec, et al. “Improving language understanding by generative pre-training.” (2018).
[4] Radford, Alec, et al. “Language models are unsupervised multitask learners.” OpenAI blog 1.8 (2019): 9.
[5] Brown, Tom, et al. “Language models are few-shot learners.” Advances in neural information processing systems 33 (2020): 1877–1901.
[6] Ouyang, Long, et al. “Training language models to follow instructions with human feedback.” arXiv preprint arXiv:2203.02155 (2022).
[7] “ChatGPT: Optimizing Language Models for Dialogue.” OpenAI, 30 Nov. 2022, https://openai.com/blog/chatgpt/.
[8] Murali, Aishwarya. “A Guide to Perform 5 Important Steps of NLP Using Python.” Analytics Vidhya, 17 Aug. 2021, https://www.analyticsvidhya.com/blog/2021/08/a-guide-to-perform-5-important-steps-of-nlp-using-python/.
[9] Cristina, Stefania. “The Transformer Attention Mechanism.” Machine Learning Mastery, 15 Sept. 2022, https://machinelearningmastery.com/the-transformer-attention-mechanism/.
[10] Doshi, Ketan. “Transformers Explained Visually (Part 1): Overview of Functionality.” Medium, 3 June 2021, https://towardsdatascience.com/transformers-explained-visually-part-1-overview-of-functionality-95a6dd460452.
[11] Kosar, Vaclav. Feed-Forward, Self-Attention & Key-Value. 2 Jan. 2021, https://vaclavkosar.com/ml/Feed-Forward-Self-Attendion-Key-Value-Memory.
[12] “Aligning Language Models to Follow Instructions.” OpenAI, 27 Jan. 2022, https://openai.com/blog/instruction-following/.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|T9AI - 深度人工智能平台 ( 沪ICP备2023010006号 )

GMT+8, 2024-11-24 11:14 , Processed in 0.058866 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表