社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

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

夕小瑶科技说 • 1 年前 • 273 次点击  
 夕小瑶科技说 原创
 作者 | ZenMoore、Wangchunshu Zhou

前言

ChatGPT 是万能的吗?

显然不是,至少在今天我们所讨论的长文本生成上,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 会接受四个部分的输入:

  1. 上一个时刻的输出:
  2. 梗概(Plan):
  3. 短期记忆(Short-Term Memory):
  4. 长期记忆(Long-Term Memory):

ChatGPT 在生成内容的时候,会执行三种类型的操作:

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

具体的例子如下图所示:

在具体实现上,作者采用了如下图所示的 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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/155780
 
273 次点击