机器之心报导

机器之心编辑部

在近来举办的微软开发者大会 Microsoft Build 2023 上,OpenAI 联合创始人 Andrej Karpathy 做了一个题为《State of GPT》讲演,其间他首要直观地介绍了 GPT 的练习流程的各个阶段,然后展现了怎样运用 GPT 来完结使命并给出了直观的示例,最终他还给出了一些十分具有实践意义的运用主张。机器之心具体整理了该讲演,以飨读者。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

视频地址:youtu.be/bZQun8Y4L2A

怎样练习 GPT?

首要,咱们归纳性地看看 GPT 大模型的练习流程。要记住,这是个新范畴,改变很快。现在的流程是这样,今后新技能出现时或许会不相同。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

能够看到,GPT 的练习流程可大略分为四个阶段:预练习、监督式微调、奖赏建模、强化学习。

这四个阶段按次序进行。每个阶段都有各自的数据集,每个阶段也有各自用于练习神经网络的算法。第三行是所得到的模型。最终底部有一些备注信息。

在一切阶段中,预练习阶段所需的核算量是最大的,能够说 99% 的练习核算时刻和浮点运算量都集中在这个阶段。由于这一阶段需求处理超大规模的互联网数据集,或许需求数千 GPU 构成的超级核算机作业几个月时刻。其它三个阶段都算是微调(fine tuning)阶段,所需的 GPU 数量和练习时刻都少得多。

下面咱们将分阶段详解 GPT 的整个练习流程。

预练习阶段

预练习阶段的方针是得到一个根底模型。

首要榜首步:数据搜集。这一阶段需求海量的数据,下面给出了一个比方,这是来自 Meta 的 LLaMA 模型的数据混合(data mixture)办法:

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

能够看到,LLaMA 的预练习数据按不同份额混用了多个不同类型的数据集,其间份额最大的是爬取自互联网的 CommonCrawl 以及依据 CommonCrawl 构建的 C4,此外还有 GitHub、维基百科等数据集。

搜集到这些数据之后,还需求对它们进行预处理,这一步也被称为「token 化」。简略来说,这便是一个转译进程,即把原始文本转译成某种整数序列,由于这种整数序列便是 GPT 实践作业时所操作的本地表征。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

这种从文本到 token 和整数的转译进程是无损的,而具体履行这一进程的算法有好几种。举个比方,如上图所示,咱们能够运用一种名为字节对编码(byte pair encoding)的技能,其作业办法是迭代式地合并短文本块并将它们分组成 token。最终实践输入 Transformer 的便是那些整数序列。

下面来看两个示例模型 GPT-3 和 LLaMA 在预练习阶段需求考虑的一些首要的超参数。Karpathy 表明由于他们还没有发布有关 GPT-4 的相关信息,因而在讲演中运用了 GPT-3 的数据。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

能够看到,词汇库的巨细一般是 10000 数量级的;上下文长度一般为 2000 或 4000 左右,而现在更是有长达 10 万的。上下文长度决议着 GPT 在猜想序列的下一个整数时所检查的最大整数数量。

关于参数数量,能够看到 GPT-3 的为 1750 亿,而 LLaMA 的为 650 亿,但实践上 LLaMA 的功能体现远胜于 GPT-3。原因何在?由于 LLaMA 练习的 token 要长得多,达到了 1.4 万亿,而 GPT-3 仅有大约 3000 亿。因而,点评一个模型时,光看参数数量是不够的。

上图中部的表格中给出了 Transformer 神经网络中一些需求设定的超参数,比方头的数量、维度巨细、学习率、层数等等。

下方则是一些练习超参数;比方为了练习 650 亿参数的 LLaMA 模型,Meta 运用 2000 个 GPU 练习了大约 21 天,资金本钱大约为 500 万美元。这大概能体现出预练习阶段各项本钱的数量级。

接下来看实践的预练习进程终究会发生什么。大致来说,首要会把 token 分批组成 data batch。这些分配数据构成数组,再被输入到 Transformer 中。这些数组的巨细为 BT;其间 B 是分批巨细,即堆叠的独立样本的行数;T 是最大上下文长度。下图给出了一个示例。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

