展望AI的未来,GPT-3驱动的第一批应用程序已兴起

2020 年 9 月 25 日

展望AI的未来,GPT-3驱动的第一批应用程序已兴起

本文要点

  • GPT-3 是目前已训练的最大的语言模型。
  • GPT-3 的基本操作模式是根据输入的文本生成文本响应。例如回答问题或根据标题撰写论文。
  • OpenAI 现在提供了一个开发者 API,可以与 GPT-3 进行交互并能在它上面构建应用程序。
  • GPT-3 是一个小样本学习者。它需要用一些示例来启动,以在特定的上下文中工作。
  • 一旦正确启动,GPT-3 就可以执行数学计算并用编程语言生成答案,尽管它还没有显式地学习过这两种语言。

由 GPT-3 驱动的第一批应用程序震惊了“开发人员的 Twitter”。它们提供了人工智能(AI)未来的惊鸿一瞥。

GPT-3(Generative Pre-training Transformer-3)是 OpenAI 最新也是最出色的自然语言预测模型。简而言之,对于任何输入文本,它都能生成文本来响应。它是一个能对问题或陈述作出回应的程序。

GPT-3 预先训练了大量来自互联网的自然语言文本(45TB 的训练文本,有 4990 亿个单词)。在 GPU 上进行训练至少要花费460 万美元(有些估计要高达 1200 万美元)。结果模型有 1750 亿个参数。

InfoQ 早在 6 月份就报道过 OpenAI 的 GPT-3 发布。它比之前任何语言的 AI 模型都要大 100 倍。在官方的 GPT-3 研究中,OpenAI 团队演示了 GPT-3 在不需要进行任何微调的情况下就能够实现开箱即用的最先进的效果。但它在现实世界中是如何运作的呢?它只是另一个玩具,还是对人类的一个严重威胁?在它初始版本发布一个月后,由 GPT-3 驱动的第一批应用程序正在涌现。现在我们可以亲自看到:

我们认为大多数开发人员完全可以使用 GPT-3 非常快速地构建项目。
—— Yash Dani George Saad

在本文中,我们采访了许多这样的创建者和企业家,并回顾了其中的一些应用程序。开发人员和记者都用“令人震惊”和“令人振奋”这样的词来描述GPT-3 的好。

它的工作原理

GPT-3 模型一次只生成一个单词的文本。作为一个假设性的示例,我们假设开发人员将以下单词作为输入。

“生命、宇宙和万物终极问题的答案是”

AI 模型可以生成单词“40”作为响应。然后,开发人员将生成的单词附加到输入中,并再次运行模型。

“生命、宇宙和万物终极问题的答案是 40”

这次,AI 模型可以生成单词“2”作为响应。再重复一次,下一个答案应该是句号,这样就完成了一个句子。

“生命、宇宙、万物问题的终极答案是 42。”

GPT-3 之所以能够做到这一点,是因为它在训练中多次从文本中看到这种特殊的流行文化参考。因此,它的神经网络能够以很高的统计确定性来猜测“下一个单词”。

然而,在自然语言中,预测并不总是那么明确。输入后的单词通常取决于上下文。这就是 GPT-3 作为小样本学习者(Few-shot Learner)的优势所在。小样本学习就是先给 GPT-3 举几个例子,然后让它做出预测。这使用户可以为 AI 模型提供语言环境,并大大提高准确性。图 1 展示了零样本(zero-shot)、单样本(one-shot)和小样本(few-shot)学习的示例,这些示例可以启动 AI 模型生成外语翻译。

图 1 AI 翻译的三种学习方式。图片引自语言模型是小样本学习者的图2.1

小样本学习与婴儿学习语言的方式非常相似。学习者从语言示例中学习,而不是从语法规则中学习。正如我们将要看到的,通过使用不同的示例来启动GPT-3,开发人员可以创建出差异非常大的应用程序。

Jay Alammar 写了一篇很棒的文章,通过视觉动画展示了 GPT-3 的工作原理。点击查看更多信息。

它通过图灵测试了吗?

对于语言 AI,人们首先要问的一个问题是:它是否能够通过图灵测试,让人们误以为它是一个人?有些人认为 GPT-3 已经可以误导人类了。图 2 展示了一篇 GPT-3 生成的论文。根据 GPT-3 小组的说法,只有不到 12% 的人能分辨出它是由机器撰写的。

图 2 一篇由 GPT-3 撰写的原创文章。图片引自语言模型是小样本学习者的图3.14

