仅用自然语言,让ChatGPT输出连贯的长篇小说!苏黎世联邦理工大学提出RecurrentGPT

推荐使用ChatGPT4.0中文网,国内可直接访问:www.chatgp4.com

前言

ChatGPT 是万能的吗?

显然不是,至少在今天我们讨论的长文本生成方面,ChatGPT 几乎不可能生成长篇小说。

这一现象在某种程度上源于 Transformer 模型的固有局限性。其核心组件 self-attention 的复杂度决定了其无法处理过长的输入,因此也不太适合生成冗长的输出。

为了解决这个问题,许多研究试图将循环机制(RNN)引入 Transformer,如著名的 Transformer-XL 和 Block-Recurrent Transformer。然而,这些方法面临一个关键而现实的问题:它们需要修改模型的架构,这与像 ChatGPT 这样闭源的大模型不兼容。由于 ChatGPT 的模型参数和结构并不对外公开,因此我们只能通过提供提示(Prompt)来与之交互。

正因为这些大模型的闭源属性,使得我们在使用它们时,不得不把整个模型作为最小单元,无法拆解内部模块以满足长文本生成的需求。

在这种情况下,我们该如何将循环机制引入到闭源大模型中呢?

今天讨论的文章实现了一个巧妙的想法:仅通过自然语言 Prompt,我们即可模拟 LSTM 机制,无需对 ChatGPT 的内部结构进行任何修改!

论文地址:
RecurrentGPT 论文

出版机构:
苏黎世联邦理工大学

项目地址:
RecurrentGPT GitHub

在线 Demo 一:
长篇小说写作

在线 Demo 二:
交互式小说

基本原理

RecurrentGPT 的整体架构基于模型之间的互动(可参考文献Interactive Natural Language Processing)。在每个时间步上,ChatGPT 接受四种输入:

  • 上一个时刻的输出
  • 梗概(Plan)
  • 短期记忆(Short-Term Memory)
  • 长期记忆(Long-Term Memory)

在生成内容的过程中,ChatGPT 执行三种类型的操作:

  1. 更新梗概:生成下一步内容的梗概,可能有多个备选参考。可以使用一个额外的“用户模拟器”来筛选出最合适的梗概。
  2. 更新短期记忆:记录最近生成内容的摘要。
  3. 更新长期记忆:保存历史生成内容中与当前时间步最相关的信息。

例如,如下图所示,展示了具体的一种实现方式:

在具体的实现中,作者采用了如下的 Prompt:

  • RecurrentGPT 使用的具体 Prompt

作者通过这个 Prompt 指示语言模型在更新短期记忆时,不仅需要加入最新生成内容中的有用部分,还要删除与后续内容生成无关的过往记忆。此外,作者在 Prompt 中特别强调了小说写作场景的复现,以使 ChatGPT 生成的内容更具小说风格与细节,避免其过快完成情节叙述。

实验结果

作者通过人工逐对评测得出了以下结果:

在多样的小说风格和类型方面,人类读者普遍认为 RecurrentGPT 的表现更具趣味性与连贯性。

实际效果

  • 用法一:内容创作者输入场景设定和需求,RecurrentGPT 可自动生成长文本,而无需过多的人为干预。
  • 用法二:在生成梗概的过程中,用户可以对梗概进行选择或编辑,从而控制长文本的生成过程。
  • 用法三:除了支持内容创作者外,RecurrentGPT 还为内容消费者提供新的互动体验,作者称之为 “AI as Content”(”AI即内容”)。内容消费者不仅可以阅读小说,还能够与小说进行互动,跳过内容创作者使用 AI 进行内容创作的步骤。

总结

本文介绍了一种名为 RecurrentGPT 的方法,通过使用自然语言的 Prompt 模拟了 LSTM 的循环机制,从而在闭源大模型(如 ChatGPT)中实现了长文本生成的能力,且无需修改模型的内部结构。RecurrentGPT 的整体架构基于模型与自身的交互,通过更新梗概、短期记忆和长期记忆生成内容。作者通过人工评测和实验结果展示了 RecurrentGPT 在多样的小说风格和类型中的表现优势。在实际应用方面,RecurrentGPT 可以自动生成长文本,让内容创作者选择或编辑梗概以控制生成过程,并为内容消费者提供互动式体验,使 AI 成为内容的一部分。

滚动至顶部