文本是通用界面
英文原文:https://scale.com/blog/text-universal-interface
发表时间:2022年9月8日
推荐理由:译者认识到在深度学习的世界中,文本具有根本的重要性,是打开深度学习知识宝库的钥匙,因此需要借鉴对此更深刻的见解,以看清前路。
“这就是 Unix 哲学:编写程序,只做一件事并把它做好。编写程序,使其协同工作。编写程序,处理文本流,因为那是通用接口。” ——Doug McIlroy
计算机软件在 1960 年代后期走向成熟。当时大多数程序都是整体编写的,多数是从头开始,专为楼栋大小的大型机构建,但一些先驱者开始标准化一种新的思维方式。其中一些程序具有熟悉的名称(例如 grep、diff),作为计算机程序员的工具集流传至今,它们的起源尚不清楚,但实用性毋庸置疑。其持续成功是 UNIX 哲学持续成功的一个缩影,UNIX 哲学是由计算机软件巨头 Doug McIlroy 和 Ken Thompson 在 70 年代初期创立的。他们注意到了操作和修改文本流之可组合工具的力量。
文本流程序自动易于协作和组织:个人可以更改不同程序的内部结构,而不必担心破坏他人的工作。毕竟,接口是标准的。文本流程序还具有免费内置的可扩展性。当 I/O 的基本数据格式永远不会改变时,可以将长序列的嵌套 shell 调用串在一起,通过将简单的程序连接在一起修改彼此行为以构建华丽的软件大教堂。文本成为人类使用计算机执行命令的最常用杠杆。
几十年后,研究人员开始齐心协力攻克许多以前无法解决的语言和文本任务。 2019 年 2 月,一位名叫亚历克·拉德福德 (Alec Radford) 的人工智能领域早熟的新秀发表了一篇关于语言建模的开创性论文,这使他及其合著者不仅在人工智能社区,而且在广大技术专家中立即成为传奇人物。他们的赞助机构 OpenAI 认为,以该论文创建的强大模型软件是第一个可能太危险而不能轻易扩散的人工智能,因为担心有人可能会用它做坏事。随着这个模型 GPT-2 缓慢地最终发布,我们迎来了称为大语言模型 (LLM) 时代。
在机器学习范式的前一次迭代中,研究人员痴迷于清洗数据集,以确保其模型看到的每条数据都是原始的、黄金标准的,不会干扰数十亿参数在模型空间的脆弱学习过程中找到其归宿。然后许多人开始意识到数据规模重要性超过深度学习世界中其他大多数优先事项;允许模型随着数据的复杂性同步扩展的通用方法更加优越。现在,在大语言模型时代,研究人员倾向于将未经过滤、未经编辑的大山一样的互联网碎片倾倒进饥饿模型热切的胃里。

