【大模型应用开发:基于GPT-4和ChatGPT】(初识GPT-4和ChatGPT)


🔥承渊政道: 个人主页
❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C++知识内容》 《Linux系统与网络知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 《MySQL数据库学习》 《Python知识内容》 《cpolar知识学习》
✨逆境不吐心中苦,顺境不忘来时路!✨ 🎬 博主简介:

想象这样一个世界:在这个世界里,你可以像和朋友聊天一样快速地与计算机交互.那会是怎样的体验?你可以创造出什么样的应用程序?这正是OpenAI的GPT系列所探索的方向.GPT-4 等大语言模型(large language model,LLM)通过大量数据训练,学习语言模式,并在给定上下文的条件下生成文本.输出可以很流畅,但流畅程度与事实准确性需要分别检验.这些AI模型的意义远超简单的语音助手.多亏了OpenAI的模型,开发人员现在可以利用自然语言处理(natural language processing,NLP)技术创建应用程序,使其以一种曾经只存在于科幻小说中的方式理解我们的需求.从学习和适应个体需求的创新型客户支持系统,到理解每个学生独特的学习风格的个性化教学工具,GPT-4和ChatGPT打开了一扇门,让人们看见一个充满可能性的全新世界.GPT-4和ChatGPT究竟是什么?本文的目标是深入探讨大语言模型及其应用的基础、起源和关键特性.通过了解这些模型的基础知识,你将为构建下一代以LLM驱动的应用程序打下坚实的基础.

目录

1.LLM概述

本节介绍塑造GPT-4和ChatGPT发展历程的基础模块.我们旨在帮助你全面理解语言模型、NLP 技术、Transformer 架构的作用,以及GPT模型中的标记化和预测过程.


1.1探索语言模型和NLP的基础

GPT-4是模型,ChatGPT是使用模型提供交互功能的产品.自然语言处理(natural language processing,NLP)研究如何让计算机处理人类语言,既包括基于规则的方法,也包括机器学习方法.在深入研究GPT-4和ChatGPT之前,有必要了解NLP及其相关领域.

AI 有不同的定义,但其中一个定义或多或少已成为共识,即AI是一类计算机系统,它能够执行通常需要人类智能才能完成的任务.根据这个定义,许多算法可以被归为AI算法,比如导航应用程序所用的交通预测算法或策略类视频游戏所用的基于规则的系统.从表面上看,在这些示例中,计算机似乎需要智能才能完成相关任务.

机器学习(machine learning,ML)是AI的一个子集.在ML中,我们不试图直接实现AI系统使用的决策规则.相反,我们试图开发算法,使系统能够通过示例自己学习.自从在 20 世纪 50 年代开始进行ML研究以来,人们已经在科学文献中提出了许多ML算法.

在这些ML算法中,深度学习(deep learning,DL)算法已经引起了广泛关注.DL是ML的一个分支,主要使用多层人工神经网络(artificial neural network)学习数据的表示.它们可以处理大量的数据,并且在图像识别、语音识别及NLP等任务上表现出色.

GPT系列语言模型使用Transformer类架构;ChatGPT则把模型能力与对话界面、会话管理和工具组合在一起.Transformer就像阅读机一样,它关注句子或段落的不同部分,以理解其上下文并产生连贯的回答.此外,它还可以理解句子中的单词顺序和上下文意思.这使Transformer在语言翻译、问题回答和文本生成等任务中非常有效.下图展示了以上术语之间的关系.

NLP是AI的一个子领域,专注于使计算机能够处理、解释和生成人类语言.现代NLP中许多高性能解决方案基于ML算法.NLP的目标是让计算机能够处理自然语言文本.这个目标涉及诸多任务,如下所述.

文本分类

将输入文本归为预定义的类别.这类任务包括情感分析和主题分类.比如,某公司使用情感分析来了解客户对其服务的意见.电子邮件过滤是主题分类的一个例子,其中电子邮件可以被归类为"个人邮件""社交邮件""促销邮件""垃圾邮件"等.

自动翻译

将文本从一种语言自动翻译成另一种语言.请注意,这类任务可以包括将代码从一种程序设计语言翻译成另一种程序设计语言,比如从 Python 翻译成 C++.

问题回答

根据给定的文本回答问题.比如,在线客服门户网站可以使用 NLP 模型回答关于产品的常见问题;教学软件可以使用NLP模型回答学生关于所学主题的问题.

文本生成

根据给定的输入文本(称为提示词)生成连贯且相关的输出文本.对于prompt一词,统一采用"提示词"这个译法,以符合业内惯例.不过,prompt 既可以是一个词,也可以是一个或多个句子.对于 prompt engineering,采用"提示工程"这个译法.

LLM 是具有大量参数的语言模型,可以用于生成、理解和转换文本.训练时,模型从大量文本中学习语言模式和统计关系;数据可能来自网页、百科、书籍和其他语料,具体组成由训练方案决定.生成时,模型利用已训练的参数和当前上下文预测后续token.GPT-4等生成式LLM可通过指令和示例处理文本分类、翻译、问答等多种任务,ChatGPT则把这类能力组织成对话产品.