在图中示例中,上下文长度 T 仅为 10,但实践模型的 T 可达到 2000 或 4000 乃至更长。也便是说,实践模型的一行数据能够十分长,比方一整个文档。咱们能够将许多文档打包到各行中,并用这些特别的文本结束 token <|endoftext|> 来分隔它们。简略来说,这些 token 是奉告 Transformer 新文档开端的方位。比方图中的 4 行文档就转换成了底部的 410 的数组。

现在,需求将这些数字输入到 Transformer。这儿咱们仅看其间一个单元格(绿色),而实践上每个单元格都会阅历相同的处理流程。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

这个绿色单元格会检查其之前的一切 token,即一切黄色单元格的 token。咱们要将这儿的悉数上文输入到 Transformer 神经网络,Transformer 则需求猜想出该序列的下一个 token,即图中的赤色 token。

为了给出精确的猜想,神经网络需求调整其上百亿个参数。每次调整后,神经网络对每个单元格 token 的猜想散布就会不同。举个比方,假如词汇库的巨细为 50257 个 token,那么咱们就需求相同多的数字,以便得到下一个 token 的概率散布,其猜想了下一个 token 的或许值及相应概率。

在图中的示例中,下一个单元格应该是 513,因而就能够将其用作监督源来更新 Transformer 的权重。咱们能够并行地对每个单元格采纳相同的操作。咱们不断替换数据批,尽力让 Transformer 有才能正确地猜想序列的下一个 token。

下面再看一个更具体的示例。这是《纽约时报》用莎士比亚著作练习的一个小型 GPT。这儿给出了莎士比亚著作中的一小段以及在其上练习 GPT 的情况。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

首要,在 GPT 初始化时,权重是彻底随机的,所以其输出成果也是彻底随机的。跟着时刻推移,练习时刻越来越长,GPT 不断迭代,模型给出的成果样本也就越来越衔接通顺了。最终,能够看到 Transformer 学到了一些有关词的东西,也知道应该在哪些地方放置空格了。

在实践预练习进程中,要经过一些量化指标来确定模型迭代中的体现改变。一般来说,研讨者监测是丢失函数。丢失低阐明 Transformer 更或许给出正确猜想,即序列中下一个整数是正确值的概率更高。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

预练习其实便是一个言语建模进程,这个进程的练习时刻可长达一个月。之后,GPT 学到了一个十分强大的通用型言语表征。然后咱们能够针对具体的下游使命高效地对其进行微调。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

举个比方,假如下游使命是心情分类。过去,你选用的办法或许是搜集很多标注好「正面」或「负面」心情的样本,然后练习一个 NLP 模型。但现在的新办法不需求预先做心情分类了,你只需求拿一个预练习过的大型言语模型,然后只需求少数示例样本,就能十分高效地针对你的具体使命对模型进行微调。

这对实践运用来说十分有用。那么为什么预练习后的大型言语模型(LLM)只需求简略微调就能用呢?这是由于言语建模进程自身就现已涵盖了很多使命 —— 模型为了猜想下一个 token,有必要了解文本的结构以及其间内含的各种不同概念。

这便是 GPT-1。

现在来看 GPT-2。人们注意到 GPT-2 乃至能够不必微调就能十分有效地让这些模型履行 prompt。这些言语模型的练习方针是完结文档,因而用户实践上只需经过编排适当的虚假文档,就能够诱导模型履行具体使命。下面给出了一个比方。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

其间给出了一篇文章,用户想完结的使命是做相关的问答。因而,只需求在文章后边加几个有答案的问答(这被称为 few-shot prompt),然后再发问,那么由于 Transformer 的方针是完结这个文档,也就适当于答复了问题。这个比方是用 prompt 来调教根底模型,使其相信它在仿照一个文档,成果却完结了问答使命。

Karpathy 以为,以供给 prompt 代替微调的办法昭示着大型言语模型的新时代。这让根底模型自身就足以应对许多不同类型的使命。

也因而,相关范畴的研讨前沿就转向了根底模型的进化。各大研讨机构和企业都在打造自己的根底大模型。不过这些模型并不都是揭露可用的,比方 OpenAI 一直没有发布 GPT-4 根底模型。咱们经过 API 调用的 GPT-4 模型其实并不是根底模型,而是一个助理模型(assistant model)。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

GPT-3 根底模型可经过 DaVinci API 运用,GPT-2 根底模型也是揭露的,用户乃至能够在 GitHub 上找到其参数权重配置:github.com/openai/gpt-… 。不过全体而言,现在最开放的根底模型仍是 Meta 的 LLaMA 系列模型,但该系列也没有授权给商业运用。