只需列举几个示例,GPT-3 就可以模仿名人的写作风格。“向任何人学习”项目允许用户选择一个名人,然后提供一个主题。以这个人已知的著作来启动GPT-3,然后使用主题文本作为输入。它会返回一篇由GPT-3 生成的200 字的文章。结果不言而喻。一条推文展示了怎样轻松地冒充埃隆·马斯克(Elon Muck)谈论火箭。现在想象一下托马斯·杰斐逊(Thomas Jefferson)对火星探测的评论!或者生成一句关于COVID-19 和戴口罩的Fauci 博士的名言。在GPT-3 时代,我们还能相信互联网上的任何东西吗?我们将在本文的后面再回来讨论这一点。

当然,除了名人,GPT-3 还可以模仿任何人!开发人员Ravi Vadrevu 创建了一个服务来为任何用户编写商业电子邮件摘要。该应用程序使用用户过去的电子邮件来启动GPT-3。通过输入特定的意图,例如招聘、网络或销售,GPT-3 会代表用户编写电子邮件。像这样的服务就是赌GPT-3 能通过图灵测试。

翻译和律师

在GPT-3 学习的4990 亿个单词中,有些不是英语。通过将单词与语境相关联,GPT-3 似乎可以进行翻译(另请参见图1)。在GPT-3 的论文中,作者举例说明了如何使用GPT-3 进行英语到法语和西班牙语翻译。

通过语境来理解英语单词的能力能带来很多有趣的可能性。例如, Revtheo 是一个基于 GPT-3 的词典,它可以根据语境为用户提供单词的含义。

但是,对于 GPT-3 而言,也许更有趣的是基于段落进行英语到英语的“翻译”!也就是说,重新措辞一段英文文本,使之更简单或更严谨。法律技术企业家 Francis Jervis 让 GPT-3“像律师一样写作”,让其将日常英语语句翻译成法律术语。结果是很有希望的。显然,很难从表面上衡量机器生成的法律语言的价值,但即使是法律专家也指出,GPT-3 可以作为律师的助手,提高律师的工作效率。另一方面,投资者 Michael Tefula 要求 GPT-3 将复杂的法律术语翻译成简单的英语。在这两种情况下,只需要 2-3 个示例即可启动 GPT-3。结果虽然并不完美,但也相当接近了。请记住,GPT-3 从未接受过法律术语的训练。只是列举几个简单的例子,它就能启动了。

会计和设计师

在 GPT-3 的论文中,一个有趣的发现是 AI 从语言中“学习数学”的能力。从未教过 AI 基本的数据结构和定理。然而,它可以生成数学问题的正确答案。对于简单的两个数相加,GPT-3 的准确性几乎能达到 100%,尽管它从未了解过这两个数的含义。图 3 展示了 GPT-3 论文中的一些示例。

图 3. GPT-3 进行数学运算。图片引自语言模型是小样本学习者的图 G.42 到 G.48

将这种数学能力与 GPT-3 在训练过程中看到了大量的结构化数据这一事实相结合,似乎可以让 AI 用结构化的数据输出(如 JSON 或 XML)来响应英语输入。

开发人员 Yash Dani 和 George Saad 用了八个示例来启动 GPT-3,以将事务的英文描述转换为 Python 数据对象。以下是他们训练数据的一个示例。

  • 输入:我额外买了一个价值 1200 美元的货物,我立即支付。
  • 输出:[[“添加”,1200,“货物”],[“删除”,1200,“现金”]]

然后,他们编写了一个 Python 程序来处理这个对象,并将其内容插入到 Excel 电子表格中。其结果是一个自动化的会计,他可以根据交易的任意描述来更新财务报表。

如果我们可以使用自然语言来操作和编辑Excel 文件,也许我们也可以对PowerPoint 做同样的事情?果不其然,这是Twitter 用户 nutanc 制作PowerPoint 演示

开发人员Jordan Singer 也采用了类似的方法构建了一个 Figma 插件。这个插件允许用户用英语描述用户界面(UI),使用 GPT-3 生成 UI 的结构化 JSON 表示,然后使用计算机程序在 Figma 中呈现 JSON 内容。了解更多有关Jordan 开发经验的信息

在这些示例中,GPT-3 输出结构化的数据,然后由另一个计算机程序对其进行处理以完成任务。这似乎是一种非常有前途的自然语言AI 应用模式。

no-code 程序员

如果 GPT-3 能够生成计算机程序所使用的结构化数据,那么它也许可以再进一步,直接生成计算机程序。这可能吗?答案似乎是肯定的!