可以把模型理解为提供语言能力的"发动机",把ChatGPT理解为包含界面、文件处理、会话管理和工具连接的"整车".自己开发的应用也需要这些配套环节.例如,客服助手能够写出退款说明,实际退款仍须由应用按照业务规则调用获授权的接口,并检查返回结果.模型、产品与业务执行这三个层次应分开设计.

语言模型的发展经历了多个阶段.较早的n-gram模型根据前面有限数量的词估计下一个词的条件概率,通常使用语料中的频次并结合平滑方法.生成时可以选择高概率词,也可以按概率采样.由于上下文范围短、未见组合较多,这类模型在长距离关系和连贯生成方面受到限制.

为了提高n-gram模型的性能,人们引入了更先进的学习算法,包括循环神经网络(recurrent neural network,RNN)和长短期记忆(long short-term memory,LSTM)网络.与n-gram模型相比,这些模型能够学习更长的序列,并且能够更好地分析上下文,但它们在处理大量数据时的效率仍然欠佳.RNN和LSTM曾在机器翻译等序列任务中广泛使用,但逐步递推的结构限制了训练并行度.


1.2理解Transformer架构及其在LLM中的作用

Transformer 架构推动了NLP的发展.RNN通过逐步传递隐状态处理序列,在长距离依赖建模和训练并行化方面存在困难;自注意力允许不同位置之间直接建立联系,缩短信息传递路径.这里讨论的是长序列中的依赖建模;持续学习中的灾难性遗忘则指学习新任务后旧任务性能下降.Transformer 也受上下文长度与计算资源限制,不能无限记忆全部文本.Transformer 原论文。

这场革命的核心支柱是注意力机制,这是一个简单而又强大的机制.模型不再将文本序列中的所有词视为同等重要,而是在任务的每个步骤中关注最相关的词.交叉注意力和自注意力是基于注意力机制的两个架构模块,它们经常出现在LLM中.原始的编码器---解码器Transformer同时使用自注意力和交叉注意力;具体模型是否使用两者,取决于架构设计.

交叉注意力有助于模型确定输入文本的不同部分与输出文本中下一个词的相关性.它就像一盏聚光灯,照亮输入文本中的词或短语,并突出显示预测下一个词所需的相关信息,同时忽略不重要的细节.

为了说明这一点,让我们以一个简单的句子翻译任务为例.假设输入文本是这样一个英语句子:Alice enjoyed the sunny weather in Brussels(Alice 很享受布鲁塞尔阳光明媚的天气).如果目标语言是法语,那么输出文本应该是:Alice a profité du temps ensoleillé à Bruxelles.在这个例子中,让我们专注于生成法语单词ensoleillé,它对应原句中的sunny.对于这个预测任务,交叉注意力模块会更关注英语单词sunny和weather,因为它们都与ensoleillé相关.通过关注这两个单词,交叉注意力模块有助于模型为句子的这一部分生成准确的翻译结果,如图所示.

交叉注意力模块使模型关注输入文本(英语句子)中的关键部分,以预测输出文本(法语句子)中的下一个单词

自注意力机制是指模型能够关注其输入文本的不同部分.具体到NLP领域,自注意力机制使模型能够评估句子中的每个词相比于其他词的重要性.这使得模型能够更好地理解各词之间的关系,并根据输入文本中的多个词构建新概念.

来看一个更具体的例子.考虑以下句子:Alice received praise from her colleagues(Alice 受到同事的赞扬).假设模型试图理解her这个单词的意思.自注意力机制给句子中的每个单词分配不同的权重,突出在这个上下文中与her相关的单词.在本例中,自注意力机制会更关注 Alice 和 colleagues 这两个单词.自注意力把相关位置的信息汇集到向量表示中,使模型能够表示 Alice 与colleagues的联系.图用Alice's colleagues 这个短语作直观比喻,并不表示网络内部必然生成了这样一个可读短语.

上述注意力权重用于教学说明,不是从实际模型中测出的数值.图展示的是可观察完整输入的自注意力示意.GPT类自回归语言模型采用因果掩码:某个位置只能利用自身和之前位置的信息.因此在 her 所在位置,不能读取它后面的 colleagues;处理后面的token时,才可利用已经出现的前文.

与RNN不同,Transformer 在训练时可并行计算已知序列中多个位置的表示,适合GPU的大规模矩阵运算.这提高了训练效率,使在大型数据集上训练语言模型更可行.标准自回归生成仍按顺序产生 token:下一个 token依赖已经生成的内容.训练的并行计算与推理时逐步生成,是两个不同环节.

Transformer 架构由来自谷歌公司的 Ashish Vaswani 等人在 2017 年的论文"Attention Is All You Need"中提出,最初用于序列到序列的任务,如机器翻译任务.标准的Transformer架构有两个主要组件:编码器和解码器,两者都十分依赖注意力机制.编码器的任务是处理输入文本,识别有价值的特征,并生成有意义的文本表示,称为嵌入(embedding).解码器使用这个嵌入来生成一个输出,比如翻译结果或摘要文本.这个输出有效地解释了编码信息.