现在需求指出一点:根底模型不等于助理模型。根底模型不会答复用户发问,它们只会完结文档。所以假如你对根底模型说:「写一首关于面包和奶酪的诗」,你或许不会如愿 —— 它只会把你的要求当作一个文档,然后企图完结它。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

但是,你能够经过适当的 prompt 诱导根底模型写诗,如上图右侧所示。

当然,你也能够诱导模型变成助理。为此,你需求创立一些特定的少样本 prompt,使其看起来像是人类与助理交流信息的交互进程的文档。如下图所示,然后你只需求在文档结束处附上你的发问,根底模型就能在必定程度上化身为一个有用的助理,给出某个答案。但这个进程并不十分可靠,实践作用也欠好。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

因而,为了打造出真正的 GPT 助理,需求别的的办法,即监督式微调(supervised fine tuning,即 SFT)。

监督式微调阶段

在监督式微调阶段,需求搜集少数但高质量的数据集。OpenAI 的办法是以人工办法搜集由 prompt 和抱负呼应构成的数据。这些数据需求不少,一般需求几万个。

然后,持续在这些数据上履行言语建模。算法不变,仅仅换了练习数据集:从很多低质量的互联网文档换成了少数高质量的问答式「prompt – 呼应」数据。

这个练习进程完结后,就得到了一个 SFT 模型。布置这些模型就能得到助理,它们现已能完结必定程度的作业。

依然来看个比方。这是人类合同工写出的数据,其间有一个 prompt,然后人类再写出抱负的呼应。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

抱负的呼应天然不能让人随意发挥,而是需求遵从许多规矩(如上右图),其间有格局上的要求并且要确保给出的答案有用、真实可信且无害。

接下来还需求依据人类反馈的强化学习(RLHF),其间包括奖赏建模阶段和强化学习阶段。

奖赏建模阶段

在这一阶段,需求将数据搜集转变成比较的办法。这儿给出了一个示例。关于相同的 prompt,即要求助理写一个能检查给定字符串是否为回文的程序或函数。再运用现已练习好的 SFT 模型生成多个成果,这儿给出了三个。然后再让人类给这些成果排名。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

这件事做起来可并不简略,究竟要是让人类来完结一个 prompt,或许需求耗费几个小时时刻。现在假定排名完结了,然后就需求在这些成果的一切或许配对上履行类似二元分类的操作。

如下图所示,具体的做法是这样的:将 prompt 按行摆放;这儿的三行 prompt 是相同的,但完结的成果不同,即图中黄色 token(来自 SFT 模型)。然后在这以后添加一个特别的奖赏读出 token。这样,只需求在绿色 token 方位对 Transformer 履行监督,就能使 Transformer 猜想出某个奖赏,然后判别 prompt 的完结成果是否优秀。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

这根本上便是让 Transformer 猜想每个完结成果的质量。当其猜想完每个不同成果的质量后,开发者就能够动用已有的根本真值(ground truth)强行让某些成果的质量分数高于其它成果,然后使模型的奖赏猜想成果与人工给出的根本真值坚持一致。这个进程能够经过一个丢失函数完结。

有了奖赏模型之后,GPT 依然还不能成为一个有用的助理,但奖赏模型却对后边的强化学习阶段很有用,由于奖赏模型能够点评任意给定 prompt 的任意完结成果的质量。

强化学习阶段

强化学习阶段做的作业便是依据奖赏模型,运用强化学习算法对很多 prompt 对应的成果进行评分。

这儿以一个 prompt 为例,将 SFT 模型完结的成果(黄色)摆放成行,然后在后边加上奖赏 token(绿色)。这些奖赏来自奖赏模型,并且现已固定不变。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

现在运用相同的言语建模丢失函数,仅仅现在是在黄色 token 上练习,并依据奖赏模型指示的奖赏来从头权衡言语建模方针。

比方在榜首行,奖赏模型以为这个完结成果的评分适当高。因而,模型在榜首行采样的一切 token 都会得到强化,也便是在未来会有更高的概率被选用。比照之下,奖赏模型不喜爱第二个完结成果,给出了负分点评,因而该行的一切 token 在未来出现的概率就会下降。

