原理大揭秘:Google 与 Lupe Fiasco 合作开发的 AI 工具套件 TextFX

八月 02, 2023
Aaron Wade Creative Technologist

Google Lab Session 是我们与创新者进行的一系列实验性 AI 合作。在我们最新的 Lab Session 项目中,我们想具体探索 AI 如何扩展人类的创造力。因此,我们与获得格莱美奖的说唱歌手兼麻省理工学院访问学者 Lupe Fiasco 共同开展了一个名为“TextFX”的 AI 实验项目。

Link to Youtube Video (visible only when JS is disabled)

探索过程

我们首先花时间观察和了解 Lupe 的创作过程。这一过程始终带有某种语言“修补”特色,即对语言进行解构,然后以新颖和创新的方式重新构建。Lupe 的一些技巧,如比喻和头韵,均源自传统文学手法的经典范例。但他的许多策略是独一无二的,其中一种巧妙的策略是创造与给定单词发音相同但含义不同的短语。他通过“expressway”(高速公路)一词展示了他如何实现这一技巧:

express whey(快速配送乳清)
express sway(展示影响力)
ex-press way(无新闻媒体的传播路径)

这些操作在 Lupe 的创作中发挥了关键作用。有鉴于此,我们开始思考:如何利用 AI 来帮助 Lupe 探索文本与语言的创新可能性?

当涉及将 AI 应用于语言领域时,大型语言模型 (LLM) 无疑是必然之选。LLM 是专门用于执行与语言相关任务的机器学习模型类别,其中一项用途就是生成文本内容。尽管如此,仍然存在一个问题:如何将 LLM 真正融入到 Lupe 的歌词创作工作流中。

目前存在很多不同类型的 LLM。例如,Google 的 Bard 经过微调,可以起到会话代理的作用;而另一类模型,如 PaLM API 的 Text Bison 模型,则不具备对话元素,其主要功能在于扩展或实现给定的输入文本,以生成文本。后一种 LLM 的一个显著优点在于其具备少样本学习能力。这意味着这种模型可以识别一小部分训练样本中出现的模式,然后将这些模式复制到新输入中。

在一项初步实验中,我们让 Lupe 提供更多关于其“同音异义短语”技巧的例子,然后将这些例子用来构建提示。提示是一种精心设计的字符串,旨在引导 LLM 按照特定的方式表现。我们针对“同音异义短语”任务最初设计的提示如下所示:

词语defeat
同音异义短语da feet意为”)
 
词语surprise
同音异义短语Sir Prize一位名叫 Prize 的骑士
 
词语expressway
同音异义短语express whey快速配送乳清
 
(…更多示例…)
 
词语[INPUT WORD]
同音异义短语

此提示有时会产生可接受的输出,但我们认为其仍有可提升空间。实际上,我们发现,除了示例的内容和数量之外,其他因素可能也会影响模型的输出,例如任务表述的方式、输入和输出的呈现形式等。经过多次迭代,我们最终确定了一个更优化的提示:

同音异义短语是指发音与另一个单词或短语相似的表达
 
 
单词defeat的一个同音异义短语是
 
da feetda feet意为”)
 
 
单词surprise的一个同音异义短语是
 
Sir Prize一位名叫 Prize 的骑士
 
 
单词expressway的一个同音异义短语是
 
express whey快速配送乳清
 
 
(…更多示例…)
 
 
单词[INPUT WORD]的一个同音异义短语是

在成功将“同音异义词”任务编码转化为少样本提示之后,我们与 Lupe 合作,发现了更多可能通过同样的少样本提示策略来完成的创造性任务。最终,我们设计了十个独特的提示,每一个都旨在探索从给定单词、短语或概念中可能产生的创造性可能:

SIMILE - 创建关于事物或概念的比喻。
EXPLODE - 将单词拆分成读音相似的短语。
UNEXPECT - 使场景变得更出人意料且富有想象力。
CHAIN - 构建一系列语义相关的项目。
POV - 通过不同视角评估主题。
ALLITERATION - 整理以特定字母开头的相关主题词汇。
ACRONYM - 使用单词的字母来创造首字母缩略词。
FUSE - 使用单词的字母来创造首字母缩略词。
SCENE - 使用单词的字母来创造首字母缩略词。
UNFOLD - 将单词插入到其他已存在的单词或短语中。

我们能够使用 MakerSuite 快速为每个想法构建原型。MakerSuite 是一个可让用户通过交互式界面轻松构建和试验 LLM 提示的平台。

我们是如何做到的:使用 PaLM API 进行构建

在我们最终确定了少样本提示之后,我们构建了一个应用来承载提示。我们决定将其命名为 TextFX,这个名字来源于这样一个理念:每个工具对输入文本都有不同的“效果”。就像声音特效对于声音的作用一样,只不过 TextFX 是针对文本的一种效果工具。

我们将提示保存为源代码中的字符串,并使用 PaLM API 将其发送到 Google 的 PaLM 2 模型,后者是 Google 的大型语言模型的入口点。

我们的所有提示都设计为以一个不完整的输入输出对结束。当用户提交输入时,我们会将这个输入附加到提示中,然后再将其发送给模型。模型会根据这个输入预测相应的输出。接着,我们从模型返回的响应中解析每个结果,并进行一些后期处理。最后在前端呈现输出结果。

lupe3

用户可以选择调整模型的温度。这是一个超参数,大致决定模型输出中允许的创新性程度。

亲自试一试

您可以访问 textfx.withgoogle.com 以亲自试用 TextFX。

我们还将所有 LLM 提示整合进了 MakerSuite。如果您有权访问 PaLM API 和 MakerSuite 的公开预览版,则可以使用以下链接创建自己的提示副本。如果您尚未获得上述权限,则可以在此加入等待名单

如果您想深入了解我们如何是构建 TextFX 的,点击此处了解源代码。

如果您想尝试使用 PaLM API 和 MakerSuite 进行构建,请在此处加入等待名单

结语

TextFX 是一个展示如何利用 PaLM API 进行试验并构建基于 Google 尖端大型语言模型的应用的例子。更广泛地说,这种探索体现了 AI 增强人类创造力的可能性。TextFX 专注于创意写作领域,但当 AI 以协作者身份进入其他创意领域时,会产生怎样的意义呢?创作者在帮助我们设想这些可能的合作形式方面发挥着关键作用。我们希望该 Lab Session 项目能让您窥见使用 PaLM API 所能实现的可能性,并鼓励您使用 Google 的 AI 产品将想法变为现实,无论您的专业领域是什么。

如果您想探索更多类似的 Lab Session 项目,请访问 labs.google.com