生成式预训练 Transformer(Generative Pre-trained Transformer,GPT)是一类采用解码器式结构的语言模型.以公开的GPT-1、GPT-2、GPT-3为例,核心使用带因果掩码的自注意力,没有原始机器翻译架构中读取编码器输出的交叉注意力模块;此外还包括前馈网络、位置表示等组件.BERT则是典型的编码器式模型.GPT-4的完整架构细节没有公开,不能把这个教学示意当作其全部实现。图展示了NLP技术的演变历程.


1.3解密GPT模型的标记化和预测步骤

GPT模型接收一段提示词作为输入,然后生成一段文本作为输出.这个过程被称为文本补全.举例来说,提示词可以是The weather is nice today, so I decided to(今天天气很好,所以我决定),模型的输出则可能是 go for a walk(去散步).你可能想知道 GPT 模型是如何根据输入的提示词构建输出文本的.正如你将看到的,这主要是一个概率问题.

当GPT模型收到一段提示词之后,文本首先由分词器转换为token.一个token可以对应单词、单词的一部分、标点或包含空格的片段;中文字符与token也不是一一对应.图把 weather、decided 拆成小块,只用于解释"文本切分"的概念,并非指定模型的真实分词结果.

开发时应使用目标模型对应的分词规则,而不是用字数代替token数.OpenAI 的 tiktoken 库提供相关编码;不同模型可能共享一种编码,也可能采用不同编码.

因为有了注意力机制和 Transformer 架构,LLM 能够轻松处理标记并解释它们之间的关系及提示词的整体含义.Transformer 架构使模型能够高效地识别文本中的关键信息和上下文.

为了生成文本,模型根据当前上下文为候选token分配条件概率.生成策略可以选取概率最高的 token,也可以按分布采样.在支持temperature的接口中,较高温度通常增加随机性,较低温度使输出更集中;低温度不保证事实正确,也不保证每次结果完全相同.比如在"今天天气很好,所以我决定"之后,"去"可能是一个候选 token.

上下文窗口是一次生成中可处理的信息预算.2023 年发布的早期 GPT-4 有 8192 和 32 768 token 的版本;同年11月公布的 GPT-4 Turbo 预览版 gpt-4-1106-preview 则为 128k.这些是具体历史版本的规格.请求中的指令、输入、历史消息、参考材料与输出需要按目标模型的规则计入预算,输出上限也可能低于上下文总长度;推理模型还可能需要预留推理 token.保存了很多聊天记录,不表示每次请求都会读取全部记录.

接下来重复此过程,但现在上下文变为"今天天气很好,所以我决定去",生成的"去"被加入上下文.模型继续预测后续token,直到生成结束标记、遇到停止条件或达到输出限制;这可能形成完整句子"今天天气很好,所以我决定去散步",也可能在达到限制时被截断.图展示了这一迭代过程.

训练通过数据与优化过程更新模型参数;通常的生成使用既有参数结合当前上下文产生输出.把资料放进提示词,为本次任务增加了信息,并不等于对模型做了微调.产品保存的会话或记忆,也需要在使用时通过相应机制进入上下文.学习时可以逐渐增加参考材料,记录token用量和检索指定信息的准确性,找到任务的可用范围.


2.GPT模型简史:从GPT-1到GPT-4

本节将回顾 OpenAI 的GPT模型从GPT-1到GPT-4的演变历程.


2.1GPT-1

2018年年中,就在Transformer架构诞生一年后,OpenAI发表了一篇题为"Improving Language Understanding by Generative Pre-Training"的论文,作者是Alec 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 当时采用的数据集版本.

人们发现,GPT-1 在各种基本的文本补全任务中是有效的.在无监督学习阶段,该模型学习 BookCorpus 数据集并预测文本中的下一个词.GPT-1 论文采用预训练后针对任务进行监督微调的方案.人们将微调作为第二个监督学习步骤,让模型在一小部分手动标记的数据上进行微调,从而适应特定的目标任务.比如,在情感分析等分类任务中,可能需要在一小部分手动标记的文本示例上重新训练模型,以使其达到不错的准确度.这个过程使模型在初始的预训练阶段习得的参数得到修改,从而更好地适应具体的任务.

尽管规模相对较小,但GPT-1在仅用少量手动标记的数据进行微调后,能够出色地完成多个 NLP 任务.GPT-1的架构包括一个解码器(与原始 Transformer 架构中的解码器类似),具有1.17亿个参数.作为首个GPT模型,它为更强大的模型铺平了道路.后续的GPT模型使用更大的数据集和更多的参数,更好地利用了Transformer架构的潜力.


2.2GPT-2

2019 年初,OpenAI提出了GPT-2.这是GPT-1的一个扩展版本,其参数量和训练数据量都超过 GPT-1 的 10 倍.这个新版本的参数量为15 亿,训练文本为40GB.2019年11月,OpenAI 发布了完整版的GPT-2模型.

GPT-2 表明,使用更大的数据集训练更大的语言模型可以提高语言模型的任务处理能力,并使其在许多任务中超越已有模型.它还表明,更大的语言模型能够更好地处理自然语言.


2.3GPT-3