如此这般在许多 prompt 上操作一遍又一遍,经过许多数据批次,就能得到一个创立黄色 token 的战略。按照这个战略,一切完结成果都能被奖赏模型给予高分。

这便是 RLHF 的练习流程。最终得到的模型就能够布置成运用了。

ChatGPT 便是一个 RLHF 模型,而其它一些模型则或许是 SFT 模型,比方 Claude 等。

那么 OpenAI 为什么要运用 RLHF 呢?Karpathy 表明,原因很简略,运用 RLHF 能让模型体现更好。依据 OpenAI 之前做的一些试验,能够看到运用了 PPO(近端战略优化)算法的 RLHF 模型全体上都更好一些。当把成果供给给人类时,相比于 SFT 模型和经过 prompt 化身为助理的根底模型,人类也根本更喜爱来自 RLHF 模型的 token。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

那 RLHF 为什么能让模型更好呢?现在 AI 研讨界还没有找到一个得到大家认可的理论,但 Karpathy 仍是给出了自己的见地。他以为这或许与比较和生成的核算难度之间的不对称性有关。

举个比方阐明一下:假定咱们要让一个模型写一首关于回形针的俳句。假如你是一位正尽力创立练习数据的合同工,正在为 SFT 模型搜集数据。那么你该怎样写出一首关于回形针的好俳句呢?而你或许并不是一位优秀的俳句诗人。但是,假如给你几首俳句,你却有才能辨别它们中哪首更好一些。也便是说,比起创立一个好样本,判别哪个样本更好是简略得多的使命。因而,这种不对称性或许使得比较是一种更好的办法 —— 能更好地运用人类的判别来发明出好一些的模型。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

现在来看另一个方面:RLHF 并不总是会为根底模型带来提高。在某些情况下,RLHF 模型会失去一些熵,也便是说它们会输出愈加单调、改变更少的成果。而根底模型的熵更高,能够输出愈加多样化的成果。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

比方下面的使命或许就更适合运用根底模型,即生成与已有的 n 个示例类似的东西。这儿的示例使命是生成更多宝可梦姓名。首要,用户向模型供给了 7 个宝可梦姓名,然后让根底模型完结文档。根底模型生成了很多宝可梦姓名。这些姓名都是虚构的,究竟宝可梦并不真实存在。Karpathy 以为这类使命运用根底模型会得到更好的成果,由于根底模型的熵更高,给出的成果既与之前的示例类似,又愈加多样化和炫酷。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

现在,用户能够运用的助理模型已有不少了。伯克利有个团队正对许多助理模型进行排名并给出了根本的 ELO 评分。当然,现现在最好的模型是 GPT-4;Claude 和 GPT-3.5 紧随这以后。有些模型揭露供给模型权重,比方 Vicuna、Koala 等。在这个榜单中,前三名都是 RLHF 模型,其它模型根本都是 SFT 模型。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

上面便是练习模型的办法。下面调转方向,看看咱们能够怎样将 GPT 助理模型运用于实践问题。

怎样运用 GPT?

下面会经过实践示例来展现怎样最好地运用 GPT。假定你在写一篇文章,需求在结束加上这样一句:「California’s population is 53 times that of Alaska.」(加州的人口是阿拉斯加州的 53 倍)。但现在你不知道这两个州的人口数据,你需求智能助理来帮你。

人类会怎样完结这个使命呢?大致推想,人类很或许会阅历一连串的考虑进程,如下图所示:首要会想到为了得到成果,需求比较人口数量,那么就需求查询人口数据;然后运用查询东西查一下 —— 在维基百科上找到了加州和阿拉斯加的人口数据;接下来很显然需求做个除法运算,或许会需求核算器;然后得到倍数成果 53;然后咱们的大脑或许会用经历理智快速查验一下 ——53 倍感觉挺合理的,究竟加州是美国人口最多的州。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

信息有了之后,就进入了发明性写作的部分。你或许首要会写下:「California has 53x times greater」,然后你想一下感觉又不太适宜,又删了从头想哪种表达更适宜一点,最终得到你满足的句子表达。

简略来说,为了写这样一句话,你的心里会阅历很多独白式的考虑。那么 GPT 在生成这样一句话时又会阅历什么呢?

GPT 处理的都是 token 序列。不管是阅览仍是生成,它都是按部就班地一块块地进行,其间每一块都是针对一个 token,核算作业量也都相同。这些 Transformer 的层数不少,足有 80 个推理层,但话说回来 80 也不是十分多。Transformer 会经过这些来尽力仿照写作,但其考虑进程和人类的大不相同。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