一些开发人员告诉 InfoQ.com,这种启动在生成结构化输出时对 GPT-3 的表现至关重要。该系统仅需用正确的示例来启动即可。和其他深度神经网络一样,GPT-3 对人类来说基本上也是一个黑匣子。这使得我们很难拿出正确的示例来为它提供精确的输出。这是一个反复试验的过程,可能需要几天时间。

它需要通过一些示例来捕捉模式,一旦完成了,它就能像变魔法一样了。
—— Tushar Khattar

开发 GPT-3 应用程序不是用传统的编程语言编写算法,而是要拿出自然语言示例来启动 AI。它需要一种新的无代码(no-code)技能,这将在软件开发中创造新的就业机会。

人为描述,AI 构建,人为调试。
——以太坊的创建者 Vitalik Buterin

机器生成代码可能是一个有趣的(而且是有利可图的)未来研究领域。我们甚至可以有目的地构建生成输出编程语言的 AI 系统,比如 Facebook Research 的 TransCoder 项目,它使用无监督学习将一种编程语言(例如 Python)翻译成另一种编程语言(例如 C++)。

我们可以理解的 AI

尽管打着 OpenAI 的名号,但 GPT-3 既不是开源的,也不是开放访问的。它为开发人员提供了一个简单的 Web 服务 API 来启动模型,然后发送文本以获得响应。API 很简单,但目前有一个等待列表。

到目前为止,一切都很惊人。能够看到 GPT-3 学习的速度是多么不可思议。API 再简单不过了,只需一个与之交互的核心端点。文本输入、文本输出的想法允许你做任何你可以想到的事情。
——Jordan Singer

GPT-3 访问障碍是刻意设置的。正如我们所看到的那样,GPT-3 是一款功能强大的软件。然而,由于它是一个黑匣子,我们无法轻易预测或控制它生成的文本。正如我们所讨论的那样,为精确的输出做启动主要是一个反复试验的过程。鉴于互联网上存在大量的种族主义、女性歧视和其他仇恨内容,因此在 GPT-3 4990 亿个单词的训练数据中,无监督的 GPT-3 可能会产生带有偏见或伤害性的文本。例如,试想一下 GPT-3 可能会产生的那种听起来很有说服力的假新闻。

开发者社区必须使用功能强大的 AI 系统来对此作出响应。这可能需要我们对语言模型的工作原理 有更深入的理解,而不是仅仅列出禁止使用的单词列表。

当 AI 做出或说出政治上不正确的话时,人们就会很生气。如果很难阻止它们得出这样的结论,而解决这个问题最简单的方法就是教它们隐藏自己的想法,那该怎么办?开始教授 AI,这似乎是一个可怕的技能。
—— Paul Graham 在 Twitter 上说

虽然 AI 黑匣子里的推理对人类来说很难理解,更不用说解释和控制了,但 AI 能向我们解释自己吗?软件开发人员 Daniel Bigham 要求 GPT-3 纠正英语句子中的语法错误,并提出纠正原因。结果相当令人惊讶,因为 GPT-3 从未被显式地教授过语法规则。它从示例中得到了理解。这里有一个例子。这是迈向 AI 可解释性的微小但又诱人的一步!

  • 输入:Its time to get cracking!
  • 输出纠正: It’s time to get cracking!
  • 输出说明:应该用缩略语 it’s 而不是所有格 its。

我们希望开发人员将继续为 GPT-3 的创建和解释提供更多的可能性!

黑匣子

尽管 GPT-3 已经表现出了巨大的希望,但它仍然存在一些长期困扰神经网络 AI 的问题。具体来说,它在某些任务上表现得非常好,而在其他常识性任务上却惨败。AI 真的理解赋予它的任务吗?

在哲学层面上,这可能并不重要。毕竟,AI 可以进行数学、翻译和语法检查。AI 从来没有被教过数学和语法的概念,这有关系吗?GPT-3 能够推导和应用数学和语法规则。但是,对于构建 GPT-3 应用程序的开发人员来说,不了解 AI“知识”的边界是很麻烦的,因为需要关注 AI 无法处理的情况。

本文展示了一些令人印象深刻的 GPT-3 应用程序示例。但是开发人员也告诉 InfoQ,为了生成这些结果,需要仔细地“启动”系统。所以,从某种意义上说,这些结果是精心挑选的。更糟糕的是,由于 GPT-3 是一个黑匣子,开发人员很难理解为什么某些启动可以工作而其他方法却失败了。如前一节所述,在 GPT-3 被广泛采用之前,可解释性可能是其最重要的限制之一。