2020 年,OpenAI公布GPT-3论文,并在同年6月推出API测试.GPT-2和GPT-3之间的主要区别在于模型的大小和用于训练的数据量.GPT-3比GPT-2大得多,它有1750亿个参数,这使其能够捕捉更复杂的模式.此外,GPT-3是在更广泛的数据集上进行训练的.这包括Common Crawl(它就像互联网档案馆,其中包含来自数十亿个网页的文本)和维基百科.这个训练数据集包括来自网站、书籍和文章的内容,使得GPT-3能够更深入地理解语言和上下文.因此,GPT-3在各种语言相关任务中都展示出更强的性能.此外,它在文本生成方面还展示出更强的连贯性和创造力.它甚至能够编写代码片段,如SQL查询,并执行其他智能任务.GPT-3论文主要评估零样本、单样本和少样本提示条件下的能力:评测时不更新参数,但这并不意味着GPT-3不能微调.论文中的最大模型有1750亿参数,训练过程使用3000亿token;训练语料池约4990亿token,按不同比例采样.参数量、语料池规模与实际训练 token 数是三个不同指标.

然而,GPT-3存在一个问题,即最终用户提供的任务与模型在训练过程中所见到的任务不一致.我们已经知道,语言模型根据输入文本的上下文来预测下一个标记.这个训练过程不一定与最终用户希望模型执行的任务一致.此外,增大语言模型的规模并不能从根本上使其更好地遵循用户的意图或指令.像GPT-3这样的模型是在互联网数据上进行训练的.尽管数据源经过一定的筛选,但用于训练模型的数据仍然可能包含虚假信息或有问题的文本,比如涉及种族歧视、性别歧视等.因此,模型有时可能说错话,甚至说出有害的话.InstructGPT的早期版本于2021年1月部署;介绍其方法和实验的官方研究公告发表于2022年1月27日.与原始的GPT-3基础模型不同,InstructGPT 模型通过强化学习和人类反馈进行优化.这是在训练阶段利用人类反馈改进指令遵循能力,不是每次聊天都会即时更新参数.相关实验显示,人类更偏好其回答,部分真实性与有害输出指标也得到改善,但并未消除错误.

用以下提示词比较这两类模型:"解释什么是时间复杂度。"两个模型给出的回答如下所述.

  • 标准的 GPT-3 模型给出的回答是:"解释什么是空间复杂度.解释什么是大O记法."

  • InstructGPT 模型给出的回答是:"时间复杂度用于衡量算法运行和完成任务所需的时间,通常采用大O记法表示.它以操作次数来衡量算法的复杂度.算法的时间复杂度至关重要,因为它决定了算法的效率和对更大输入的扩展能力."

我们可以看到,对于相同的输入,第一个模型无法回答问题(它给出的回答甚至很奇怪),而第二个模型可以回答问题.当然,使用标准的GPT-3模型也能够得到所需的回答,但需要应用特定的提示词设计和优化技术.这种技术被称为提示工程(prompt engineering),后文将详细介绍.


2.4从GPT-3到InstructGPT

在论文 Training Language Models to Follow Instructions with Human Feedback 中,欧阳龙等人介绍了 InstructGPT 的构建过程.

从GPT-3模型到InstructGPT模型的训练过程主要有两个阶段:监督微调(supervised fine-tuning,SFT)和通过人类反馈进行强化学习(reinforcement learning from human feedback,RLHF)。每个阶段都会针对前一阶段的结果进行微调.也就是说,SFT阶段接收 GPT-3 模型并返回一个新模型.RLHF阶段接收该模型并返回InstructGPT版本.

根据OpenAI论文绘制了流程图,如图所示.

我们来逐一探讨每个阶段.

在SFT阶段中,原始的GPT-3 模型通过监督学习进行微调.OpenAI 拥有一系列由最终用户创建的提示词.首先,从可用的提示词数据集中随机抽样.然后,要求一个人(称为标注员)编写一个示例来演示理想的回答.重复这个过程数千次,以获得一个由提示词和相应的理想回答组成的监督训练数据集.最后,使用该数据集微调GPT-3模型,以针对用户的提问提供更一致的回答.此时得到的模型称为SFT模型.

RLHF 阶段分为两个子步骤:首先训练奖励模型,然后使用奖励模型进行强化学习.

奖励模型根据人类偏好数据,为回答给出用于训练的评分.首先用SFT模型针对同一提示词采样多个答案,再由标注员按指令遵循、真实性与有害程度等标准排序.训练出的奖励模型学习预测这些相对偏好,它的高分不等于事实已经被证明.

训练InstructGPT模型的最后一步是强化学习:从SFT模型出发,抽取提示词、生成回答、用奖励模型评分,再利用近端策略优化(PPO)等方法更新生成模型.训练还使用约束,限制策略过度偏离参考模型.这个循环能够自动执行多步,但需要控制训练量并独立评估,不能靠无限优化奖励保证性能持续提高;奖励模型本身也可能偏离真实目标.

在当时的实验与API使用场景中,InstructGPT更符合用户指令,人类评估者也更偏好其输出.这解释了从基础文本续写模型向指令模型发展的价值:模型不仅需要续写合理,还要按任务要求回答.