也便是说与人类不同,GPT 没有什么心里独白,它只会检视每一个 token 并在每个 token 上投入平等的核算量,仅此而已。它们就像是 token 模拟器 —— 它们不知道自己知道什么或不知道什么,仅仅仿照地写出下一个 token;它们也不会反思,心里不会考虑成果是否合理;它们写错了也不会反过来修正。它们仅仅按序列采样 token。

但即便如此,Karpathy 以为 GPT 依然具有某种办法的认知才能优势,比方它们具有十分渊博的现实常识,涵盖许多不同范畴,由于它们数以百亿计的参数,足以贮存很多现实。一同它们还有相对来说很大且完美的作业回忆。只要能填入 Transformer 的上下文窗口,它就能经过其内部自注意机制来加以运用。也便是说 GPT 能以无损的办法记住能嵌入其上下文窗口的任何内容。

Karpathy 表明:人类经过 prompt 运用 GPT 的进程本质上是大脑和 LLM 这两种不同的认知架构互相配合的进程。

用 GPT 履行推理

再来看 Transformer 在实践中体现适当好的一种用例:推理。

假如只有单个 token,当然不能盼望 Transformer 推理出什么。推理的履行需求触及更多 token。比方,你不能向 Transformer 提一个十分复杂的问题,然后盼望它经过单个 token 就找到答案。Transformer 需求经过 token 来「考虑」。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

上图右侧给出了一个比方。能够在输出成果中看到 Transformer 为了答复问题而进行的「考虑」。假如你供给了一些示例(上方) ,那么 Transformer 就会仿照那个模板,成果看起来适当不错。当然,你也能够经过说「Let’s think step by step」(请按过程答复)引导 Transformer 给出类似的输出 —— 这在某种程度上展现了其作业进程。并且由于它有点像是进入了作业进程展现模式,那么其在每个单独 token 上投入的核算量就会少一点。这样一来,它履行的便是一个速度更慢的推理进程,也就更或许成功得到正确答案。

再看一例。如下图所示,人类写作时会写欠好,类似地,Transformer 在挑选下一个 token 时或许会出错,但不同于人类能够及时停下进行修正,Transformer 会持续生成,一错到底,最终得到过错答案。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

但类似于人类写作时没写好能够重来相同,Transformer 也能够多次采样,然后咱们能够运用某个进程找到其间较好的。这被称为自我一致性(self-consistency)。

有趣的是,经过让模型反思(reflection),能够发现模型其实能知道自己出错了。举个比方,假如让 GPT-4 生成一首不押韵的诗然后它生成的诗却押韵了。然后你只需求问它「你完结使命了吗?」它就会知道自己没有完结使命,然后为你从头完结使命。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

但假如你不给出那样的 prompt,它就不知道自己错了。它并不会自己去回顾,究竟它仅仅一个 token 模拟器。你有必要经过 prompt 让它回顾。

Karpathy 表明能够按照目的将 AI 模型分为两种:一类体系(System 1)和二类体系(System 2)。一类体系的处理进程速度快并且是自动化的,对应于仅仅采样 token 的大型言语模型。而二类体系的速度慢一些,会重复考虑进行规划。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

现在有很多人在经过规划 prompt 来让 LLM 体现出类似人类大脑的思想进程。如上左图 (d) 所示,这是近期一篇论文提出的 Tree of Thought(思想树)。该论文提出为任意给定 prompt 维持多个完结成果,然后对这些成果进行评分,保留得分较好的成果。

要做到这一点,不只要用一个 prompt,而是需求用 Python Glue 代码将多个 prompt 组合到一同。这实质上是维持多个 prompt,还需求履行某个树查找算法来找到可扩展的 prompt。能够说这是 Python Glue 代码与各个 prompt 组成的共生体。

Karpathy 在这儿类比了 AlphaGo。AlphaGo 的每一步都是下接下来的一步棋,其战略的练习办法开端是仿照人类。但除了这个战略之外,它还会履行蒙特卡洛树查找。由此造成的成果是,AlphaGo 会在头脑里尝试很多不同的或许性然后对它们进行点评,最终仅保留其间作用好的。思想树就有点像是 AlphaGo 下围棋时的思想进程,只不过处理的是文本。

