GPT-3是一种大型语言模型,被训练用来在给定上下文中预测下一个单词,使用Transformer架构。
它很灵活,可以用于翻译、摘要、分类和问答等任务。
GPT-3的优势在于它的简单性和不需要专门训练数据集就能表现良好的能力。
GPT-3可以用于翻译任务,方法是提供比如“德语:英语”对的翻译样例(如果是德英翻译),或者像问人一样要求模型翻译给定的句子。
尽管GPT-3主要是在英语数据上训练的,但仍然能够在翻译任务中表现良好,因为它能够通过提供的样例中的模式,并利用自己的一般语言能力产生翻译。
GPT-3也可以用于摘要和问答等任务。
GPT-3在商业应用中也取得了成功,如文本生成和问答。
它明显比早期版本的GPT(规模)更大、(功能)更强大,训练的数据也更多。
它被用来生成创意写作任务的起点或变体,如产品描述,并已与OpenAI API集成,使开发人员更容易使用。
API允许用户对GPT-3进行特定任务的微调,包括设置学习率和数据的过渡次数,以及选择模型大小。
Peter Welinder, 现任 OpenAI 产品与合作伙伴副总裁,负责GPT-3的运行和其他业务,在此之前,他曾是OpenAI的研发主管。
使用GPT-3解决现实世界的问题
Q:Peter,上次我们谈话时,我记得你在OpenAI做研究,但现在我们发现你是OpenAI的产品和合作伙伴关系副总裁,我很好奇这意味着什么?你每天都在做什么?
Peter:我今天所做的与我做研究时完全不同,对我来说,做研究一直都是为了解决最困难的问题,以便真正对世界产生某种影响。
我个人更倾向于研究的最终目标,而不是研究本身,做研究真的很有趣,你知道,深入研究,探索事物,最后总是有一个目标。GPT-3发生了一件令人兴奋的事情……当我开始在OpenAI工作时,我做的很多事情都是机器人方面的。对于机器人技术来说,你在实验室里能做的事情和你在现实世界里能做的事情之间还有一些差距。使用GPT-3,当我们在GPT-3中得到第一个结果时,很明显我们有一些东西可以开始应用于现实世界的问题,而不仅仅是做酷炫的演示。
当我从事机器人工作时,我们最后得到的是一个非常酷的机器人手解魔方的演示,但每个人的家里并不具备部署它的条件,即使它足够强大,我也不知道它对解决魔方有多大用处,这是一种非常昂贵的方法。但是有了GPT-3,我们有了一个语言模型,你现在可以应用它来解决各种不同的问题,从翻译到总结,再到分类和问答等应有尽有,这是一个非常灵活的模式。所以,我们要做的就是看看这个模型来解决现实世界的问题是否足够好,对我来说,这是一个非常有趣的领域。
当你拥有这项非常强大的新技术,有可能改变很多事物的工作方式时,这一切都是为了找到合适的方法来解决问题,看看你如何利用你工具箱里的工具来解决这些问题。不同的是,作为一名研究人员,我所做的是提出正确的基础和正确的方法来衡量进展。当目标非常遥远时,你需要想出这些玩具的方法来评估进展。现在,就像客户告诉我们“嘿,我正在尝试将GPT-3应用到这个用例中”,但它不起作用或太慢等诸如此类的事情,这些问题要具体得多。我的日常,现在更多的是建立一个团队,用我们在OpenAI开发的技术来解决这些现实问题。
Q:当你将GPT-3与其他用于大型语言模型的方法进行比较时,这似乎是一种趋势。你是否注意到它在工作方式上有哪些关键差异,采取某种方式是否有所不同?
Peter:这是一个很好的问题,我认为我真正喜欢GPT-3的地方,以及我认为它与众不同的主要方式是GPT-3所做的一切都非常简单……GPT-3是一个大型语言模型,大型神经网络。
它使用的是谷歌几年前推出的一种非常流行的Transformer架构,如今,它基本上为所有不同的语言模型提供了支持,而且它也开始进入其他领域,比如计算机视觉等。
GPT-3的设置非常简单,它可以有一些上下文,你可以看看文本的历史。
比如,如果你正在读一本书,你可以看一页或一段文字,然后它试着预测下一个单词,这就是GPT-3的训练方式。
它只是训练了来自不同来源的大量文本,大部分来自互联网。
它只是一遍又一遍地训练,根据它看到的一些单词,预测下一个单词。
你可以从几个单词开始,但当我们今天训练这些模型时,我们训练它们的数量级是一千或几千个单词,你可以回顾这1000个单词,然后试着预测下一个单词。
所以设置非常简单,你只需要在这些庞大的文本数据集上训练它,以便继续预测下一个单词,并在这方面做得非常好。
我认为GPT-3的令人惊讶之处在于,如果你这样做,然后你把模型变得非常大,这让它有巨大的学习能力,然后它就会非常擅长以前你需要专门模型的一系列任务。
以前如果你想进行翻译,你就需要一种专门翻译的神经网络,或者如果你想做总结,同样,你会以特定的方式设置你的网络,然后只训练它完成总结任务。
我们在使用GPT-3中发现,你实际上在一些基准测试中获得了非常接近最先进的表现,这些基准测试包括总结、翻译、问题回答等等。
该模型使用的是一个刚刚在互联网上训练过的模型,它不专门执行任何任务,而是能够以与阅读文本相似的方式再现文本。
将GPT-3应用于翻译任务
Q:实际上,如何将其应用到翻译任务中,你如何把“预测下一个单词”变成一个翻译?
Peter:在很多其他的大型语言模型中,都有一些特定的步骤,你可以对一段文本进行编码。
所以你会在神经网络中创建一些表示,然后你会有一个解码器来接受它,然后用它来写一些句子。
例如:如果你做翻译,你会把它编码成某种表示,然后你的神经网络会有一个单独的部分来接受这种表示,并尝试输出你想要的东西,输入可能是一个德语的句子,输出的可能是一个英语的句子,而且,你知道它是专门为此训练的。
那么对于你的问题,你如何处理GPT-3呢?
最简单的方法是:你可以提供一些例子,说明翻译可能的样子,仅以纯文本形式,你会写“德语:”和一些德语句子,然后是“英语:”和一些英语句子。
你可能只提供一个例子,那么这个称为一下 (one-shot),你可以提供一些例子,基本上都是“德语或者英语”的一些例子,然后你可以输入你想翻译的新句子,这就是所谓的多下 (Few-Shot) 训练。如果你有几个例子和模型,只要看看它现在在其上下文中看到的模式,它可以产生一个翻译。这是一个非常简单的设置。基本上,我认为告诉GPT该做什么的方式有点像你告诉人类做同样的事情。
比如,如果我给你写电子邮件,“嘿,Lukas,我想让你翻译一些句子。”
我会告诉你:“请翻译这些句子”,我可能会提供一些例子来让你了解一下它的语气,比如:我想要更正式的翻译,还是更随意的翻译等等,你会发现其中的规律,给你一个德语句子(我不知道你懂不懂德语)你就能把它翻译成英语。
现在有了我们最新的模型,你甚至不需要提供这些例子,你可以像问人一样问模型,比如,“嘿,把这个句子翻译给我听”,或者“总结一下这篇文章”。
我们刚刚发现,这就是人们想要使用模型的方式。
我们让他们做了更多这样的工作,但就是这么简单,你只要告诉它你想做什么,它就会尽最大努力去做。
Q:你是主要致力于训练模型使用多种语言,还是主要是英语?语料库从何而来?
Peter:实际上我们做的正好相反。
最初,当我们训练GPT-3时,我们一致努力不用英语以外的其他语言来训练它。
事实证明,即使这些模型是巨大的,在你的数据集组合中也需要权衡取舍。
如果你先用英语训练它,然后再用其他语言训练它,它在英语任务中表现就不那么好了,最终当我们训练它的时候,我们想看看,它在更通用的能力上能有多好?
我们不太关心翻译,因此,每当我们输入额外的语言时,这只会以擅长用英语执行其他任务为代价,比如回答问题、总结等等。
但结果是,即使明确地试图过滤掉大多数其他语言,也可能有一小部分数据是其他语言的。
即便如此,该模型在翻译方面还是非常出色,在许多翻译任务中,它接近于最先进的技术。
我的母语是瑞典语,但我现在已经不会用瑞典语写作了,因为我从来没有这样做过。
我现在做的是用英语写它,然后让GPT-3来翻译给我,这只是我的观点,它不会变得完美,我需要调试一些东西,但它出奇地好,而且模型中的瑞典训练数据量非常非常少。
我们一直在不断更新我们的模型,让它们变得越来越好,所以现在我们引入了越来越多的语言数据,因为我们已经找到了如何以更优化的方式进行这些权衡。
但是,一开始我们想要的是相反的,我们只是想把英语学好。
Q:是预测单词还是一次预测一个字符?这是怎么回事?
Peter:都不是,它实际上是在预测一种叫做符号标记 (Token) 的东西,这就像“单词的一部分”也许可以这么想,最常见的英语单词,它们由单个符号标记。
我们有大约50,000个这样的标记,我们将它们映射到字符序列上,结果就像“hi”或“the”这样的常见单词最终会成为一个标记。
但如果你有一个更不常见的词,比如“百科全书”之类的,你可能会把它分解成两三个符号,这就像单词片段,只是让这些语言模型更容易、更有效地使用文本。
原则上,你也可以在字符层面上这么做,但它会变得非常低效,你知道,这就是这个领域可能正在改变的地方,最终,它将不止在字符层面上做到这一点。
Q:但我认为这会让学习外语变得非常困难,比如,亚洲语言是不可能的吗?如果他们有更多的符号,或者我猜你可能会说,他们已经为你做了标记化,通过使用更多的字符来编码更大的含义。
Peter:是的,训练标记器 (Tokenizer) 的方式肯定会对不同语言的性能产生影响。
通常这两件事分两个不同的步骤进行训练,你可以在某些数据语料库上训练你的标记器,然后在其他一些数据集上分别使用该标记器训练你的模型,为了让你的模型真公众号新价值人正擅长不同的语言,你还需要在多种语言上训练该标记器。
肯定是使用其他语言的成本更高,一个德语单词最终会变成更多的符号,因为我们训练它的次数少得多。
而英语非常高效,很多单词都是一个单一的符号,所以这使得它在其他语言上更糟糕,而且更昂贵。
Q:我能把一些东西翻译成日语吗?GPT-3也能做到吗?
Peter:是的,我记得我们的一个日本用户的评论,他们非常喜欢使用GPT-3在英语和日语之间翻译技术文档,因为他们发现GPT-3在技术文档翻译方面比谷歌翻译要好得多。
这大概是一年前的事了,谷歌翻译现在可能更好,但根据我们拥有的数据集,这可能只是一个偶然的事情。
实际上,关于GPT-3的翻译功能,真正酷的事情是我们并没有在显式的输入和输出对上训练模型,翻译的文本片段,就像你通常所说的“对齐的文本片段”一样。
只是看到了很多日本人,它看过很多日本电影,也看过很多英语电影。
不知怎么的,通过学习如何预测下一个单词,已经有足够多的小文本、博客文章或其他东西——作者在日语和英语之间切换。
可能会对一些句子进行翻译,在那里它找到了映射,然后以某种方式有一个足够好的表示,然后推广到任意的翻译任务。
对我来说,这太神奇了,它只是通过阅读大量的英语文本,大量的日语文本,然后可能就像在所有的数据中找到一些对齐的对,它就能够进行翻译,这对我来说太疯狂了。
文案及其他GPT-3商业应用
Q:真是太神奇了,这种性能与早期版本的GPT有明显的不同吗?
比如在GPT-3中是否发生了什么,OpenAI认为“好吧,我们可以将其用于现实世界的商业应用”?这是它需要达到的性能水平吗?
Peter:是的,我认为GPT-2和GPT-3之间最大的区别是:它被训练在更多的数据上,它是一个更大的模型,大概差了两个数量级。
最初的GPT-2大约有15亿个参数,而GPT-3最大的模型有1750亿个参数,它上升了两个数量级,而且由于它是一个更大的模型,它也需要更多的数据。
令人惊讶的是,这就是从感觉它相当愚笨到可以与之互动的原因,像 GPT-2 有点酷炫,但大多数时候也感觉它非常愚蠢,我认为在GPT-3中,它有时会表现得出乎意料的好。
不要误解我的意思,GPT-3仍然会犯很多愚蠢的错误,但在某些任务上,它可能有30-50%的时间是正确的,有时甚至更好。
就好像突然之间在你需要抽样和尝试任务之前,也许每隔20次你就会看到一次,“哦,这个看起来不错”。
有了GPT-3,它开始每三次发生一次,或每两次,或每五次发生一次,你会说,“哦,天哪,这实际上是……”对于诸如总结文本之类的事情,我们有一个例子是用二年级学生的风格总结一段文字,令人难以置信的是,该模型能够简化单词,获得一段文本的要点等等,再说一次,它不是完美的,但它真的很好。
显然,我们有很多学术基准 (academic benchmarks),你可以运行这些模型,你可以看到它在学术基准上越来越好。
但当你想要创建一些东西的原型时,这是一种完全不同的感觉,不同的是,现在很容易得到一些运行良好的东西。
这就是为什么我们决定,“嘿,现在它看起来很有用”,GPT-2看起来没有那么有用,但是GPT-3,对于所有这些任务,我们觉得“好吧,它已经足够接近最先进的技术了”,如果你有一个专门的模型或其他什么,一个聪明的程序员应该能够将其应用到他们所拥有的任何任务中,这就是我们设置的API验证的内容。
Q:你真正引以为豪的用例,它到底在哪里起作用?你能不能给我们指出一些地方,让我们可以在商业环境中与之互动?
Peter:当然,我认为最让我们感到惊讶的是文案和问题回答,一般来说是创意写作。
在文案方面,当时有很多公司开始在我们的平台上进行开发,有些公司像:Copysmith是第一批;CopyAI;还有Jarvis……还有很多这样的公司。
他们的做法非常聪明,因为他们意识到,当你使用GPT-3来完成某些任务时,它并不完美。时不时的,你可能会得到一些没有意义的东西。
但如果你在做文案工作,比如你想根据产品的某些属性写一些吸引人的产品描述,比如鞋子,可能是鞋底的类型,颜色,鞋子的一些其他属性,你想写一些真正吸引人的东西,那么作为一个人,你面临的问题是你陷入了某种写作瓶颈,我该从哪里开始呢?
这些公司开始做的是他们采用GPT-3,他们用它来生成一些起点或者一些产品描述的变体。
你会发现,通常情况下,如果你生成五个这样的例子,其中一个看起来会很好,你可以把它作为你的起点,你可能只是接受它,或者做一些小的调整。
这几乎是一种帮助人类创造力的方式,你知道吗,我觉得这太酷了。
作家们会告诉我们,“嘿,我已经试着写这本书半年了,我总是陷入写作瓶颈。然后我开始在使用GPT-3,现在我花了两周时间完成了整本书”。当你陷入困境时,它可以创造一个有趣的故事情节。
作为一个有创意的作家,你开始探索,就像“好吧,我没有想过这个角色会往这个方向发展,但让我们来探索一下吧”。
然后它就变成了一个更有趣、更吸引人的过程。
这几乎就像一个人,现在我们有一个头脑风暴的合作伙伴,你可以把它应用到所有这些不同的任务上。
我觉得非常酷的是,我发现很多公司都在利用这一点,创造你以前做不到的新体验。
我认为这是非常令人兴奋的。
我觉得回答问题也非常酷,但是这个问题出乎我的意料。
我认为我们不会预料到这是一个如此大的用例。
待续...