2.5GPT-3.5、Codex和ChatGPT

2022年3月,OpenAI 为GPT-3和Codex API发布编辑与插入能力,使模型能够修改现有文本,或在给定前后文之间补入内容.2022年11月发布ChatGPT时,OpenAI 说明其从GPT-3.5系列模型微调而来,该基础模型于 2022 年初完成训练.训练完成时间与训练资料的知识截止时间是不同概念.

2021 年,OpenAI介绍了Codex:在自然语言和公开代码数据上训练的代码模型,曾为早期 GitHub Copilot 提供能力.开发人员可在 Visual Studio Code、JetBrains、Neovim 等编辑器中使用编程辅助功能.这里的 Codex 指当时的代码模型及API;本文讨论其历史演变,不把它与后来复用这一名称的产品混为一谈.当时的 code-davinci-002 等 Codex API模型于2023年3月23 日停用,模型迁移因此成为应用维护的一部分.

2022年11月30日,OpenAI 发布 ChatGPT 研究预览.该模型经过了微调,采用图所示的类似技术,在交互式对话中表现出色.ChatGPT源自 GPT-3.5 系列,该系列为其开发奠定了基础.


2.6GPT-4

2023 年3月14日,OpenAI 发布GPT-4.在当时的发布背景下,它相对GPT-3.5 展示了更强的复杂任务能力.技术报告没有公开完整架构、参数量和详细训练数据,因此不凭传闻补上这些数字.

GPT-4 在当时的 GPT 系列中引入了文本与图像输入的多模态能力,输出为文本.在支持图像输入的具体版本和接口中,用户可以提交图片并提问,模型结合图像与文本生成回答.

GPT-4 技术报告比较了GPT-4与GPT-3.5在模拟考试中的表现.例如,统一律师资格考试中 GPT-4 约处于第 90 百分位,GPT-3.5 约处于第 10 百分位;这是一组特定测试条件下的模型评估,不能直接等同于整个 ChatGPT 产品的能力,也不能证明模型具备相应职业资质.在 2020 年美国生物奥林匹克竞赛半决赛(USABO)模拟测试中,GPT-4为87/150分,约第99--100百分位;GPT-3.5 为 43/150 分,约第 31--33 百分位.

表总结了GPT模型的演变历程.

年份 进展
2017 Ashish Vaswani 等人发表论文"Attention Is All You Need"
2018 第一个 GPT 模型诞生,参数量为 1.17 亿
2019 GPT-2 模型发布,参数量为 15 亿
2020 GPT-3 模型发布,参数量为 1750 亿
2022 ChatGPT 研究预览发布,底层来自 GPT-3.5 系列;该系列参数总量未在所引官方资料中公开
2023 GPT-4 模型发布,但具体的参数量未公开

基础模型(foundation model) 指在广泛数据上训练、能适配多种下游任务的模型。数据可以是文本,也可以包含图像、音频等模态;基础模型不要求必须是多模态。GPT 等通用预训练语言模型是这一类别的重要实例,概念的关键是训练范围与适配能力,而不只是"参数很多".


3.LLM用例和示例产品

本节在 2023 年前后介绍的七组应用案例,展示模型如何与资料、界面和业务流程结合.产品功能、管理人员头衔与试点开放方式均按当时案例背景理解;这里用于学习应用设计,不代表这些产品今天的订阅或功能清单.


3.1Be My Eyes

Be My Eyes 的构想产生于 2012 年,应用于2015年1月上线.它通过技术连接志愿者与盲人、低视力用户,帮助处理识别产品等日常视觉任务.用户发起视频通话后,志愿者通过画面和音频提供协助.

GPT-4 的多模态能力使得它能够处理文本和图像.Be My Eyes 开始基于 GPT-4 开发新的虚拟志愿者.这个虚拟志愿者旨在达到与人类志愿者相当的理解水平和帮助能力.

Be My Eyes 的首席执行官 Michael Buckley 表示:"全球可达性的影响深远.在不久的将来,视障人士不仅将利用这些工具满足各种视觉解释需求,还将在生活中获得更强的独立能力."

在写作时,虚拟志愿者处于测试阶段,用户通过应用申请并加入等候名单.案例的重点是把图像输入、语言解释与真人协助结合起来;AI 对看不清的物体应说明不确定,必要时转交真人.


3.2摩根士丹利

摩根士丹利是一家总部位于美国的跨国投资银行和金融服务公司.作为财富管理领域的领头羊,摩根士丹利拥有数十万页的知识和见解内容库,涵盖投资策略、市场研究与评论,以及分析师意见.这些海量信息分散在多个内部网站上,其文件格式主要是PDF.这意味着顾问必须搜索大量文档才能找到他们想要的答案.可以想象,搜索过程既漫长又乏味.

摩根士丹利把 GPT-4 与内部知识资料结合,开发供顾问使用的助手,用自然语言检索、归纳财富管理内容.这是企业应用与已有模型的结合,不意味着企业从头训练了一个 GPT-4 基础模型.答案还需要对应到获授权的内部资料,便于顾问追溯和判断.