不仅仅思想树,现在也有更多人在试验让 LLM 完结比简略问答愈加复杂的使命,但很多都像是 Python Glue 代码,将许多 prompt 衔接起来。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

上图给出了两个比方。其间右图的论文提出了 ReAct,研讨者是将 prompt 的答案构造成一个思想、动作、调查构成的序列,其间在动作部分,模型还能运用东西。这就像是某种答复查询的思想进程。

左图则是 AutoGPT。这个项目最近有些炒作,但也确实是很有趣的研讨。AutoGPT 能够保存一个使命清单并递归式地分解这些使命。现在来说这种做法的作用并不很好,Karpathy 也不主张人们将其用于实践运用,但他表明从研讨视点看,这种办法仍是很有启发性。

以上便是发明二类体系思想办法的一些研讨成果。

Karpathy 接下来谈到了 LLM 的另一个有趣现象,他说:「LLM 就好像有种心理古怪。它们不想成功,只想仿照。」你想要它给出正确答案,你就要清晰要求它。这是由于 Transformer 的练习数据集中数据并不总是正确的,也存在低质量的数据。

举个比方,假如有某个物理问题,数据集中或许有某个学生给出的过错答案,一同也会有某个专家给出的正确答案。而 Transformer 不知道该仿照哪个或许说它都想仿照,究竟它们的练习方针是言语建模,不是分辩对错。因而在运用和测验时,假如你想要正确答案,你就要清晰提出要求。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

比方在上图的论文中,研讨者尝试了多种不同的 prompt,发现关于同一问题,不同 prompt 得到的输出成果精确度竟然不相同!能够看到,假如在 prompt 中清晰要求模型一步步推理并给出正确成果,其精确度会高一些,由于这样 Transformer 就不必再为低质量答复分配概率了。

因而,假如你想要正确答案,就大声说出来!像是在 prompt 中添加「你是某范畴的专家」或「假定你的 IQ 为 120」。但是也不要太过了,比方要求模型假定自己的 IQ 为 400,这样的话你的问题或许会超出数据的散布或许虽在散布中但成果却很科幻 —— 这样模型或许就会开端扮演什么科幻人物了。

让 LLM 运用东西 / 插件

针对具体问题,运用适宜的东西往往能事半功倍。对 LLM 来说也是如此。依据具体使命的不同,咱们或许希望 LLM 能运用核算器、代码解释器、查找引擎等东西。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

但首要咱们需求记住一点:Transformer 默认情况下或许并不知道它们无法做到某些作业。用户乃至或许需求在 prompt 中清晰奉告 Transformer:「你不拿手心算,假如要做大数运算,请运用这个核算器,这是运用这个核算器的办法。」你有必要清晰要求它运用某个东西,由于模型自身不知道自己拿手或不拿手什么。

检索是能极大提高 LLM 功能的重要东西。由于 LLM 是专精于回忆的(memory only),因而专精于检索的查找引擎能为 LLM 供给极大补充。实践也证明,能运用检索东西的 LLM 的实用性会大大提高。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

之前现已说到,Transformer 的上下文窗口便是其作业回忆范围。假如能在其作业回忆中载入与当前使命相关的信息,那么模型的体现就会更好,由于模型能够立即读取一切回忆。实践上用检索增强生成也是很多人感兴趣的课题。上图下方展现了 LlamaIndex,其间有一个衔接很多不同类型数据的数据衔接器。这个东西能够索引各种数据并将它们供给给 LLM 运用。

现在时兴的做法是:选取相关文档,然后将其分成文本块,再履行嵌入操作,得到表明那些数据的嵌入向量。这些嵌入向量会被保存起来。当运用模型时,咱们能够向存储的向量发出查询,从中取用与当前使命相关的文本块。然后将这些文本块加入到 prompt,再让 LLM 生成。这种做法在实践中的作用很好。

这其实与人类完结使命的办法类似。人也能够仅靠自己的回忆干事,但假如能检索到与使命相关的材料,做起事来也天然会更容易。Transformer 尽管回忆渊博,但也能从检索中受益。

在 prompt 中添加约束条件