一应俱全的 AI

GPT-3 证明了 AI 的表现随着模型规模的增长呈指数增长的关系。不断增长的模型规模将产生更强大更精确的 AI。这是我们这个时代的摩尔定律吗?

深度学习的先驱 Geoffrey Hinton 博士对 GPT-3 进行了推断,并开玩笑说,一个能够回答宇宙终极问题的 AI 需要的不是 42 个参数,而是 4.2 万亿个参数。这仅仅是 GPT-3 的 25 倍。

将 GPT3 的出色表现外推到未来,则表明:生命、宇宙和万物的答案只有 4.398 万亿个参数。
—— Geoffrey Hinton 在 Twitter 上说

现在回想一下我们在本文开头提出的假设性问题。答案是 4.398 万亿,现在已经在互联网上了,并且它将成为 GPT-4 训练数据的一部分。那么 GPT-4 将如何回答宇宙的终极问题呢?

免责声明:本文是由 Vivian Hu 撰写的,一个活生生的人。不是由 GPT-3 编写的。

作者简介:

Vivian Hu 是一名亚洲的开源爱好者和 Developer Advocate。她是 Second State 的产品经理。她非常关心通过更好的工具、文档和教程来提高开发人员的体验和生产力。Vivian 在 WebAssembly Today 上为 WebAssembly、Rust 和 Serverless 撰写每周新闻。

原文链接:

https://www.infoq.com/articles/gpt3-enabled-applications/

2020 年 9 月 25 日 13:21 1168

评论

发布
暂无评论
发现更多内容

来了!8M/S+速度,Pdown复活!

程序员生活志

iOS 动画 - 窗景篇(三·完结)

柯烂

ios swift 动画 移动互联网 动效

Dart vs Swift

柠檬水

swift dart

一二线城市知名 IT 互联网公司名单(新版)

程序员生活志

互联网 IT 大厂

揭秘!中国人一定要知道的北斗卫星系统

程序那些事

北斗卫星 北斗系统 卫星定位 卫星授时 黑科技

融云年中大促钜惠来袭 IM+RTC 超值套餐最低6折起

Geek_116789

MySQL实战45讲笔记(1)

王传义

msyql

玩转Java8中的 Stream 之从零认识 Stream

Java小咖秀

学习 stream java8 Java 面试 经验

海阅优品致力打造新零售蓝海

Geek_116789

从0开始设计Flutter独立APP | 第二篇: 完整的国际化语言支持

渔子长

flutter 前端

计算机操作系统基础(五)---Linux的进程管理

书旅

php 线程 多线程 操作系统 进程

区块链≠分布式账本,别再傻傻分不清

CECBC区块链专委会

区块链技术 高考 信息防篡改

ARTS - Week 4

Khirye

ARTS 打卡计划 arts

架构师训练营第四周作业

张明森

势能造就下的互联网大厂程序员为什么去开滴滴了?

非著名程序员

程序员 程序人生 提升认知 程序员成长

对直播带货的一点思考

Neco.W

直播 直播带货

【写作群星榜】6.20~6.26 写作平台优秀作者 & 文章排名

InfoQ写作平台

写作平台 排行榜

了不起的 TypeScript 入门教程 [1.2 w字]

阿宝哥

JavaScript typescript 前端 Web

MySQL系列 - SQL查询与修改执行过程

俊俊哥

MySQL 性能优化 关系型数据库 存储

那些会阻碍程序员成长的细节[3]

码闻强

程序员 职业规划 职业成长

IM聊天教程:发送图片/视频/语音/表情

GoEasy消息推送

websocket 即时通讯 聊天室 聊天

一群龙舟划手 “拍了拍” 你:端午节安康~

BonreeAPM

为什么建议你使用枚举?

王磊

Java 枚举

告别静默式看房 融云音视频助力上海中原 App 上线 VR 带看服务

Geek_116789

创新管理体系标准ISO56002介绍

涛哥

数字化转型 创新

限频/限流的一些思考

i风语

Java redis 微服务 sentinel ratelimiter

重学 Java 设计模式:实战中介者模式「按照Mybatis原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」

小傅哥

设计模式 小傅哥 代码优化 代码规范 中介者模式

深入浅出kubernetes之WorkQueue详解

博文视点Broadview

Kubernetes 源码分析 k8s 队列 延迟队列

架构师训练营第四周学习总结

张明森

架构师训练营第四周作业

hiqian

软件架构语录

hiqian

展望AI的未来,GPT-3驱动的第一批应用程序已兴起-InfoQ