3.3可汗学院

可汗学院是一家总部位于美国的非营利教育组织,由Sal Khan于2008年创立.可汗学院致力于提供一套免费的在线工具,帮助全球学生接受教育.该组织为各个年龄段的学生提供数千门课程,涵盖数学、自然科学和社会学.此外,该组织通过视频和博客制作短课程,并于2023年开始试点 Khanmigo.

Khanmigo 是由GPT-4驱动的新型 AI 助手.Khanmigo可以为学生做很多事情,比如引导和鼓励他们,提问并帮助他们准备考试.Khanmigo 旨在成为对用户友好的聊天机器人,帮助学生完成课堂作业.其设计目标是通过引导帮助学生学习,而不是单纯直接给答案.除了帮助学生,Khanmigo 还可以帮助教师准备教案、完成行政任务和制作教材等.

可汗学院的首席学习官 Kristen DiCerbo 说道:"我们认为 GPT-4 正在教育领域开辟新的前沿.它是很多人长期以来梦寐以求的技术.它具有变革性,我们计划负责任地对它进行测试,以探索它能否有效地用于学习和教学."


3.4多邻国

多邻国(Duolingo)是一家总部位于美国的教育科技公司,成立于2011年,其用于学习第二语言的应用程序拥有数百万用户.多邻国用户需要理解语法规则以学习一门语言的基础知识.他们需要进行对话,最好是与母语为该语言的人进行对话,以理解这些语法规则并掌握该语言.这并非对所有人来说都是易事.

2023 年,多邻国使用 GPT-4 为 Duolingo Max 介绍了两个功能:"角色扮演"和"解释我的答案".这两个功能在名为 Duolingo Max 的新订阅级别中可用.借助这两个功能,多邻国填补了理论知识和语言应用之间的鸿沟.多亏了LLM,多邻国让语言学习者能够沉浸在真实世界的场景中.

"角色扮演"功能模拟与母语人士的对话,让用户能够在各种场景中练习语言技能."解释我的答案"功能针对语法错误提供个性化反馈,帮助用户更深入地理解语言结构.

多邻国的首席产品经理 Edwin Bodge 说道:"我们希望 AI 技术能够深度融入多邻国的应用程序,并利用多邻国的游戏化特点.这是我们的用户所喜爱的."

GPT-4 与 Duolingo Max 的集成,不仅增强了整体学习体验,还为更有效的语言学习铺平了道路,尤其是对于那些无法接触到母语人士或沉浸式环境的人来说.这种创新方法应该能够改变语言学习者掌握第二语言的方式,并巩固长期的学习成果.


3.5Yabble

Yabble 是一家市场研究公司,它利用 AI 技术分析消费者数据,为企业提供可用的见解.Yabble 的平台将原始的非结构化数据转化为可视化形式,使企业能够根据客户需求做出明智的决策.

将先进的 AI 技术(如GPT)整合到Yabble的平台中,这样做增强了其消费者数据处理能力.这种增强使得对复杂问题和答案的理解更加有效,也使企业能够基于数据获得更深入的见解.这样一来,企业可以根据客户反馈识别可改进的关键领域,做出更明智的决策.

Yabble的产品负责人Ben Roe说道:"我们知道,如果要扩大现有的服务规模,我们需要 AI 来完成大部分的繁重工作,这样我们就可以把时间和创造力用在其他地方.OpenAI 完全符合我们的要求."


3.6Waymark

Waymark 提供了一个创作视频广告的平台.该平台利用 AI 技术帮助企业轻松创作高质量的视频,无须技术知识或昂贵的设备.

Waymark 已将 GPT 集成到其平台中,这显著地改进了平台用户的脚本编写过程.这种由 GPT 驱动的增强功能使得平台能够在几秒内为用户生成定制脚本.这样一来,用户能够更专注于他们的主要目标,因为他们无须花费太多时间编辑脚本,从而有更多的时间来创作视频广告.因此,将 GPT 集成到 Waymark 平台中提供了效率更高、个性化更强的视频创作体验.

Waymark 创始人 Nathan Labenz 说道:"在过去的五年中,我使用了各种 AI 产品,但没有发现任何一款产品能够有效地总结一个企业的在线足迹,更不用说撰写有效的营销文案了,直到 GPT-3 出现."


3.7Inworld AI

Inworld AI 为开发人员提供了一个平台,用于创建具有独特个性、多模态表达能力和上下文意识的 AI 角色.

Inworld AI 平台的主要应用领域之一是视频游戏.将GPT作为Inworld AI角色引擎的基础,可以实现高效、快速的视频游戏角色开发.通过将GPT与其他ML模型结合,该平台可以为AI角色生成独特的个性、情感、记忆和行为.这个过程使游戏开发人员能够专注于叙事和其他主题,而无须花费大量时间从头开始创建语言模型.

Inworld AI 的首席产品官兼联合创始人Kylan Gibbs表示:"有了GPT-3,我们有更多的时间和创造力来打磨专有技术,为下一代非玩家角色提供动力."


3.8把案例转成应用要求