在 prompt 中设定约束条件能迫使 LLM 按特定模板输出成果。下图给出了微软协助用户更好运用 LLM 的 Guidance 东西,具体可访问 github.com/microsoft/g… 。在这儿给出的比方中,LLM 输出的成果会是 JSON 格局。这是能够得到确保的,由于 prompt 会调整 Transformer 输出不同 token 的概率,而这些 token 的输出方位受限了,即只能填补文本中的空缺方位。这样就完结了对文本留空处的严格限制。带约束条件的采样对某些使命来说十分有用。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

微调

经过规划 prompt 能让 LLM 模型完结更多不同使命,但咱们其实也能经过微调来做到这一点。

对模型进行微调是指改变模型的权重散布。这种作业做起来不难,由于现在现已有 LLaMA 等开源的大模型以及一些用于微调的软件库。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

比方 LoRA 等参数高效型微调技能让用户能够仅练习模型中少数稀少的部分。运用该技能时,根底模型的大部分都坚持不变,而某些部分能够改变。在实践中,这种技能用起来很不错,能让人以很低的本钱对模型做少数调整。一同,由于模型大部分都是固定不变的,所以能够运用十分低精度的推理来核算那些部分,由于梯度下降不会更新它们。由此,全体的微调功率就能十分高。

不过需求记住,微调需求专业技能,并且多半还需求相应的专业范畴常识,究竟不管是雇佣人类专家来编写数据集仍是经过自动办法合成数据都十分复杂,而这也会拉长迭代周期。

别的,Karpathy 还指出,对用户来说,监督式微调(SFT)仍是能够做到的,由于这其实便是持续履行言语建模使命;但 RLHF 是还需进一步研讨的课题,完结难度就大多了,因而不主张初学者来做。

Karpathy 的 GPT 运用主张

为了协助人们更好运用 GPT,Karpathy 给出了一些主张。在运用 GPT 来完结使命时,能够将使命分成两个部分:一,获得最佳成果;二,按照指定次序优化成果。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

关于榜首部分,首要是选模型,现在最强的模型是 GPT-4。有了模型后,当履行具体使命时,你需求把 prompt 规划得足够具体,其间要包括使命的布景、相关信息和阐明。你要想一想人类会怎样完结这一使命,但你一同也要了解人类有心里独白、能够自省,LLM 却不可。了解 LLM 的作业办法对规划 prompt 大有裨益。你能够检索一些相关布景和信息并将其添加到 prompt 中。网上已有不少人分享过相关经历和技能。

你不必急于让 LLM 一步到位完结你的使命。能够多做几回试验,测验一下各种或许性。你能够向 LLM 供给一些比方,让它真正了解你的意图。

关于原生 LLM 难以解决的问题,能够将其交给东西和插件处理。你要想想怎样将东西整合进来,这当然无法经过单个 prompt 问答就能够解决。你需求多做几回试验,实践出真知。

最终,假如你成功搞出了适合自己的 prompt 规划方案,你能够再持续坚持一下,看看能够怎样对模型进行微调以更好地服务你的运用;但要了解微调模型的速度会更慢,也需求投入更多。关于想要运用 RLHF 的研讨型专家来说,尽管假如真能用起来,RLHF 现在是会比 SFT 好一些,但本钱也会更高。为了节省本钱,探索性研讨能够运用功能更低的模型或更短的 prompt。

Karpathy 强调用 LLM 解决用例时或许会出现一些问题,比方成果或许有偏见、编造出幻觉信息、推理过错、无法了解运用类型(比方拼写相关使命)、常识间隔(GPT-4 的练习数据截止于 2021 年 9 月)、或许会被进犯(比方 prompt 注入进犯、越狱进犯、数据毒化进犯)……

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

Karpathy 主张用户现在仅在低风险程度的运用中运用 LLM 并且要搭配人工监督一同运用。LLM 能够作为灵感和主张来源,让它们辅佐咱们而不是彻底自主地代替咱们作业。

结语

Karpathy 在总结时说:「GPT-4 是了不起的造物。我很感谢它存在于世并且它很美丽。」它具有特殊的才能,能协助用户答复疑问、编写代码等等。环绕它的生态体系也正在蓬勃发展。

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

最终,Karpathy 向 GPT-4 提了一个问题:「假如要鼓励 Microsoft Build 2023 的观众,你会说点什么?」

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

GPT-4 给出了如下答复:

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI

笔者也在这儿取巧,请 ChatGPT 将这段话翻译成了汉语:

OpenAI联合创始人亲自上场科普GPT,让技术小白也能理解最强AI