大数据文摘授权转载自夕小瑶科技说
作者:ZenMoore、Wangchunshu Zhou
显然不是,至少在今天我们所讨论的长文本生成上,ChatGPT 可以说是几乎完全不太可能生成长篇小说。
在某种程度上,这是 Transformer 模型的固有局限,因为 Transformer 核心组件 self-attention 的 复杂度注定让它不能处理太长的输入,也因此不太适合产生太长的输出。为了解决这个问题,很多研究试图将 RNN 的那种循环机制引入到 Transformer 里面,比如著名的Transformer-XL[1], Block-Recurrent Transformer[2].然而,这些方法存在一个很关键的、又很现实的问题:需要修改模型架构,不兼容 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 (交互式小说)RecurrentGPT 的整体架构基于模型与其自身进行的交互(可参考文献 Interactive Natural Language Processing[3] )。如上图所示,在每个时间步上,ChatGPT 会接受四个部分的输入:
长期记忆(Long-Term Memory):
ChatGPT 在生成内容的时候,会执行三种类型的操作:- 更新梗概:生成下一步的内容梗概,这个生成的梗概可能有多种备选参考,可以使用一个额外的“用户模拟器”对这些参考进行筛选,选出最合适的那个梗概;
- 更新长期记忆:保存历史生成内容中与当前时间步最相关的内容
在具体实现上,作者采用了如下图所示的 Prompt:▲RecurrentGPT 使用的具体 Prompt作者们利用这个 Prompt 指示语言模型在更新短期记忆的时候,不仅新增最新生成内容中的有用部分,还要删除掉与之后内容生成无关的过往记忆。
除此之外,作者在 Prompting 的过程中,也着重强调了小说写作场景的重现,以使 ChatGPT 生成的内容更具备像小说那样的细节,防止其快速地完成情节的叙述。
在多种多样的小说风格、类型等方面,人类读者普遍认为 RecurrentGPT 的表现更具趣味性和连贯性。
用法一:内容创作者输入场景设定和需求,RecurrentGPT 就可以自动产生长文本,而不需要人类过多的干预。用法二:在生成梗概的时候,用户也可以对梗概进行选择或者编辑等操作,以控制长文本的生成过程。用法三:类似于互动视频那样,RecurrentGPT 不仅可以服务于内容创作者,还能直接给内容消费者提供新的体验,作者称之为 "AI as Content"("AI即内容")。内容消费者不仅可以读小说,还能与小说直接进行互动,跳过内容创作者使用AI进行内容创作的步骤。本文介绍了一种名为 RecurrentGPT 的方法,通过使用自然语言的 Prompt,模拟了 LSTM 的循环机制,从而在闭源大模型(如 ChatGPT)中实现了长文本生成的能力,而无需修改模型的内部结构。
RecurrentGPT 的整体架构基于模型与其自身的交互,通过更新梗概、短期记忆和长期记忆来生成内容。作者通过人工评测和实验结果展示了 RecurrentGPT 在多样的小说风格和类型方面的表现优势。实际应用中,RecurrentGPT 可用于自动产生长文本、让内容创作者选择或编辑梗概以控制生成过程,并可以为内容消费者直接提供互动式体验,将 AI 作为内容呈现给消费者。参考资料
[1]Transformer-XL: https://arxiv.org/pdf/1901.02860.pdf[2]Block-Recurrent Transformer: https://arxiv.org/abs/2203.07852[3]Interactive Natural Language Processing: https://arxiv.org/abs/2305.13246