作者 | ZenMoore,Wangchunshu Zhou
前言
ChatGPT 是万能的吗?
显然不是,至少在今天我们所讨论的长文本生成上,ChatGPT 可以说是几乎完全不太可能生成长篇小说。
在某种程度上,这是 Transformer 模型的固有局限,因为 Transformer 核心组件 self-attention 的 O ( N 2 ) O(N^2) O(N2) 复杂度注定让它不能处理太长的输入,也因此不太适合产生太长的输出。
为了解决这个问题,很多研究试图将 RNN 的那种循环机制引入到 Transformer 里面,比如著名的Transformer-XL, Block-Recurrent Transformer.
然而,这些方法存在一个很关键的、又很现实的问题:需要修改模型架构,不兼容 ChatGPT 等闭源大模型,因为 ChatGPT 的模型参数、结构是不会公开给使用者的,我们能做的,仅仅是喂给它一些 Prompt.
正是因为这些大模型的闭源属性,导致我们在使用它们的时候,不得不以一整个模型作为最小单位,而无法进一步拆解模型内部的模块,将其修改以适配长文本生成的需要。
那么,在这种情况下,我们还怎么把循环机制引入到闭源大模型当中去呢?
今天讨论的这篇文章实现了一个绝妙的想法:仅用自然语言 Prompt,我们就可以模拟 LSTM 机制,而完全不需要修改 ChatGPT 的内部结构!
论文地址:
https://arxiv.org/abs/2305.13304
论文机构:
苏黎世联邦理工大学
项目地址:
https://github.com/aiwaves-cn/RecurrentGPT
在线Demo一:
https://www.aiwaves.org/recurrentgpt (长篇小说写作)
在线Demo二:
https://www.aiwaves.org/interactivefiction (交互式小说)
大模型研究测试传送门
ChatGPT能力研究传送门:
http://hujiaoai.cn
GPT-4能力研究传送门(遇浏览器警告点高级/继续访问即可):
https://gpt4test.com
基本原理
RecurrentGPT 的整体架构基于模型与其自身进行的交互(可参考文献 Interactive Natural Language Processing )。
如上图所示,在每个时间步上,ChatGPT 会接受四个部分的输入:
- 上一个时刻的输出: o t o_t ot
- 梗概(Plan): x t x_t xt
- 短期记忆(Short-Term Memory): h t h_t ht
- 长期记忆(Long-Term Memory): c t c_t ct
ChatGPT 在生成内容的时候,会执行三种类型的操作:
- 更新梗概:生成下一步的内容梗概,这个生成的梗概可能有多种备选参考,可以使用一个额外的“用户模拟器”对这些参考进行筛选,选出最合适的那个梗概;
- 更新短期记忆:记录最近生成的内容的摘要;
- 更新长期记忆:保存历史生成内容中与当前时间步最相关的内容
具体的例子如下图所示:
在具体实现上,作者采用了如下图所示的 Prompt:
作者们利用这个 Prompt 指示语言模型在更新短期记忆的时候,不仅新增最新生成内容中的有用部分,还要删除掉与之后内容生成无关的过往记忆。除此之外,作者在 Prompting 的过程中,也着重强调了小说写作场景的重现,以使 ChatGPT 生成的内容更具备像小说那样的细节,防止其快速地完成情节的叙述。
实验结果
作者们使用了人工逐对评测的方式:
在多种多样的小说风格、类型等方面,人类读者普遍认为 RecurrentGPT 的表现更具趣味性和连贯性。
实际效果
用法一:内容创作者输入场景设定和需求,RecurrentGPT 就可以自动产生长文本,而不需要人类过多的干预。
用法二:在生成梗概的时候,用户也可以对梗概进行选择或者编辑等操作,以控制长文本的生成过程。
用法三:类似于互动视频那样,RecurrentGPT 不仅可以服务于内容创作者,还能直接给内容消费者提供新的体验,作者称之为 “AI as Content”(“AI即内容”)。内容消费者不仅可以读小说,还能与小说直接进行互动,跳过内容创作者使用AI进行内容创作的步骤。
总结
本文介绍了一种名为 RecurrentGPT 的方法,通过使用自然语言的 Prompt,模拟了 LSTM 的循环机制,从而在闭源大模型(如 ChatGPT)中实现了长文本生成的能力,而无需修改模型的内部结构。RecurrentGPT 的整体架构基于模型与其自身的交互,通过更新梗概、短期记忆和长期记忆来生成内容。作者通过人工评测和实验结果展示了 RecurrentGPT 在多样的小说风格和类型方面的表现优势。实际应用中,RecurrentGPT 可用于自动产生长文本、让内容创作者选择或编辑梗概以控制生成过程,并可以为内容消费者直接提供互动式体验,将 AI 作为内容呈现给消费者。