ChatGPT能写长篇小说了,ETH提出RecurrentGPT实现交互式超长文本生成

news/2024/11/6 7:44:37/

来源:机器之心

机器之心编辑部

如今大型语言模型(如 ChatGPT)风靡全球,其最重要的应用之一就是辅助用户完成各种日常写作,如撰写电子邮件,创作博客文章,都能得到它的有力支持。但是目前包括 ChatGPT 在内的各种大语言模型在长内容创作领域,如小说,剧本,长篇文案等领域却显得力不从心。

近期,来自苏黎世联邦理工和波形智能的团队发布了 RecurrentGPT,一种让大语言模型 (如 ChatGPT 等) 能够模拟 RNN/LSTM,通过 Recurrent Prompting 来实现交互式超长文本生成,让利用 ChatGPT 进行长篇小说创作成为了可能。

2a8035ff1b260a8bc7cd082725bac537.gif

图 1 RecurrentGPT 使用示意图。

eede1f13aa5622729c9660bdf93e2c9e.png

  • 论文地址:https://arxiv.org/abs/2305.13304

  • 项目地址:https://github.com/aiwaves-cn/RecurrentGPT

  • 在线 Demo:https://www.aiwaves.org/recurrentgpt (长篇小说写作) https://www.aiwaves.org/interactivefiction (交互式小说)

基于 Transformer 的大语言模型最明显的限制之一就是输入和输出的长度限制。虽然输入端的长度限制可以通过 VectorDB 等方式缓解,输出内容的长度限制始终是限制 ChatGPT 等大语言模型广泛应用于长内容生成的关键障碍。为解决这一问题,过去很多研究试图使用基于向量化的 State 或 Memory 来让 Transformer 可以进行循环计算。这样的方法虽然在长文本建模上展现了一定的优势,但是却要求使用者拥有并可以修改模型的结构和参数,这在目前闭源模型遥遥领先的大语言模型时代中是不符合实际的。

RecurrentGPT 则另辟蹊径,是利用大语言模型进行交互式长文本生成的首个成功实践。它利用 ChatGPT 等大语言模型理解自然语言指令的能力,通过自然语言模拟了循环神经网络(RNNs)的循环计算机制。

如图 2 所示,在每一个时间步中,RecurrentGPT 会接收上一个时间步生成的内容、最近生成内容的摘要(短期记忆),历史生成内容中和当前时间步最相关的内容 (长期记忆),以及一个对下一步生成内容的梗概。RecurrentGPT 根据这些内容生成一段内容,更新其长短时记忆,并最后生成几个对下一个时间步中生成内容的规划,并将当前时间步的输出作为下一个时间步的输入。这样的循环计算机制打破了常规Transformer 模型在生成长篇文本方面的限制,从而实现任意长度文本的生成,而不遗忘过去的信息。

5d1eda4ab3eb8f675adfefd9208e68ea.png

图 2 RecurrentGPT 基本结构示意。

具体来讲。作者们设计了如图 2 所示的 prompt 去指导和规范循环的生成:

e00de8b79f5391d34ead811486add346.png

图 3: RecurrentGPT Prompt 设计。

首先指明任务,比如写小说,并说明在输入部分会给出的内容:上一步生成的段落(图中 Ot-1)、当前维持的近期生成内容的摘要,即短期记忆(图中 ht-1),所有生成内容中和当前时间步相关程度最高的几个段落,即短期记忆(图中 ct-1),以及对接下来生成内容的规划(图中 xt-1)。

接着在 prompt 中给 ChatGPT 提出要求:首先基于当前的输入生成一个新的段落,接着对维护的短期记忆进行修改,同时在对短期记忆修改时作者们指示大语言模型首先分析短期记忆中哪些内容对于后续创作不再重要以及新生成的内容中哪些会对后续生成有所影响,之后相应地在地短期记忆库中去去除无用的信息并增添新的信息,从而保持短期记忆不会因为迭代的轮数增加而变得过长。最后要求 ChatGPT 基于当前的情节铺设,给出三个逻辑顺承又有趣的新的情节的规划。

在提出要求后,作者在结尾再次精心设计了 prompt 来规范 ChatGPT 的输出,并重申了当前小说写作的情景。这个好处是让 ChatGPT 生成的内容更具备像小说那样的细节,而不是在每一轮的迭代中,快速地完成情节的叙述。

49f7e372d376f364217bcc1e117dcbd1.png

图 4 RecurrentGPT Demo

在实际使用中,内容创作者只需先选择一个主题,然后简单地描述一下要生成的内容的背景设定和大纲,剩下的工作就可以交给 RecurrentGPT。每一个它将自动生成第一段,并提供几个可能的选项(plan)供创作者继续写故事。创作者可以选择一个选项、对某个选项进行修改或者自己编辑一个新的选项。这个流程能显著提高内容创作者的效率。