阅读这些案例时,可以沿着"输入什么、帮助完成什么、结果怎样检查"三步分析.可以据此设计应用的验收标准.

案例 本文介绍的任务 学习时可追问的验证问题
Be My Eyes 通过图像理解帮助视障人士 图片里不清楚的细节能否说明不确定?
摩根士丹利 从大量内部资料中获取知识 答案能否追溯到获授权的原始文档?
可汗学院、多邻国 辅导学习、语言对话与反馈 是否支持学习目标,而不只是给出流畅回答?
Yabble、Waymark 分析消费者反馈、创作广告脚本 结论是否忠于反馈,文案是否符合实际信息?
Inworld AI 创建有个性和上下文的游戏角色 角色的回答是否符合故事设定与交互规则?

这些问题把"模型可以生成什么"转成"应用需要保证什么".具体的业务效果仍要用实际任务验证.


4.警惕AI幻觉:限制与考虑

LLM 根据输入上下文逐步生成 token,输出可能与问题相关且语言流畅,也可能包含不受证据支持、与事实冲突或虚构的信息,这类现象通常称为幻觉.不能用回答的语气判断真实性;应用应根据任务检查资料来源、计算结果和实际执行记录.

记录了下面的数学实验:模型先把2 + 2正确回答为4,随后计算 3695 × 123 548 时给出了错误乘积.作者要求它检查并重新计算,模型又给出了另一个错误值,如图所示.

正确计算:3695 × 123 548 = 456 509 860. 可以按位核算:123 548 × (3000 + 600 + 90 + 5),得到 370 644 000 + 74 128 800 + 11 119 320 + 617 740 = 456 509 860.截图是当时的两次模型回答,保留它是为了展示为何必须独立验算.

python 复制代码
result = 3695 * 123_548
assert result == 456_509_860
print(result)  # 456509860

这个计算只需本地 Python,不需要调用模型或连接网络.应用中可以把数值运算交给确定性的计算函数,再让模型解释已核验的结果.

模型直接生成数学答案与外部计算工具执行算式,是两条不同路径.语言模型能够学习算术模式并在不少题目上给出正确答案,但单个案例不能确定它是记忆、泛化还是推导出了结果,也不能保证后续题目全部正确.对于要求精确数值的应用,应把算式与结果交给计算器或程序验证.

本例中两个错误结果在数量级上接近正确值,但数值接近仍不能满足精确计算的要求.再次询问同一模型可作为自检步骤,最终验算仍需独立依据.

工具集成让模型可以请求执行计算。应用收到请求后校验参数、调用计算函数、保存返回值,再把结果交给模型生成说明。实际函数执行由应用完成,不能只看到一句"已经计算"就认定工具运行成功.

模型还可能生成与实际能力或工具执行不符的描述.下面展示一次图片问答;这些回复可用于观察不受支持的断言,不能单凭它们推断模型具有"故意欺骗"的意图.

在这一历史对话中,模型先表示无法自行访问互联网,随后收到一个图片链接,却声称已经分析图片并给出数量,如图所示.

这一句回复不能证明系统获取了图片.在图中没有可核验的访问或图像分析结果,而图显示的斑马数量超过三只.实现图片问答时,应选择支持图像输入的模型,把实际图片按接口要求传入,确认输入成功,再检查识别结果;仅把一个URL当作普通文本放进提示词,不等于完成图片读取.

创意草稿也需要检查事实;依赖可靠答案的应用则应加入来源追溯、确定性计算和必要的人工复核.工具可以降低特定环节的错误,但还要验证工具参数、数据时效和返回结果,不能把接入工具等同于整体系统已经可靠.


5.使用提示词、检索、工具和微调优化GPT应用

从插件与微调介绍模型增强.插件是2023年ChatGPT连接外部服务的一种产品形态;学习应用开发时,可把这一能力归纳为"工具调用",并与提示词、检索增强生成和微调一起理解.


5.1提示词:明确任务和输出要求

提示词给模型说明任务、提供必要上下文和少量示例.对于格式不稳定的问题,可以给出明确字段、示例与约束,再在应用端校验输出.向上下文添加资料不会自动修改参数;模型能利用新资料回答,并不表示它永久学会了这份资料.


5.2检索:把需要的资料带入上下文

检索增强生成(retrieval-augmented generation,RAG)的基本流程是:接收问题,检索相关文档片段,将片段与问题一起交给模型,再输出答案及来源.适合经常更新的产品资料、企业制度和其他需要追溯的知识.检索时应只访问当前用户有权读取的资料,并保留文档标题、位置和版本;资料不足时允许回答"现有资料不足以确定".

知识截止时间描述模型训练资料的时间范围,不是模型能访问互联网的证明.2023年初版 GPT-4 的大部分训练资料截至 2021 年 9 月,2023 年 11 月公布的 GPT-4 Turbo 则公布了截至 2023 年 4 月的知识范围.模型也能根据本次输入中的新资料回答;这与参数知识、实时网页检索是三个不同的信息来源.


5.3工具:把计算和操作交给真实程序

