人工智能“软件2.0”:提示符编程2020年提出了GPT-3模型

译者:张玉佳

2017年,人工智能领域的大腕、特斯拉现任人工智能总监Andrej Karpathy发表了一篇名为“software2.0”的帖子。由于作者的高人气和文章中包含的有争议的观点,该帖子在网上被大量转载。

作者认为,神经网络已经在很多方面取代了传统编码,而且这种转变的影响比你想象的要深。因为神经网络不仅仅是一种简单的分类方法,而是一种全新的编程范式。

你可以同意也可以不同意他的观点,但不可否认,深度学习已经在一定程度上进化了。直到去年 GPT-3 的出现,我们看到了另一种编程范式。科技博主 Gwern Branwen 将这种可能改变游戏规则的编程称为“提示编程”,我们已经进入了软件 3.0 的时代。

软件3.0:提示编程

2020年,OpenAI提出了GPT-3模型,以其高性能震惊了人工智能领域。GPT-3可以按照英文说明写代码或吉他谱,也可以用来进行对话、写诗,或者思考未来和人生的意义。而未经训练的 GPT-3 可以完成这些任务,它是一个多任务元学习模型。

GPT-3 的创新之处在于,当我们用自然语言编写带有任务的文本(提示)时,GPT-3 可以自动“理解”要完成哪个任务。

例如,提示是:“我爱你 → Te quiero(西班牙语)。我有很多工作 → Tengomucho trabajo。GPT-3 是有史以来最好的 AI 系统 → _____”,GPT-3 会知道需要做什么完成英语-西班牙语翻译。

Gwern 认为,提示可以理解为一种新的编程范式:“因为 [提示] 正在以不同的方式使用 [深度学习] 模型,因此最好将其视为一种新的编程方式。使用提示“程序”可以对 GPT-3 进行编程以执行新任务。”

每当我们让系统执行一项任务时,我们都会创建一个特定的 GPT-3 版本。具有特定任务的“编程”GPT-3 可以完成其他 GPT-3 版本无法完成的任务。

但如果编程不好,GPT-3执行任务的能力也会变差。所以有人认为 GPT-3 缺乏逻辑和常识推理能力,但 Gwern 认为 GPT-3 的失败应该归因于不良的提示。为了证明科学严谨性,Gwern 反复测试了几个不同的提示,发现好的提示充分“编程”了 GPT-3 来执行任务,证明 GPT-3 并不缺乏逻辑和常识推理能力。

同时,Gwern 认为,良好的提示是实现 GPT-3 真正潜力的关键。与其他形式的编程一样,提示可以通过大量练习来细化和标准化。而人们在系统中发现的局限性往往是因为人类缺乏该部分的能力。

如果我们想让系统执行某些行为,我们必须首先学会与之通信。

例如,如果你想用 Python 或 C 编程,你需要提前知道语法规则,否则你编写的任何程序都将无法工作。但是您不能将其传递给计算机并假设计算机没有能力完成这项工作。

以下是使用提示符作为编程范例的两个原因:

第一:提示允许用户从系统中生成满足自己需求的特定行为,类似于编码的定义。也就是说,给定一个输入,然后根据一组特定的指令执行程序以完成特定的功能。

第二:提示有好坏之分,要多试验几次,确定最佳方法,并加以规范。在传统编码中,我们必须学习语言语法、变量操作、函数等等。对于神经网络,我们必须学会从数据集中去除偏差和噪声。提示与上述两种方法类似。

如果将提示编程理解为软件3.0,那么传统的编码方式(软件1.0)和神经网络(软件2.0)如何处理)毛呢布?

提示可以取代这些编程范式吗?

程序员是否需要将提示作为一项新的必备技能添加到他们的技能库中?

提示会改变我们与机器交流的方式吗?

提示既不会取代传统编码也不会取代神经网络

去年,Frederik Bussler 在 Towards Data Sciencearguing 上写了一篇受欢迎的文章,认为 GPT-3 可能会推动我们编码的方式来理解(以及无代码和自动机器学习)编码。结尾。