这个新的长文本生成范式将带给所有内容创作者和读者一种全新的体验。首先,相比现有的方法,RecurrentGPT 有更强的可解释性,因为用户可以观察和编辑自然语言记忆,这使得用户可以更清晰地理解这个框架是如何工作的。其次,用户可以直接影响生成内容的方向,让整个写作过程变得更加有趣。

除了作为 AI 内容生成 (AIGC) 的工具以外,RecurrentGPT 可以直接作为交互式小说,直接与消费者互动,跳过了内容创作者使用 AI 进行内容创作的步骤。这让消费者的体验更直接有趣,并且带来更丰富的可能性。作者们将这样的生成式 AI 的使用范式称之为 (AI as Content, AIAC), 也就是 “AI 即内容”。而 RecurrentGPT 则是通往这个范式的第一步。

在实验中,作者们将 RecurrentGPT 与之前的 SoTA 长文本生成方法,在统一使用 ChatGPT 作为基座模型的情况下,在长文本(6000 单词)和较长文本(3000 单词)的设定下进行 pair-wise 的人工比较。

6a2e60e82b02a776b6c284e252d73c82.png

图 5 RecurrentGPT 实验结果。

在上述一系列测试中,RecurrentGPT 无论是在科幻、浪漫、幻想、恐怖、神秘还是惊悚小说的生成上,都被人类读者认为更有趣和连贯。

总结

研究人员提出了 RecurrentGPT,用基于自然语言的组件取代了 RNN 中向量化的结构,并且用基于自然语言的 Prompt 模拟了 RNN 的循环计算图,从而实现 Recurrent Prompting,让 ChatGPT 等大语言模型模拟 RNN 的循环计算机制,生成有趣并连贯的长内容。

该项目已经在 GitHub 上开源,并提供了基于 Gradio 的网页 UI,方便每一个用户去使用和调教自己的长内容创作助手。

END

bb5b581832bfb2e506f29eebbe8cfa6c.png

分享

收藏

点赞

在看

73f64ccc3a1140f9af19b6c8a5db97cf.gif


http://www.ppmy.cn/news/950964.html

相关文章

【数据结构】时间复杂度---OJ练习题

目录 🌴时间复杂度练习 📌面试题--->消失的数字 题目描述 题目链接:面试题 17.04. 消失的数字 🌴解题思路 📌思路1: malloc函数用法 📌思路2: 📌思路3&…

奖牌数领跑是为何?解码长沙华中医卫科技中等职业学校的国防教育成功之道

近些年,越来越多的学生、家长、企业开始重新审视职业教育的价值。在产教融合的大背景下,职业教育已经成为了高新产业发展的人才引擎,职业教育的教学模式、软硬件配置乃至未来毕业生的就业情况,已完全变了模样。 实际上&#xff0…

python实现chatgpt本地部署

可以使用Python来实现ChatGPT的本地部署,可以参考OpenAI官方文档中提供的步骤:https://github.com/openai/gpt-2/blob/master/src/interactive_conditional_samples.py

一键部署 ChatGPT Next Web

大家好!我是韩老师。 Awesome GPT 来了! 相信关注过 Awesome GPT repo 的童鞋们,都已经知道 ChatGPT Next Web 是一个强大的 ChatGPT Web 应用。 今天看到一位微软 MVP 大佬写了个文章,带大家 3 分钟把 ChatGPT Next Web 部署到 A…

开源 chatgpt 项目私有化部署

最新内容以及更好的阅读体验可查看我的博客原文 我整理了一些当前比较流行且 UI 还不错的开源 ChatGPT 项目,方便大家快速搭建属于自己的 ChatGPT,大部分都支持 Vercel 部署,可以直接使用 Vercel 的免费服务。有一部分项目是包括后端代码的所…

不会写代码,也能部署一个独立ChatGPT?

本教程使用GPT-3模型接口模拟ChatGPT项目,虽然与真正的ChatGPT存在差异,但是演示了ChatGPT的工作原理。 (ChatGPT服务是基于GPT-3模型,经过大量的微调训练而来的,本教程暂时不包含训练内容,之后我们会讲如…

本地部署你的专属ChatGPT,不用想方设法翻墙了

自ChatGPT问世以来,由于安全问题ChatGTP始终没有在国内提供服务,那访问ChatGTP有条件的就通过专线到国外进行访问,没条件的但喜欢折腾的可以通过各种野路子科学上网,没条件不喜欢折腾的听听就行。 无意间在gitHub上发现了一个开源…

Chatgpt私有化部署(全流程)

前言 当下使用chatgpt来帮助完成工作已然成为主流,但想访问必须先面对地区的封锁,所以使用openai官方提供的API来部署至本地服务器从而更加便利的使用chatgpt。本文章主要介绍如何部署私有聊天机器人。 条件准备: 公网服务器一台&#xff0…