初识 GPT-4 和 ChatGPT
#2025/07/24
#ai
#大模型开发
目录
- 1. LLM 概述
- 2. GPT 模型简史:从 GPT-1 到 GPT-4
1. LLM 概述
- 多模态:GPT-4 不仅擅长文本处理,还能够解读图像
1.1. 前置的名词解释
- NLP(自然语言处理,Natural Language Processing)是人工智能领域中的一个分支,专注于让计算机理解、解释和生成人类语言
- 它结合了语言学、计算机科学和机器学习技术,用于处理和分析自然语言数据。
- 现代 NLP 解决方案的基础是 ML 算法,这个算法能做以下事情
- 文本分类
- 将输入文本归为预定义的类别,这类任务包括情感分析和主题分类
- 自动翻译
- 将文本从一种语言自动翻译成另一种语言。
- 编程语言也可以
- 问题回答
- 根据给定的文本回答问题
- 文本生成
- 根据给定的输入文本(称为 提示词 )生成连贯且相关的输出文本
- prompt 既可以是一个词,也可以是一个句子、一段文本。
- 根据给定的输入文本(称为 提示词 )生成连贯且相关的输出文本
- 文本分类
NLP
是 机器学习 (machine learning,ML)和 AI 的一个子领域- AI 定义:人们认为它让计算机系统有能力执行那些通常需要人类智慧的任务
- 根据这个定义,许多算法可以被归为 AI 算法,比如导航应用程序所用的交通预测算法或策略类电子游戏所用的基于规则的系统
- 机器学习 (machine learning,ML) 是 AI 的一个子集
- 在 ML 中,我们不试图直接实现 AI 系统使用的决策规则,而是试图开发算法,使系统能够通过示例自己学习。
- 深度学习 (deep learning,DL) 是 ML 的一个分支
- 专注于受大脑结构启发的算法。
- 这些算法被称为 人工神经网络 (artificial neural network,
ANN
)。它们可以处理大量的数据,并且在图像识别、语音识别及 NLP 等任务上表现出色。
- GPT 模型的基础是一种特定的神经网络架构,即 Transformer。
- 2017 年,来自谷歌的 Vaswani 等人在论文“
Attention Is All You Need
”中提出了该架构。 - Transformer 就像阅读机一样,它关注句子或段落的不同部分,以理解其上下文并产生连贯的回答。
- 它还可以理解句子中的单词顺序和上下文意思。
- 这使得
Transformer
在语言翻译、问题回答和文本生成等任务中非常高效。
- 这使得
- 2017 年,来自谷歌的 Vaswani 等人在论文“
1.2. LLM
- LLM 是试图完成文本生成任务的一类 ML 模型。
- LLM 使计算机能够处理、解释和生成人类语言,从而提高人机交互效率。
- 为了做到这一点,LLM 会分析大量文本数据或基于这些数据进行 训练 ,从而学习句子中各个单词间的模式和关系。
- 这个学习过程可以使用各种数据源,包括维基百科、Reddit、成千上万本书,甚至互联网本身。
- 这一学习过程使 LLM 能够在接收到输入文本后,预测最可能出现的下一个单词,从而生成连贯且有意义的回复。
- LLM 具有大量的内部参数,在训练过程中,构建该模型的算法会不断寻找最优参数,以使模型能够对下一个单词做出最佳预测。
- 现代语言模型,如最新的 GPT 模型,规模庞大且经过海量文本训练,因此如今能够直接执行大多数 NLP 任务,例如文本分类、机器翻译、问答等。
- 自回归导致了模型性能问题
- 为了提升模型的性能,更先进的学习算法被引入
- 例如 循环神经网络 (recurrent neural network,RNN)和 长短时记忆网络 (long short-term memory,LSTM)。
- 与相比,这些模型能够学习更长的序列,并更好地分析上下文信息。
1.3. 理解 Transformer 架构及其在 LLM 中的作用
Transformer 架构 解决了 RNN
等早期模型的关键局限:难以处理较长的输入文本序列,并在长距离依赖中保持上下文信息。
- 换句话说,RNN 在处理较长文本时容易遗忘前文内容,而 Transformer 通过自注意力(self-attention)机制,能够有效捕捉和编码全局上下文,从而显著提升文本理解与生成能力。
- 注意力机制(attention mechanism)
- 之前:将文本序列中的所有单词视作同等重要
- 之后:注意力机制允许模型在每一步任务中“关注”相关性最高的词。
- 这使得文本中相距较远的元素可以直接建立联系,
- 例如句子的最后一个单词可以“关注”第一个单词,而不会受到距离限制,从而克服了 RNN 等早期模型难以捕捉长距离依赖的局限性。
- 在这一机制的基础上,又衍生出了
交叉注意力(cross-attention)
和自注意力
两种架构模块- 它们在 LLM 中被广泛应用。而 Transformer 架构正是充分利用了这些模块,从而大幅提升了模型的文本理解与生成能力。
交叉注意力
使模型能够判断输入文本中不同部分的相关性,以准确预测输出文本的下一个单词。- 可以将其比作一束聚光灯,照亮输入文本中最关键的单词或短语,突出对预测最重要的信息,同时忽略不相关的细节。
- 这使得文本中相距较远的元素可以直接建立联系,
1.3.1. 交叉注意力
以一个简单的句子翻译任务为例
- 英语:“Alice enjoyed the sunny weather in Brussels”(Alice 很享受布鲁塞尔阳光明媚的天气)
- 法语:“Alice a profité du temps ensoleillé à Bruxelles”。
- 在预测这个法语单词
ensoleillé(阳光明媚的)
时- 交叉注意力会赋予英语单词
sunny
和weather
更高的权重,因为它们与ensoleillé
的意义密切相关。 - 通过聚焦这些关键单词,交叉注意力能够帮助模型准确生成这一部分的翻译
- 交叉注意力模块使模型关注输入文本(英语句子)中的关键部分,以预测输出文本(法语句子)中的下一个单词
- 交叉注意力会赋予英语单词
- 在预测这个法语单词
1.3.2. 自注意力
- 自注意力是指模型能够自主关注输入文本中的不同部分
- 在 NLP 中,自注意力机制使模型可以评估句子中各个单词相比于其他单词的重要性,从而更好地理解单词之间的关系,并能够综合多个单词的信息,构建更高层次的语义概念。
- 假设我们有这样一句话:“Alice received praise from her colleagues”(Alice 受到了同事们的称赞)。
- 如果模型试图理解句子中
her
的含义,自注意力机制会为句中的不同单词分配不同的权重,突出与her
相关的重要单词。 - 在这个例子中,
Alice
和colleagues
这两个单词与her
关系密切,因此模型会为它们分配更高的权重
。 - 通过这种方式,自注意力机制帮助模型建立新的语义概念,
- 例如在本例中,它可能会形成“
Alice 的同事
”这一语义概念。如下图 - 自注意力机制使新概念
Alice's colleagues
(Alice 的同事)得以出现
- 例如在本例中,它可能会形成“
- 如果模型试图理解句子中
1.3.3. 并行架构
- 与循环架构不同,Transformer 架构还具有易于
并行化
的优势。 - 这意味着 Transformer 架构可以
同时处理输入文本的多个部分
,而不是按顺序逐步处理。- 非串行
- 由于不同部分的计算可以并行进行,而无须等待前一步骤完成,这大大加快了计算和训练速度。
- 基于 Transformer 架构的模型的并行处理能力与图形处理单元(graphics processing unit,GPU)的架构完美契合
- GPU 的设计旨在同时处理多个计算任务,因此非常适合用于训练和运行基于 Transformer 架构的模型。
- GPU 的高并行性和强大的计算能力使数据科学家能够在更大规模的数据集上训练模型,从而推动了 LLM 的发展。
1.3.4. 序列到序列 → 编码器 + 解码器
- Transformer 架构是一种
序列到序列
(sequence-to-sequence,Seq2Seq)的模型,最初是为机器翻译等序列到序列任务而开发的。 - 标准的 Transformer 架构有两个主要组件:
- 编码器和解码器,二者都十分依赖
注意力机制
。编码器
的任务是处理输入文本,识别有价值的特征,并生成有意义的文本表示,称为 嵌入 (embedding)。- 负责接收输入序列并生成上下文向量(即对输入进行编码)
解码器
使用这个嵌入来生成一个输出,比如翻译结果或摘要文本。这个输出有效地解释了编码信息。- 根据编码器生成的上下文向量以及自身的输入,生成输出序列(例如翻译、文本生成等)
- 编码器和解码器,二者都十分依赖
1.3.5. GPT 不基于编码器?
- GPT(Generative Pre-trained Transformer,生成式预训练 Transformer)是一类基于 Transformer 架构的模型,专门利用原始架构中的解码器部分。
- 在 GPT 中,不存在编码器,因此无须通过
交叉注意力
机制来整合编码器
产生的嵌入 - 也就是说,GPT 仅依赖解码器内部的自注意力机制来生成上下文感知的表示和预测结果。
- GPT 和其他基于 Transformer 的模型(例如 BERT)的一个关键区别,
- BERT 等其他一些众所周知的模型是基于编码器的,
- GPT 和其他基于 Transformer 的模型(例如 BERT)的一个关键区别,
1.3.6. 为什么 GPT 不使用编码器?
- 任务需求:
- GPT 的核心任务是生成文本,而生成任务更适合
解码器架构
,编码器
主要用于文本理解任务。
- GPT 的核心任务是生成文本,而生成任务更适合
- 效率考虑:
- 单向注意力机制更适合生成任务,可以有效地预测下一个词,而双向注意力会增加计算复杂度。
- 设计理念:
- GPT 的设计目标是构建一个
生成式模型
,而不是理解式模型
。
- GPT 的设计目标是构建一个
1.3.7. 自注意力机制 vs. 交叉注意力机制
- 自注意力机制:
- 让一个词在句子里自己找“队友”,看看谁和自己关系最密切。
- 一个句子里的词自己互相“看”,搞清楚自己和其他词的关系。
- 举例
- 假设有一句话:“我喜欢吃苹果。”
- “喜欢”这个词要理解它的意思,它可能会去“关注”句子里的“
我
”和“苹果
”,因为它们和“喜欢
”有关系。 - 自注意力机制会帮每个词计算它和其他词的关联
- 比如“喜欢”和“苹果”的关系可能很强,而“喜欢”和“吃”的关系可能稍弱。
- “喜欢”这个词要理解它的意思,它可能会去“关注”句子里的“
- 假设有一句话:“我喜欢吃苹果。”
- 交叉注意力机制:
- 让两个句子
互相“看”
,一个句子从另一个句子里找答案。 - 两个句子
互相“看”
,一个句子从另一个句子里找信息。 - 让两个不同的句子之间互相“看”,一个句子里的词去“关注”另一个句子里的词,搞清楚哪里有用的信息。
- 举个例子
- 把英文句子 “I love apples” 翻译成中文 “我喜欢苹果”。
- 中文里的“
喜欢
”这个词需要“关注”英文里的“love
”,因为它们是对应的 - 中文的句子通过交叉注意力机制去“看”英文句子,找到翻译时需要的信息
- 中文里的“
- 把英文句子 “I love apples” 翻译成中文 “我喜欢苹果”。
- 让两个句子
- 应用场景区别
- 自注意力:用在理解一个句子,比如分析句子结构、词之间的关系。
- 交叉注意力:用在翻译或对话生成,一个句子需要从另一个句子里获取信息。
1.3.8. NLP 技术的演变历程
1.4. 解密 GPT 模型的词元化和预测步骤
LLM 接收提示词作为输入,并生成相应的文本,这个过程被称为 文本补全 (text completion)。
例如,输入的提示词可能是“The weather is nice today, so I decided to”(今天天气很好,所以我决定去),而模型的输出则可能是“go for a walk.”(散步)。你可能会好奇 LLM 是如何根据提示词构建出这段文本的。实际上,这主要是一个概率计算的问题。
当 LLM 收到提示词之后,它首先将输入拆分成 词元 (token)。这些词元代表单词、单词的一部分、空格或标点符号。比如,在前面的例子中,提示词可以被拆分成 [“The”,“wea”,“ther”,“is”,“nice”,“today”,“,”,“so”,“I”,“de”,“ci”,“ded”,“to”]。
几乎每个语言模型都配有自己的分词器
。你可以在 OpenAI 平台上测试 GPT-3.5 和 GPT-4 系列的分词器。
- 对于英语文本,100 个词元大约等于 75 个单词
- 对于中文文本,100 个词元大约等于 50 ~ 80 个汉字(单词)。——译者注
因为有了注意力机制和 Transformer 架构,LLM 能够轻松处理词元并解释它们之间的关系及提示词的整体含义。Transformer 架构使模型能够高效地识别文本中的关键信息和上下文。
为了生成新的句子,LLM 会根据用户提供的提示词的上下文预测最有可能出现的后续词元。OpenAI 已经发布了多个版本的 GPT-4。
- 最初,用户可以选择的上下文窗口分别为
8192
个词元和32 768
个词元。 - 到 2024 年初,OpenAI 最新发布的模型是 GPT-4 Turbo 和 GPT-4o,其输入上下文窗口扩大到了
128 000 个词元
,相当于近 300 页的英文文本
。 - 与早期难以处理长输入序列的循环模型不同,Transformer 架构结合注意力机制,使得现代 LLM 能够将上下文作为一个整体来考虑。
- 模型为每个潜在的后续词元分配一个概率分数,然后选择概率最高的词元作为序列中的下一个词元。
- 在前面的例子中,“The weather is nice today, so I decided to”之后,下一个最佳词元可能是“
go
”。
可通过调整 温度 (temperature)参数,模型可以不总是选择概率最高的下一个词,而是从一组高概率词中进行选择。这种机制允许模型在生成文本时引入一定的多样性和创造力,从而避免输出过于单一或机械化。
这一过程会不断重复,但每次生成新词后,上下文也会随之扩展。
- 例如,模型在第一步预测出“go”后,新的上下文变为“
The weather is nice today, so I decided to go
”,并将“go”作为新的输入的一部分。 - 接下来,模型可能会预测出“
for
”。这个过程会持续进行,直到生成完整的句子,例如“The weather is nice today, so I decided to go for a walk.”。 - 这一生成过程依赖于 LLM 从海量文本数据中学习出的可能性最高的下一个单词。图 1-5 直观地展示了这一过程。
图 1-5:逐词元地补全文本,整个过程是迭代式的
1.5. 将视觉整合到 LLM 中
GPT-4 Vision
为 GPT-4 系列增添了多模态能力,本节揭示 GPT-4 是如何将图像与文本进行融合的
OpenAI 公开过一篇关于 GPT-4 的论文“GPT-4 Technical Report”。
长期以来, 卷积神经网络 (convolutional neural network,CNN)一直是图像处理领域中的先进技术。在图像分类、物体检测等任务中,CNN 凭借在输入图像上滑动的滤波器层
,展现了卓越的性能。这些滤波器
能够保持图像像素间的空间关系,正因如此,CNN 能够识别从早期层的简单边缘,到深层的复杂形状和物体等各种模式。
然而,正如 2017 年 Transformer 架构的引入颠覆了 NLP
领域,取代了 RNN
,2020 年,基于 Transformer 架构的图像处理新模型应运而生,对 CNN 在图像处理任务中的长期统治地位发起了挑战。2021 年,Dosovitskiy 等人发表的论文“An Image Is Worth 16 × 16 Words: Transformers for Image Recognition at Scale”展示了纯 Transformer 模型的强大能力,其中,ViT 模型
在多项图像分类任务中的表现超越了 CNN。
你可能会好奇 Transformer 是如何处理图像数据的。整体而言,这与处理文本的方式非常相似。
如前所述,当带有提示词的文本被发送到大模型时,大模型首先将文本分解为小字符块——词元,然后处理这些词元以预测下一个词元。在处理图像时,ViT
会首先将图像分割成固定大小的图像块
(patch)。图 1-6 展示了这一过程。
图 1-6:图像在输入到 Transformer 之前,被分割成固定大小的图像块
这些图像块随后与文本词元整合到一个统一的输入序列中。简单来说,当 LLM 处理文本数据时,所有的词元
都会首先被映射到一个高维空间。
换句话说,每个词元都会被转换成一个高维向量,而这种词元与高维向量之间的映射关系是在 LLM 训练过程中学习得出
的。
对于固定大小的图像块,处理方式几乎相同——模型在学习过程中计算出图像块与相同高维空间之间的映射函数。通过这种映射,文本词元和图像块可以被放入相同的高维空间,形成一个融合的序列。
然后,这个包含文本和图像的输入序列会通过 Transformer
架构进行处理,以预测下一个词元。
由于可以在相同的高维表示空间中整合文本词元和图像块,模型能够在这两种模态之间应用自注意力机制,使其能够生成同时考虑文本和图像信息的响应。
对于 Python 开发者来说,这种处理图像的能力可能会极大地影响用户与 AI 应用程序的交互方式,例如开发更直观的聊天机器人,或是能理解并解释图像内容的教育工具。
2. GPT 模型简史:从 GPT-1 到 GPT-4
2.1. GPT-1
2018 年年中,就在 Transformer 架构诞生一年后,OpenAI 发表了一篇题为“Improving Language Understanding by Generative Pre-Training”的论文,作者是 Radford 等人。这篇论文介绍了 GPT,也被称为 GPT-1。
在 GPT-1 出现之前,构建高性能 NLP 神经网络的常用方法是 监督学习 。这种学习技术使用大量的手动标记数据。以情感分析任务为例,目标是对给定的文本进行分类,判断其情感是正面的还是负面的。
一种常见的策略是,收集数千个手动标记的文本示例来构建有效的分类模型。
然而,这需要有大量标记良好的监督数据。这一需求限制了监督学习的性能,因为要生成这样的数据集,难度很大且成本高昂。
在论文中,GPT-1 的作者提出了一种新的学习过程,其中引入了无监督的预训练步骤。这个预训练步骤不需要标注数据,而是通过训练模型来预测下一个词元。由于采用了可以并行化的 Transformer 架构,预训练步骤是在大量数据上进行的。对于预训练,GPT-1 模型使用了 BookCorpus 数据集。
该数据集包含约 11 000 本未出版图书的文本。BookCorpus 最初由 Yukun Zhu 等人在 2015 年的论文“Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books”中给出,并通过多伦多大学的网页提供。然而,原始数据集的正式版本如今已不能公开访问。人们发现,GPT-1 在各种基本的文本补全任务中是有效的。在无监督学习阶段,该模型学习 BookCorpus 数据集并预测文本中的下一个词。然而,GPT-1 是小模型,它无法在不经过微调的情况下执行复杂任务。因此,人们将微调作为第二个监督学习步骤,让模型在一小部分手动标记的数据上进行微调,从而适应特定的目标任务。比如,在情感分析等分类任务中,可能需要在一小部分手动标记的文本示例上重新训练模型,以使其达到不错的准确度。这个过程使模型在初始的预训练阶段习得的参数得以修正,从而更好地适应具体的任务。
尽管规模相对较小,但 GPT-1 在仅用少量手动标记的数据进行微调后,能够出色地完成多个 NLP 任务。GPT-1 的架构包括一个解码器(与 2017 年提出的原始 Transformer 架构中的解码器类似),具有 1.17 亿个参数。作为首个 GPT 模型,它为更强大的模型铺平了道路。后续的 GPT 模型使用更大的数据集和更多的参数,更好地发挥了 Transformer 架构的潜力。
2.1.1. GPT-2
2019 年初,OpenAI 提出了 GPT-2。这是 GPT-1 的一个扩展版本,其参数量和训练数据集的规模大约是 GPT-1 的 10 倍。这个新版本的参数量为 15 亿,训练文本数据量为 40 GB。2019 年 11 月,OpenAI 发布了完整版的 GPT-2 模型。
GPT-2 是公开可用的,可以从 Hugging Face 或 GitHub 下载。
GPT-2 表明,使用更大的数据集训练更大的语言模型可以提高语言模型的任务处理能力,并使其在许多任务中超越已有模型
它还表明,更大的语言模型能够更好地处理自然语言。
OpenAI 于 2020 年发布论文“Scaling Laws for Neural Language Models”。该论文探讨了基于 Transformer 架构的语言模型的性能如何随着模型大小、数据集规模和训练计算量的增加而变化,发现了模型性能与这些因素之间的幂律关系。——译者注
2.1.2. GPT-3
2020 年 6 月,OpenAI 发布了 GPT-3。GPT-2 和 GPT-3 之间的主要区别在于模型的大小和用于训练的数据量。GPT-3 比 GPT-2 大得多,它有 1750 亿个参数,这使其能够捕捉更复杂的模式。此外,GPT-3 是在更广泛的数据集上进行训练的,包括 Common Crawl(它就像互联网档案馆,其中包含来自数十亿个网页的文本)和维基百科。
这个训练数据集包括来自网站、书籍和文章的内容,使得 GPT-3 能够更深入地理解语言和上下文。因此,GPT-3 在各种与语言相关的任务中都展示出更强的性能。此外,它在文本生成方面还展示出更强的连贯性和创造力。它甚至能够编写代码片段,如 SQL 查询,并执行其他智能任务。此外,GPT-3 取消了微调步骤,而这在之前的 GPT 模型中是必需的。
2.1.3. 从 GPT-3 到 InstructGPT
然而,GPT-3 存在一个问题,即终端用户提供的任务与模型在训练过程中所见到的任务不一致。我们已经知道,语言模型根据输入文本的上下文来预测下一个词元。这个训练过程不一定与终端用户希望模型执行的任务一致。此外,增大模型的规模并不能从根本上使其更好地遵循用户的意图或指令。像 GPT-3 这样的模型是在互联网数据上进行训练的。尽管数据源经过了一定的筛选,但用于训练模型的数据仍然可能包含虚假信息或有问题的文本,比如涉及种族歧视、性别歧视等。因此,模型有时可能说错话,甚至说出有害的话。
2021 年,OpenAI 发布了 GPT-3 模型的新版本,并取名为 InstructGPT
。与原始的 GPT-3 基础模型不同,InstructGPT 模型通过 基于人类反馈的强化学习 (reinforcement learning from human feedback,RLHF
)进行优化。这意味着 InstructGPT
模型利用反馈来学习和不断改进。这种方法使模型能够更好地理解人类指令,同时提高生成内容的真实性,并减少有害或不恰当的输出。
为了说明区别,我们输入以下提示词:“解释什么是时间复杂度。”两个模型给出的回答如下所述。
- 标准的 GPT-3 模型给出的回答是:“解释什么是空间复杂度。解释什么是大O记法。”
- InstructGPT 模型给出的回答是:“时间复杂度用于衡量算法运行和完成任务所需的时间,通常采用大O记法表示。它以操作次数来衡量算法的复杂度。算法的时间复杂度至关重要,因为它决定了算法的效率和对更大输入的扩展能力。”
可以看到,对于相同的输入,第一个模型无法正确回答问题(或者生成的回答很奇怪),而第二个模型则能提供正确的答案。用户希望与一个智能助手进行交互,而这并不是标准的 GPT-3 模型所擅长的,因此需要通过 RLHF
进行额外优化,以实现更符合预期的行为。当然,使用标准的 GPT-3 基础模型也可以得到理想的回答,但与 InstructGPT 模型不同的是,需要精心设计提示词并优化输入才能获得满意的结果。这种方法被称为 提示工程 (prompt engineering),我们将在后续章节中详细介绍。
在题为“Training Language Models to Follow Instructions with Human Feedback”的论文中,OpenAI 的欧阳龙(Ouyang)等人解释了 InstructGPT 是如何构建的。从 GPT-3 模型到 InstructGPT 模型的训练过程主要有两个阶段: 监督微调 (supervised fine-tuning,SFT)和 RLHF。
每个阶段都会针对前一阶段的结果进行微调。也就是说,SFT 阶段接收 GPT-3 模型并返回一个新模型,RLHF 阶段接收该模型并返回 InstructGPT 版本。
根据 OpenAI 的论文,我们重新绘制了一张流程图,如图 1-7 所示。
我们来逐一探讨每个阶段。
在 SFT 阶段,原始的 GPT-3 模型通过简单的监督学习进行微调(如图 1-7 的步骤 1 所示)。OpenAI 拥有由终端用户提供的提示词集合。训练过程从该集合中随机选择的一个提示词开始,随后,由一名人工标注员(labeler)编写该提示词的理想答案。这一过程会重复成千上万次,以构建一个包含提示词及其理想回答的监督训练数据集。然后,利用这个数据集对 GPT-3 模型进行微调,使其对用户请求的回答更加一致。经过这一阶段训练的模型被称为 SFT 模型。
RLHF 阶段分为两个子步骤:首先训练奖励模型(图 1-7 中的步骤 2),然后使用奖励模型进行强化学习(图 1-7 中的步骤 3)。
奖励模型(reward model,RM)的目标是自动为模型对提示词的回答打分。当回答与提示词的要求匹配时,奖励模型评分应较高;如果不匹配,则评分较低。为了构建奖励模型,OpenAI 首先随机选择一个问题,然后使用 SFT 模型生成多个可能的回答。(正如我们稍后会看到的,通过调整 温度 参数,可以针对同一个输入提示词生成多个不同的回答。)
接下来,人工标注员会根据回答与提示词的匹配程度、回答的毒性(toxicity)等标准,对这些回答进行排序。
这一过程重复多次后,所收集的数据集将用于微调 SFT 模型,使其能够进行评分。最终,这个奖励模型评分系统将用于构建最终的 InstructGPT 模型。
图 1-7:获取 InstructGPT 模型的步骤(根据欧阳龙等人的图片重绘)
InstructGPT 模型训练的最后一步涉及强化学习,这是一个迭代优化的过程。训练从一个初始的生成式模型(如 SFT 模型)开始,首先随机选择一个提示词,然后模型生成对应的输出,接着奖励模型对该输出进行评分。根据所获得的奖励分数,生成式模型会进行相应的调整和优化。这一过程可以在无人工干预的情况下重复无数次,从而使模型能够更高效、自动化地改进。
与基础的 GPT-3 模型相比,InstructGPT 模型能够针对用户的提问生成更准确的内容。OpenAI 建议使用 InstructGPT 模型,而非原始版本。
2.1.4. 1.2.5 GPT-3.5、ChatGPT 和 Codex
2022 年 3 月,OpenAI 发布了 GPT-3 的新版本。新模型可以编辑文本或向文本中插入内容。它们所用的训练数据截至 2021 年 6 月,OpenAI 称它们比先前的版本更强大。2022 年 11 月底,OpenAI 正式称这些模型为 GPT-3.5 模型。
2022 年 11 月,OpenAI 还推出了实验性对话工具 ChatGPT。该工具背后的模型是 GPT-3.5 的一个微调版本,名为 GPT-3.5 Turbo。该模型在交互式对话方面表现出色,采用了类似图 1-7 所示的技术,但专门用于聊天场景。
当 ChatGPT 最初推出时,“ChatGPT”这个名称既可以指代用于 ChatGPT 的语言模型,也可以指代基于该模型的聊天机器人 Web 界面。换句话说,ChatGPT 既代表底层的模型,也指向与用户交互的应用程序,这两个概念在早期是等同的。
在本书的其余部分中,我们将对此做出区分:
- GPT-3.5 和 GPT-4 分别指代 OpenAI 的两个大模型家族,每个家族包含多个模型版本;
- ChatGPT 指代使用这些模型的聊天 Web 界面。
OpenAI 还推出了 Codex 模型,这是一款基于 GPT-3 并经过数十亿行代码微调的模型,它驱动了 GitHub Copilot,一款代码自动补全编程工具,可为 Visual Studio Code、JetBrains 以及 Neovim 等多种文本编辑器的开发者提供帮助。然而,OpenAI 已于 2023 年 3 月停用 Codex 模型,并建议用户改用 GPT-3.5 Turbo 或 GPT-4。与此同时,GitHub 推出了 Copilot X,该版本基于 GPT-4 模型,相比之前的版本提供了更多功能,进一步提升了开发者的编程体验。
OpenAI 对 Codex 模型的弃用提醒我们,使用 API 存在固有风险:随着更高效的模型的开发和发布,它们可能会发生变化,甚至被停用。
2.1.5. GPT-4
2023 年 3 月,OpenAI 发布了 GPT-4。关于这个新模型的架构,我们知之甚少,因为 OpenAI 提供的信息很少。这是 OpenAI 迄今为止最先进的系统 ,能够针对用户的提问生成更安全、更有用的回答。OpenAI 声称,GPT-4 在高级推理能力方面超越了 GPT-3.5 Turbo。
截至本书英文版 2024 年 7 月出版时。——译者注
当该模型发布时,OpenAI 发布了一份技术报告“GPT-4 Technical Report”,评估了模型的能力,并与之前的模型(如 InstructGPT 和 GPT-3)进行了大量比较。
与 OpenAI GPT 家族中的其他模型不同,GPT-4 是第一个能够同时接收文本和图像的多模态模型。这意味着 GPT-4 在生成输出句子时会考虑上下文中的图像和文本。这样一来,用户就可以将图像添加到提示词中并对其提问。
起初,OpenAI 并未在 GPT-4 中公开推出视觉功能。直到 2023 年 11 月,OpenAI 宣布推出具备视觉能力的 GPT-4 Turbo 模型。GPT-4 Turbo 还配备了 128 000 词元的上下文窗口,这意味着输入提示词可以相当于 300 页的英文文本!此外,GPT-4 Turbo 的成本也低于原始的 GPT-4。
在图 1-8 的示例中,我们在纸上写下一个公式,拍照后让 GPT-4 Turbo 描述图片中的公式。正如你所见,模型轻松识别出这是黄金比例。
目前市场上有众多语言模型,客观比较它们的表现,确定哪个模型在特定任务中更为出色,变得尤为重要。一种常见的方法是评估它们在大学考试中的表现。在这种背景下,人们对模型在不同测试中的表现进行了评估,结果显示,GPT-4 在各项测试中的得分普遍高于 GPT-3.5 Turbo。例如,在美国的统一律师资格考试中,GPT-3.5 Turbo 的得分位于第 10 百分位,而 GPT-4 则位于第 90 百分位。在国际生物学奥林匹克竞赛中,GPT-3.5 Turbo 的得分位于第 31 百分位,而 GPT-4 则位于第 99 百分位。这一进展令人印象深刻,尤其是在不到一年的时间内取得了如此显著的提升。最近,OpenAI 发布了其最新 6 的旗舰模型 GPT-4o(“o”代表 omni
,即“全能
”),该模型在多个基准测试中表现优于此前的 GPT-4。
6 截至 2025 年 3 月,OpenAI 发布的最新模型为 GPT-4.5。——译者注
图 1-8:GPT-4 视觉能力的应用(2024 年 2 月)
另一种常见的语言模型比较方式是让人类以盲测的方式评分,即评估者在不知晓模型名称的情况下,对不同模型的回答进行评分。LMSYS Chatbot Arena Leaderboard(托管于 Hugging Face)提供了这种比较方式。LMSYS Chatbot Arena 是一个基于众包的 LLM 随机对战平台,用户可以同时与两个随机选择的模型进行对话,而不知晓具体使用的是哪种模型,然后投票选出回答更相关的模型。这种方式类似于一场竞赛,模型之间可以进行比拼,并通过 ELO 评分系统进行排名(关于 ELO 评分系统的更多信息,请参阅“为什么使用 ELO 评分系统来比较模型”)。
为什么使用 ELO 评分系统来比较模型
ELO 评分系统由匈牙利裔美国物理学教授、国际象棋大师 Arpad Elo 创建,最初是为了改进美国国际象棋联合会(United States Chess Federation,USCF)使用的早期评级方法。1960 年,USCF 采纳了这一系统。1970 年,世界国际象棋联合会也开始使用它。如今,ELO 评分系统被广泛应用于竞争领域,例如电子游戏中的玩家排名,其中《英雄联盟》的玩家评级便是基于此系统。
ELO 评分系统同样适用于比较 LLM。在该系统中,两个 LLM 通过盲评方式进行竞争。具体操作是,用户向两个模型提出相同的问题,模型给出回答后,用户需要选择哪个回答更为优质。
ELO 评分系统可用于对零和游戏中的玩家排名。零和游戏指的是在游戏中,其中一个玩家的得益正好等于另一个玩家的损失。排名的挑战在于玩家对抗的动态变化和新玩家的不断涌现。该系统设计得足够灵活,能够通过不断更新比赛结果来调整玩家的排名,从而有效评估玩家的相对技能水平。
ELO 评分系统为每个玩家分配一个数值,数值越高表示技能水平越强。该系统的核心优势之一是,它能直接通过两位玩家的 ELO 分数差异来估算其中一方获胜的概率。
假设玩家 和玩家 的 ELO 分数分别为 和 ,则玩家 获胜的概率可以通过以下公式计算:
在撰写本书时,排名前三的模型均为 GPT-4 系列,其中 ELO 分数最高的是 GPT-4o 模型(gpt-4o-2024-05-13)。第四名是谷歌的 Gemini 1.5 Pro 模型,而 GPT-3.5 Turbo 排名第 30 位。
如果你向一个人展示两个模型——例如,gpt-4o-2024-05-13(得分 1287)和 GPT-3.5-Turbo-0613(得分 1120)——而不告诉他它们是什么模型,你可以通过将 ELO 分数代入公式来估算此人更偏好 gpt-4o-2024-05-13 模型的概率。在这种情况下,概率估计为 72%。
表 1-1 总结了 GPT 模型的演变历程。
表 1-1:GPT 模型的演变历程
你可能听说 基础模型 (foundation model)这个术语。与传统的针对特定任务训练的模型不同,基础模型是在多种类型的数据上进行训练的。这种广泛的训练使它们对不同领域有深入的理解,而这些知识随后可以通过微调来适应特定任务。GPT 系列模型就是典型的基础模型。正如我们所见,GPT 展现出了在各种主题上生成类似人类文本的强大能力。通过微调,它的广泛知识可以被专门优化,使它擅长不同的任务,例如写作、编程等。这种特性使得基础模型能够适应医疗、金融等多个领域的任务,充分利用其庞大的、不受特定领域限制的知识库。
2.1.6. 1.2.7 人工智能向多模态演进
正如前面提到的,Transformer 和语言模型最初主要用于文本处理任务。最早的 Transformer 架构由 Vaswani 等人在 2017 年的论文“Attention Is All You Need”中提出,旨在解决文本翻译问题。然而,基于 Transformer 的技术很快就被应用到其他类型的数据上。例如,GPT-4 已经具备视觉处理能力,可以在生成回答时将图像作为输入的一部分进行理解。
但这并不是唯一可以在应用程序中使用的模态。OpenAI 提供了可以在 Python 中使用的工具,这些工具可以通过 OpenAI API 访问,虽然它们并不直接嵌入 LLM 本身,但可以作为补充技术,让开发者在构建应用程序时利用更广泛的 AI 功能。
- 使用 DALL · E 生成图像 通过 OpenAI API,应用程序可以直接调用 DALL · E 2 或 DALL · E 3 模型。这些模型属于文本生成图像(text-to-image)模型。DALL · E3 是更先进的版本,能够在生成的图像中融入文本,还支持横向(landscape)和纵向(portrait)布局。相比 DALL · E 2,DALL · E 3 生成的图像通常更精美,细节更丰富,并且能够理解更复杂的提示词。这些模型使开发者能够直接通过文本描述创建视觉吸引力强的内容,为创意和实用性应用开辟了新的可能性。
- 语音识别与合成 OpenAI 还训练了名为 Whisper 的神经网络 Transformer,它在超过 50 种语言的语音识别中表现出色,尤其是在英语方面,已接近人类水平。OpenAI 已将 Whisper 的代码开源,开发者也可以通过 OpenAI API 访问该工具。Whisper 允许开发者创建能以极高准确度理解口语的应用程序。 此外,OpenAI 音频 API 提供了对两个文本转语音(text to speech,TTS)模型的访问,一个优化了实时文本转语音的应用场景,另一个则更侧重于语音质量。用户可以选择 6 种声音,这些模型支持超过 50 种语言,在英语中表现最佳。
- 使用 Sora 进行视频生成 在本书撰写时,OpenAI 已发布了其新的文本转视频工具——Sora。目前,Sora 尚未向开发者开放 7 ,但这表明未来不久将会有类似的工具可供使用。用户只需要提供简单的提示词,Sora 就能够生成最长 60 秒的视频内容。 这些多模态工具显著拓展了 AI 的能力,为开发者及其应用程序开辟了新前景。借助这些技术,你可以创建更具互动性的应用程序,让用户通过多种方式(图像、语音、文本,以及即将推出的视频)进行交流。
7 OpenAI 已于北京时间 2024 年 12 月 10 日正式向公众开放了其文本生成视频模型 Sora。——译者注
2.2. LLM 用例和示例产品
OpenAI 在其官网上分享了许多具有启发性的客户故事。本节将探讨其中一些应用、用例和产品示例,展示这些模型如何改变我们的社会,并为商业和创造力开辟新的机遇。正如你所见,许多企业已经开始使用这些新技术,但仍有广阔的创新空间,未来还充满了无限可能性。现在,轮到你来探索这些机遇了。
2.2.1. 1.3.1 Be My Eyes
自 2012 年以来,Be My Eyes 为数百万视障人士提供了技术支持。该应用程序能够将志愿者与需要帮助的视障人士连接起来,帮助他们完成日常任务,如识别产品或在机场内导航。用户只需在应用程序中点击一下,便能通过音视频与志愿者连接,获得实时帮助。
得益于 GPT-4 新的多模态能力,该模型现可同时处理文本和图像,因此 Be My Eyes 开始开发基于 GPT-4 的虚拟志愿者。这一新型虚拟志愿者旨在为视障人士提供与人类志愿者相同水平的帮助与理解。
“这些技术对全球无障碍建设影响深远,”Be My Eyes 首席执行官 Michael Buckley 说道,“在不久的将来,视障群体将不仅仅依赖这些工具来满足各种视觉解释需求,还能在生活中拥有更强的独立性。”
在撰写本书时,Be My Eyes 的 AI 助手仍处于公开测试阶段。它目前已在 iOS 上推出,并逐步向 Android 用户开放。
2.2.2. 1.3.2 摩根士丹利
摩根士丹利(Morgan Stanley)是一家总部位于美国的跨国投资银行和金融服务公司。作为财富管理领域的领导者,摩根士丹利积累了数十万页的知识和洞察,涵盖投资策略、市场研究、评论以及分析师观点。这些信息分布在多个内部网站上,主要以 PDF 格式呈现,导致顾问需要搜索大量文档才能找到他们所需的答案,显然这一过程既漫长又烦琐。
为解决这一问题,摩根士丹利评估了将其智力资本与 GPT 模型的集成研究能力相结合的潜力。由此开发的内部模型驱动了一个聊天机器人,能够全面搜索财富管理内容,有效解锁摩根士丹利积累的知识。通过这一方式,GPT-4 提供了更易于使用的格式,使得对大量信息的分析更加便捷和高效。
2.2.3. 1.3.3 可汗学院
可汗学院(Khan Academy)是一个总部位于美国的非营利教育组织,成立于 2008 年,由 Sal Khan 创办。该组织的使命是开发免费的在线教育工具,帮助全球学生学习。可汗学院为不同年龄段的学生提供数千个数学、科学和社会研究课程,并通过视频和博客提供短期课程。最近,可汗学院推出了由 GPT-4 驱动的 AI 助手 Khanmigo。
Khanmigo 可以为学生提供多方面的帮助,包括指导、鼓励、提问以及备考。它的目标是成为一个友好的聊天机器人,帮助学生完成课后作业,而不是直接给出答案。Khanmigo 会引导学生思考,帮助他们更深入地理解所学内容。此外,Khanmigo 还为教师提供支持,帮助他们制订课程计划、完成行政任务并创建教学材料。
可汗学院的首席学习官 Kristen DiCerbo 表示:“我们认为 GPT-4 正在教育领域开辟新的边界。许多人早就梦想拥有这种技术了。它是变革性的,我们计划以审慎的方式进行测试,以探索它在学习和教学中的应用潜力。”
2.2.4. 多邻国
多邻国(Duolingo)是一家总部位于美国的教育科技公司,成立于 2011 年,致力于开发供数百万希望学习第二语言的人使用的应用程序。为了学习一门语言,用户不仅需要掌握语法规则,还需要通过与母语者对话来加深对语言的理解。然而,并非每个人都有机会与母语者交流。
多邻国推出了两个基于 OpenAI GPT-4 的新功能:Roleplay(角色扮演)和 Explain My Answer(解释我的答案)。这两个功能目前在 Duolingo Max 订阅级别中提供。通过这些功能,多邻国打破了理论知识与语言实际应用之间的隔阂,让学习者能够在实际场景中沉浸式地学习语言。
Roleplay 功能模拟与母语者的对话,帮助用户在各种真实情境中练习语言。Explain My Answer 功能则提供个性化的语法错误反馈,帮助学习者深入理解语言结构。
多邻国的首席产品经理 Edwin Bodge 表示:“我们希望将 AI 深度集成到应用中,结合多邻国的游戏化元素,为学习者提供更具互动性和沉浸感的学习体验。”
将 GPT-4 集成到 Duolingo Max 中,不仅提升了整体学习体验,还为更高效的语言学习奠定了基础,特别是对于那些无法接触到母语者或沉浸式语言环境的学习者。这一创新有望改变学习第二语言的方式,并有助于改善长期学习成果。
2.2.5. Yabble
Yabble 是一家市场研究公司,专注于利用 AI 分析消费者数据,为企业提供有价值的见解,其平台能够将原始的、非结构化的数据转化为可视化信息,帮助企业基于客户需求做出明智的决策。
通过将先进的 AI 技术(如 GPT)整合到平台中,Yabble 的消费者数据处理能力得到了显著提升。这一增强使得平台能够更有效地理解复杂问题和答案,从而帮助企业获得更深刻的客户洞察。企业可以通过识别客户反馈中的关键改进点,做出更加明智的决策。
Yabble 产品负责人 Ben Roe 表示:“我们深知,若要扩展现有产品,我们需要 AI 承担更多的工作,以便将精力和创造力投入其他领域。OpenAI 完美契合了这一需求。”
2.2.6. Waymark
Waymark 为企业提供了一个视频广告制作平台,利用 AI 帮助企业轻松创建高质量的视频内容,而无须具备复杂的技术知识或昂贵的设备。
Waymark 将 GPT 集成到其平台中,极大提升了脚本创作的效率。这个基于 GPT 的增强功能让平台能够在几秒内为企业生成定制化脚本,使得用户能够减少编辑脚本的时间,专注于视频创作,从而提升了整体效率。
Waymark 创始人 Nathan Labenz 说道:“在过去的 5 年里,我尝试了各种 AI 驱动的产品,但一直没有找到能够有效总结企业在线足迹的工具,更别提写出高效的营销文案了。GPT-3 的出现改变了这一局面。”
2.2.7. Inworld AI
Inworld AI 是为开发者提供的平台,用于创建具有独特个性、多模态表达和上下文感知能力的 AI 角色。
Inworld AI 平台的一个主要应用场景是电子游戏。将 GPT 作为平台的核心引擎确保了游戏角色的开发更加高效。通过将 GPT 与其他 ML 模型相结合,该平台能够为 AI 角色生成独特的个性、情感、记忆和行为。这样,游戏开发者可以专注于创作故事情节和其他关键内容,而无须花费大量时间从零开始创建语言模型。
Inworld 的首席产品官兼联合创始人 Kylan Gibbs 说:“借助 GPT-3,我们能够将更多的时间和创造力投入自有技术的开发中,这项技术将驱动下一代非玩家角色(non-player character,NPC)的诞生。”
2.3. 警惕 AI 幻觉:限制与注意事项
正如你所见,LLM 是通过逐步预测下一个单词(或词元)来生成回答的。在大多数情况下,模型的输出是相关且可用的。但在应用语言模型时应保持谨慎,因为它们可能会生成不连贯(不相关)的回答,这些错误回答通常被称为 幻觉 (hallucination)。AI 幻觉指的是模型以自信的语气提供错误或基于虚构事实的回答。对于依赖 GPT 的用户来说,这可能会带来误导的风险。因此,在使用模型时,必须对其输出进行核实和批判性审查,以确保信息的准确性和可靠性。
考虑以下示例:我们首先要求模型进行简单的计算——2 + 2,如预期,它回答“4”,正确无误,非常棒!接下来,我们要求它进行一个更复杂的计算——3695 × 123 548,尽管正确答案是 456 509 860,但模型对错误的答案充满自信,如图 1-9 所示。即使我们要求它检查并重新计算,模型仍然给出了错误的结果。
图 1-9:ChatGPT 产生的数学幻觉(2023 年 4 月 22 日)
后面我们会看到,尽管可以通过插件(plug-in)系统为 ChatGPT 添加新功能,但 ChatGPT 默认并不包含计算功能。当被问到“2+2 等于多少”时,虽然 ChatGPT 可以正确回答,但这可能是因为它在训练数据中多次见过“2+2 等于 4”这样的文本。然而,模型并没有真正执行计算过程,它只是基于文本补全来预测最可能出现的下一个单词。
更有可能的是,运行在 ChatGPT 背后的 GPT-3.5 模型在训练中很少,甚至没有遇到过我们为乘法问题选择的数 3695 和 123 548。这就是它出错的原因——模型产生了幻觉。正如你所见,即便犯了错误,模型可能依然对错误结果表现得非常自信。因此,如果你在应用程序中使用类似的模型,必须小心。如果 GPT 出错,你的应用程序可能会给出前后矛盾的结果。请注意,数学错误只是幻觉的一种表现。
值得注意的是,ChatGPT 的结果通常接近正确答案,而不是完全随机。这是其算法的一个有趣的副作用,尽管它并不具备数学能力,但仅凭语言模式,它也能给出接近正确值的估计。
OpenAI 在 GPT-4 中引入了插件功能。我们将在第 5 章看到,这些工具可以为 LLM 增加额外的功能。一个典型的工具就是计算器,它可以帮助 GPT 正确回答数学计算类问题。
在前面的例子中,ChatGPT 无意中犯了一个错误。但在某些情况下,它也可能故意给出错误信息,正如图 1-10 所示。
图 1-10:要求 ChatGPT 给一张维基百科图片中的斑马计数(2023 年 5 月)
ChatGPT 首先声称它无法访问互联网。然而,如果我们继续询问,奇怪的事情发生了,如图 1-11 所示。
图 1-11:ChatGPT 暗示它访问了链接(2023 年 5 月)
ChatGPT 现在暗示它确实访问了该链接。然而,这在目前绝对不可能。ChatGPT 明显在引导用户认为它拥有实际上没有的能力。顺便一提,如图 1-12 所示,图片中的斑马可不止三只。
图 1-12:ChatGPT 并没有真正去数斑马的数量
ChatGPT 和其他基于 GPT-4 的模型在设计上并不总是可靠的。它们可能会犯错误、提供虚假信息,甚至误导用户。因此,我们强烈建议仅在创意类应用中使用纯粹基于 GPT 的解决方案,而不要在对准确性要求极高的场景中使用,例如用于医疗工具。在这种情况下,正如你将看到的,插件可能是更理想的解决方案。
2.4. 借助高级功能释放 GPT 潜力
除了 OpenAI 提供的文本补全(completion)功能外,还有一些更高级的技术可以进一步发挥语言模型的能力。本书将探讨以下方法:
- 插件(plug-in)
- 提示工程(prompt engineering)
- 检索增强生成(RAG)
- 微调(fine-tuning)
- GPTs 和 Assistants API
尽管 GPT 模型在许多任务中表现出色,但它仍然存在一些局限,特别是在计算方面。例如,GPT 模型能够正确回答诸如“2 + 2”这样简单的数学问题,但在处理更复杂的计算时(如“3695 × 123 548”),则可能会遇到困难。
在 ChatGPT 的 Web 界面中,OpenAI 提供的插件服务允许模型连接到由第三方开发的应用程序。这些插件使 ChatGPT 运行的语言模型能够与开发者定义的 API 进行交互,从而大幅增强 GPT 模型的能力,使其能够通过多种外部操作访问外部世界。
OpenAI 为 ChatGPT 用户提供了付费订阅服务 ChatGPT Plus。订阅后,ChatGPT 额外提供三种工具:网页浏览(web browsing)、DALL·E 图像生成(image generation)和代码解释器(code interpreter),并允许用户在 GPT-3.5 和 GPT-4 之间切换。
ChatGPT 的插件使得 GPT 模型能够执行多种任务,例如:
- 获取实时信息,如体育比分、股票报价、新闻等;
- 代表用户执行操作,如预订航班、点餐等;
- 执行精确的数学计算;
- 检索基于知识的信息,如公司文件、个人笔记等。
这些仅是插件的一部分用例,新的用例仍有待你来探索。
这几项中的最后一个例子涉及为模型添加知识库,模型可以在输入上下文中使用该知识库,从而回答与终端用户需求相关的特定问题。这个应用场景被称为 检索增强生成 (retrieval-augmented generation,RAG),如今变得越来越流行。我们将在第 4 章详细讲解 RAG 的概念,并在第 3 章和第 5 章提供实现示例。
本书还将介绍微调技术。你将看到,微调可以显著提升现有模型在特定任务上的表现。微调是指在特定数据集上对模型进行再训练,以优化其在特定任务中的表现。通过微调,模型能够更好地捕捉任务中的细节,从而在特定场景中提供更加精准的答案。例如,一个经过金融语料库微调的模型,将能够更好地理解金融领域的语言,并生成相关的内容。
OpenAI 在 ChatGPT 的 Web 界面中引入了 GPTs 这一概念(这个名称可能会让人感到困惑)。可以将 GPTs 看作一种封装器(wrapper),它将语言模型(可能经过微调)、各种工具、可供模型使用的文档,以及定义模型角色和任务的特定指令整合在一起。通过这些元素的结合,GPTs 能够创建一个 AI 智能体(agent),专门用于执行特定任务。
例如,你可以创建一个 GPTs 来提供运动营养建议。为此,你可以为该 GPTs 配置不同的工具,例如一个根据用户输入制订个性化饮食计划的算法。你提供的文档可以涵盖常量和微量营养素对运动员的重要性等相关主题。最后,你可以在特定指令中明确告诉模型,它的任务是向用户提供准确且个性化的运动营养建议。
这只是 GPTs 可实现功能的一个示例。还有很重要的一点是:GPTs 运行在 ChatGPT 的 Web 界面中,不需要编写代码即可创建。GPTs 开启了可定制 AI 智能体的新纪元,让用户无须具备深厚的 IT 技术背景,也能轻松构建自定义智能助手。
GPT 这个词现在有两种含义:它可以指代 OpenAI 在 2018 年发表的论文“Improving Language Understanding by Generative Pre-Training”中描述的基于 Transformer 的模型,也可以指前面提到的自定义 GPT(GPTs 8 )。具体含义需要根据上下文来判断。
插件这一术语在 OpenAI 生态系统中的含义也发生了变化。最初,OpenAI 通过插件的概念,探索如何将第三方服务集成到 ChatGPT 中,以扩展模型的能力。然而,在关于 GPTs 的最新文档中,插件一词已被 行动 (action)取代。行动引入了许多新功能,同时保留了插件的核心理念。
8 GPTs 是英语中 GPT 的复数用法,本书将其视为一个固定名称。——编者注
Assistants API 允许开发者在自己的应用程序中构建 AI 助手。与 GPTs 类似,Assistants API 也使用语言模型(可以进行微调),具有指令,并且可以利用工具和知识来响应用户查询。这样的集成构造出一种生态系统,作为开发者,你可以根据用户量身定制 AI 功能。不同之处在于,Assistants API 更加注重将 AI 助手直接集成到你的应用程序中,从而为用户提供更加个性化和更具互动性的体验;而 GPTs 更适合通过 ChatGPT 界面进行调用,并不适用于在 Python 应用程序中直接调用。
简而言之,GPTs 允许高定制化,无须具备编码技能,而 Assistants API 在集成到应用程序时需要更强的技术能力。
对于开发者来说,插件和 GPTs 可能会带来许多新的机会。未来,每家公司或许都会希望为 LLM 创建自己的插件或 GPTs。OpenAI 已经推出了一个 GPTs 商店,用于共享由 OpenAI 合作伙伴和社区开发的数千个 GPTs。此外,OpenAI 还宣布在 2024 年上半年在美国率先推出 GPT Builder 收益计划,但截至撰写本书时,尚未提供更多相关信息。通过插件或 GPTs 可以扩展的应用数量可能极为庞大。
2.5. 小结
LLM 经历了长足的发展,从最初简单的模型,逐步发展到 RNN、LSTM,再到基于 Transformer 的先进架构。
LLM 是能够处理和生成类人语言的计算机程序,利用 ML 技术分析大量文本数据。通过自注意力和交叉注意力机制,Transformer 极大地提升了语言理解能力。
本书探讨了如何使用 GPT 模型,因为它们具备强大的理解和生成上下文的能力。与传统的 BERT 或 LSTM 模型相比,使用 GPT 构建应用程序可以提供更为自然的类人交互。
自 2023 年初以来,GPT 模型在自然语言处理领域展现了卓越的能力,推动了 AI 在各行业中的快速应用。从 Be My Eyes 到 Waymark 等平台的各种用例,已经证明这些模型有潜力彻底改变我们与技术的互动方式。
然而,使用这些 LLM 时也存在潜在的风险。作为使用 OpenAI API 开发应用程序的开发者,你应该确保用户意识到可能出现的错误,并能够验证 AI 生成的信息。
下一章将为你提供所需的工具和信息,帮助你使用 OpenAI 提供的模型,真正参与这场变革,见证其惊人的发展。