GPT-3 具有生成良好代码的能力,但它可以完成的大部分工作取决于所使用的提示是否传达了人类意图。并且使用 GPT-3 不会影响编程的简单性,否则就大材小用了。

神经网络也是如此。

Karpathy 认为软件2.0 可以替代部分软件1.0,比如一些用显式程序难以完成和解决的问题,但如果采用收集数据训练神经网络的方法,有可能很容易解决这些难题。然而,对于某些问题,传统编码仍然是首选的最优方法。

软件3.0 可以覆盖的任务范围不是100% 包括软件1.0 或2.0 的范围。

因此,虽然每个范式在其能力范围内重叠,但它们各自都有比其他范式表现更好、更有效的领域指令码语言有哪些,找到了稳定的和谐。因此,这些软件范式并不是相互竞争,而是试图找到一种完美的共生关系。

这些范式都是实现真正人工智能的重要组成部分。人类也是由生物软件组成的,这在某种程度上与这些范式相对应。

软件 1.0、2.0 和 3.0 – 看大图

“[software2.0] 的未来无疑是光明的,因为当我们开发 AGI 时,它必须写在 software2.0 中。” ——安德烈·卡帕斯

我不同意 Karpathy 的预测。我认为 AGI(通用人工智能)将是三种编程范式(或其他尚未发现的范式)的组合。理解为什么的最好方法是与一个真实的代理人,一个人进行类比。

软件1.0

在 2010 年代神经网络广泛兴起之前,所有代码都需要手动编写。因此,为了让系统执行特定的行为,必须清楚在每种情况下系统需要遵循哪些指令。传统编码的程序完全按照编写的方式运行,不是黑匣子,也不会学习。

这也是进化在创建遗传密码时考虑的因素。

我们生来不是一张白纸,而是有一套基因决定的模板,这些模板在大脑中根深蒂固。我们将此生物软件称为1.0。遗传决定了我们有两只眼睛、两条手臂和两条腿,包括金发和棕绿色的眼睛。

软件2.0

Karpathy 说,软件 2.0 包括数据集的管理和神经网络架构的设计。

我们需要指定程序的结构并为程序提供输入数据,但不定义细节。可以训练神经网络“编写”自己的内部“程序权重”,以自主学习他们需要做什么。

生物软件2.0是成长过程中的体验和感知。

人天生就是一个半空的结构,等待着被灌输各种物质和社会信息。基因决定了我们有两只手臂,但无论我们学习西班牙语还是英语,我们什么时候学会走路,以及如何更好地掌握世界是如何运作的。这一切都不是由基因决定的,而是由环境和我们与世界的接触决定的,类似于通过数据集优化程序。

软件3.0

可以通过提示生成特定的 GPT-3。从某种意义上说,特定提示 GPT-3 可以完成其他系统没有学会的任务。每个特定的 GPT-3 都有学习任务的潜力,但只有在受到激励的情况下。

生物软件3.0是作为成年人经历的具体学习:学什么,读什么,做什么,掌握什么能力和技能。因此,所有人都具有学习这些技能的相似潜力,但每个人都只选择了一部分技能和知识来学习。这些选择改变了我们的大脑指令码语言有哪些,就像线索改变了 GPT-3 的能力一样。

值得一提的是,以上对生物软件的类比,在讲述的同时,也简化了问题。生物软件实际上适用于各个层面。我们的基因取决于环境,而选择学习工程或医学取决于我们是否与生俱来的天赋。所以通过这个类比,我只是想让人们意识到,实现 AGI 需要更多样化的软件范式。

AGI 可能需要传统的编码来定义基本的、不可变的结构元素。通过神经网络(或其他深度学习框架)从外部和内部数据中学习。最后,通过提示进行交互以获取特定知识。

正如 Karpathy 所说,AGI 不能单独由软件 2.0 构建,它需要从每个范式中采取不同的东西。未来的 AGI 将拥有一个人工基因组来感知世界并成为元学习者。人们使用自己的身体来真实并与世界互动。发育机器人试图通过结合人工智能、机器人技术和认知科学来实现更好的性能。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论