由此产生的模型表现出一般智能的迹象令人惊异——它能够执行多种可用文本表示的任务!因为,例如,国际象棋游戏通常被序列化为描述棋盘历史的标准格式并被爬虫抓取,事实证明大语言模型可以下国际象棋。注意到这些奇怪的涌现行为,其他研究人员已将这种文本处理的通用能力推向极限:最近的一篇论文利用大语言模型的常识推理能力来帮助机器人做出决策。他们只需将潜在动作列表作为文本流提交,并获得 AI 的批准或不批准。例如,文本模型知道在洗碗前找到海绵比反过来更合理,并以此命令机器人。看到这些截然不同的任务在一个不太可能的屋檐下被驯服,我们不得不问——还有哪些困难问题可以轻易转录成文本并询问一个神谕智能软件?麦克罗伊一定在什么地方微笑。
一些人正在沿着这条知性之路冒险,本着 UNIX 先驱的精神,询问大语言模型的通用智能是否可以成为各种他们软件程序和业务的核心模块化认知引擎。这些勇敢的企业家和工程师要求世界上最好的人工智能以某种方式行事,以便为其用户找到价值,这正在催生全新的提示工程学(prompt engineering)。 mem.ai 的创始人丹尼斯·徐 (Dennis Xu) 就是这样一位未来之门的开拓者:他的公司开发了一款自组织笔记应用程序,该应用程序可作为智能的知识存储,其 AI 可以管理、标记、并连接不同的笔记。
Dennis 的团队知道训练自己的模型来解决核心认知任务没有任何产品意义。试图从头开始理解人类知识的广度以编写笔记摘要和标记主题标签是荒谬的。相反,为什么不使用通过 API 随时向公众开放的人类最强大的机器思维之一?为下游应用程序(如笔记应用程序)收集自己的数据集需要大量预先存在的用户群,GPT-3(代号:“davinci”)可能是世界上最著名的语言模型,已经存在并在 5000 亿个词上进行了训练,这些词编码了常识推理和语言任务理解的广度。我们可以简单地要求它执行诸如“总结本文档”、“列出本笔记涵盖的主题”等任务。当然,事情并非如此简单。我们必须提供一些笔记示例及其相应的摘要或主题标签,以确保模型在正确的方向上思考。提示的基础通常包括号召性用语和一些定义任务空间的示例,但这几乎没有触及表面。
对于任何亲身工作与这些模型人来说,很明显,创造这些技术巨兽的庞大而全面的训练过程中嵌入了一些困难的行为。虽然示例材料的广度催生了能够处理大量文本任务的具有广泛智能的数字生物,但可能需要大量的刺激、哄骗和恳求才能让这些模型进入适合手头特定任务的正确情绪。在 GPT-3 发布后的早期,许多人就注意到,如果你以“这是人类与极其智能的人工智能之间的对话”修饰补全提示,模型结果会变得更有说服力。有时,GPT 似乎为了它正在扮演的角色而隐藏了它真正的智力深度。 给 GPT 的提示甚至决定它能否解决算术难题。在语言建模的另一个疯狂怪癖中,如果你指定它来自“虚幻引擎”(以其逼真的风格而闻名),文本到图像模型似乎可以创造更高质量的艺术作品。由于文档分布的广度和在它所收集的 5000 万亿互联网上抓取的词中看到(通过训练时认真观察)的令人眼花缭乱的写作风格,自监督语言模型可以被看做是许多模型的庞大集合,这些模型扮演了许多具有不同个性的角色。

用户向大型基础模型输入的每个提示都会实例化一个新模型,一个范围更有限的模型:它进入不同的条件概率分布,或者换句话说,不同的情绪。语言模型的情绪催生了一种新的可组合模块化软件,它接收一个文本标记流并返回另一个作为输出。 UNIX 风格软件的优雅功能来自简单但功能强大的原语,即管道。它将一个程序的输出转换为另一个程序的输入或修饰符。一个提示查询的输出(请求笔记的摘要)可以很容易地聚合并发送到另一个提示模型,该模型要求按给定搜索主题的相关性对摘要进行排序。