模型本身生成的文本不会自动执行数据库查询、网络访问或其他业务操作.应用可以向模型提供工具的名称、用途和参数结构;模型提出调用请求后,由应用校验请求、检查权限、执行函数,并把结果返回模型.这样可以实现:

  • 从信息服务检索实时信息,如赛事比分与最新资讯;
  • 查询获授权的公司文档或个人笔记;
  • 在获得必要授权后,通过业务接口预订行程或提交订单;
  • 通过计算程序执行精确的数学运算.

以本文乘法为例,模型可请求 multiply(a=3695, b=123548),应用检查参数是允许的整数后,用普通乘法计算并返回 456509860.最终回复依据这一返回值形成,而不是让模型再次猜乘积.业务写入还应检查操作结果,避免因重试重复下单.客服助手说"退款完成"之前,应已取得退款接口的成功状态与相应业务记录.


5.4微调:用训练样本改进稳定行为

微调是在已有模型基础上,使用任务数据继续训练并调整模型参数.它适合改进稳定的输出格式、用语风格或特定任务行为,不等于从头训练整个模型,也不是保证知识始终最新的资料库.比如,希望助手按统一规范归纳财务文本,可以准备高质量输入---输出样例;需要回答最新财务数字时,则应检索最新资料并调用计算工具.

是否采用微调,应由独立测试集上的效果决定.先建立基础模型与提示词方案的基线,再比较微调是否改善目标任务、是否损害其他重要表现,以及训练和维护成本.RAG与微调可以组合:前者补充资料,后者调整行为.

应用需要补足什么 可以采用的方法 验收重点
任务或输出要求不明确 提示词与少量示例 是否遵循任务、字段与格式
缺少私有或新近资料 RAG 是否检索到正确且获授权的材料,引用是否支持答案
需要精确计算或实时状态 计算、数据库或业务工具 参数、权限、返回值与实际执行结果
固定任务的行为长期不稳定 在评测基础上进行微调 独立测试集是否改善,是否值得维护

6.小结

从简单的n-gram模型发展到RNN、LSTM,再到先进的 Transformer 架构,LLM已经取得了长足的进步.LLM是可以处理和生成人类语言的计算机程序,它利用ML技术来分析大量的文本数据.自注意力加强了序列内的信息联系;在编码器---解码器任务中,交叉注意力还让输出利用编码后的输入.具体组件应按模型架构理解.

本文介绍GPT-4等生成式模型及ChatGPT这类应用如何处理上下文、遵循指令并组织对话.模型选择应依据任务:文本生成、分类、检索或结构化预测可能需要不同方案,不用单一排行榜替代任务评测.

自2023年初以来,GPT-4和ChatGPT在NLP方面展现出了非凡的能力.它们为促进各行各业的 AI 应用程序快速发展做出了贡献.从像Be My Eyes 这样的应用程序到像 Waymark 这样的平台,不同的行业案例证明,GPT模型有潜力从根本上改变我们与技术互动的方式.

不过,在使用LLM时,要牢记可能存在风险.使用OpenAI API的应用程序开发人员应确保用户了解错误带来的风险,并能够验证由 AI 生成的信息.

🚀真正的勇者不是流泪的人,而是含泪奔跑的人!


敬请期待下一篇文章内容


每日心灵鸡汤: 学会释怀,让学习与人生轻装前行!

学会释怀,学习才会变得轻松惬意,人生亦是如此!放下上次考试留下的焦虑与遗憾,不因一道反复出错的题目自我否定,接纳偶尔的懈怠,不苛求事事完美;不再纠结别人的分数扰乱自己心绪,把目光聚焦在每一天微小的进步.遇到难题放平心态,尽力便是无悔,卸下沉重的精神包袱,静心研读,心无牵绊去求知,方能感受成长欢喜,看淡得失与起伏,稳步奔赴远方期许.

相关推荐
小虎AI生活1 小时前
ChatGPT 浏览器扩展升级详解:装扩展、给权限、派第一个活(附可抄话术)
人工智能·chatgpt·超级个体·一人公司·青玥ai
枫叶丹41 天前
知识库为什么搜不到答案:多向量检索与 Late Interaction
人工智能·chatgpt·开源·agent·codex
不会是要长脑子了吧2 天前
ChatGPT 网页端报 “Model not found“
人工智能·chatgpt
史努比的蓝色皮肤2 天前
从 ChatGPT 到 Agent :AI 发展脉络
人工智能·chatgpt
面包狗AI4S2 天前
ChatGPT/Codex Windows:本地桌面端应用离线包安装与免安装启动方法(无需管理员权限)
人工智能·windows·ai·chatgpt
没有梦想的咸鱼185-1037-16632 天前
基金本子被批“科学问题不凝练”?试试这个“三问法”
人工智能·chatgpt·ai写作
死磕音视频2 天前
ChatGPT Projects 入门:为长期任务固定文件与项目指令
chatgpt·效率工具·知识管理·chatgpt项目
jerrywus2 天前
用 Pi 接入 Hindsight:安装配置、记忆检索与实战排查
chatgpt·agent·claude
for_ever_love__2 天前
LangChain 1.0 迁移指南:哪些 API 变了,怎么改
chatgpt·langchain·升级·新版本·迁移·变化·1.0