模块化软件创建的纯粹能量在提示工程作战室中嗡嗡作响,以大大减少的努力将人类意志转化为可重复的程序:找到提示,而不是编写程序。丹尼斯及其团队努力寻找正确的咒语来哄 GPT-3 进入正确的心情来执行手头的任务。与大多数工程一样,这是一个持续的优化过程。 OpenAI 定价模型的结构要求最终用户必须注意使用尽可能少的标记作为提示,因为这是 GPT-3 API 中的基本成本单位。仅使用 100 个字符让 GPT-3 做正确事情的提示优于需要 400 个字符的提示。提示工程师必须玩一个微妙的游戏,让模型在缩短咒语的同时好好思考。
这些足智多谋的工程师正在将机器学习世界的一些方法应用到提示工程世界:新抽象层下的旧技巧包。例如,他们创建工具来存储困难任务示例的“测试集”,以评估新提示(或模型更改后的旧提示)的质量。假设提示工程师有一个可以缩短向机器询问文档摘要文本提示的主意。它每月可能节省数千美元的 API 费用。她在 20 个例子(“测试集”)上进行了尝试,团队认为这些例子很有趣,并适当地说明了模型的性能。在检查所有 20 个示例都产生了成功的结果(或者至少性能不比以前差)之后,她可以以自动化的方式将她的更改推广到产品中。 mem.ai 团队使用这些方法来确保安全并加快实验速度,不断创造此类创新。他们甚至可以巧妙地在同一个查询中组合多个任务(多任务推理!),进一步降低成本。所有输入都是文本,因此有几种明显的方法可以将查询重新组合并重新路由到不同的提示中。所有输出都是文本,因此人工审阅者可以快速检查测试示例并检查正确性和性能。
在新范式的开始阶段很容易不如以前:哥白尼宇宙学日心模型最初对观察到轨道的预测不如竞争对手复杂的循环地心说。人们很容易试用一个大语言模型,看到它犯一些令人沮丧的错误,然后放弃 LLM 范式。但深度学习模型无情的规模法则对其有利。由于集中在几家硅谷公司的杰出人工智能研究人员和工程师不懈努力,使模型和数据集都变得更大,语言模型变得像发条一样更加智能。 OpenAI 的 Beta 版新模型(代号:davinci2)比两年前推出的旧模型要智能得多。就像一个早熟的孩子,一个更聪明的模型需要更少的提示来更好地完成同样的工作。随着时间的推移,提示工程师可以事半功倍。很快,提示可能根本不像“工程”,而是与机器的简单对话。我们看到梯度指向正确的方向:提示变得更容易,语言模型变得更智能,新的通用计算接口看起来不可避免。
有时,尽管尽了最大的努力,还是必须离开文本的领域。在其他媒体上运行的计算形式无穷无尽——现有的大部分数字内容是照片、视频和图形界面,用户喜欢这些。我们已经看到,自然语言的力量也被用来运用和操纵这些内容。名为 DALL-E 和 Stable Diffusion 的快速发展的模型系列正在互联网上扩散,引发了关于 AI 艺术的出现及其对人类意味着什么的社交媒体热议。这些工具使我们能够捕捉自己的想象力,仅通过文本的多功能界面进行交流,并命令强大的智能将这种愿景具象化为像素。这项技术是非凡的——甚至古人也设想了一种可以拍摄心灵照片的礼物,现在任何会打字的人都可以使用它。
其他人正在寻求更大胆的努力来控制文本下的其他模式。 Adept.AI 的团队包括撰写所有现代语言模型中使用的 Transformer 架构的开创性论文的传奇作者,他们指出,LLM 就其所有广义智能而言,无法在图形界面世界中采取无缝行动,其目标是尽快修复这种差异。他们的博客中列出了一个示例:你以文本形式告诉计算机“生成月度合规报告”,然后看着你的意愿在屏幕上展开,同时计算机将文本转换为 Excel 或 Word 界面上的操作。在这个范例中,艺术、图形和 GUI 本身将在文本模式下被指挥。
缓慢但肯定地,我们可以看到 UNIX 信条的新扩展正在诞生。那些真正理解大语言模型、提示工程和文本作为通用界面的承诺的人正在重新训练自己以新的方式思考。他们从如何将任何新的业务流程或工程问题表示为文本流的问题开始。输入是什么?输出是什么?我们必须运行哪一系列提示才能到达那里?也许我们注意到,公司 Twitter 帐户的负责人每周都在煞费苦心地将 GitHub 变更日志转换为推文线程。在某个地方有一个提示可以解决这个业务挑战以及与之对应的语言模型情绪。有了足够聪明的模型和足够好的提示,这可能适用于每一个业务挑战。在单独的文本输出确实不够的情况下,我们训练了一个联合嵌入模型,例如 DALL-E,它将文本输入转换为其他域。
世界上最复杂的推理程序可以定义为生活在某些技术公司服务器上的巨兽的文本 I/O 流。工程师可以致力于提高这些程序的质量和成本。它们可以是模块化的、可重组的,并且与典型的 UNIX shell 程序不同,它们能够从用户错误中恢复。就像 shell 程序经久不衰并随着底层硬件变得越来越强大而变得越来越强大一样,随着底层语言模型变得越来越智能,提示模型也变得越来越智能并且可以执行更多任务。在不久的将来,所有需要定制协商的计算机界面都有可能向大型语言模型的看门人支付少量税款,因为它为操作员提供了纯粹的杠杆作用:一辆新的思维自行车。即使在今天,我们中的许多人也发现自己已经依赖 GitHub Copilot 这样的工具来阅读、建议和修改文本,以创建更传统的软件程序,尽管它们是最近发明的。数以千计或数以百万计精心设计的语言模型情绪将激增、相互关联,每一个都处理人类文明织锦中的一个小认知任务。
“语言模型适用于文本。语言模型仍然是我用过的最好的界面。它对用户友好、可组合且随处可用。它易于自动化且易于扩展。”