凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

让 AI 模拟一定人物谈天是 ChatGPT 类大言语模型的一个常见玩法,有些公司还开发了专门的 APP,如 character.ai。在国内,一个名叫「Chat 凉宫春日」的项目充分地满足了这种需求。

凉宫春日是谷川流创作的《凉宫春日系列》轻小说及其衍生作品的女主角,设定为高中生。虽然项目名字里只有「凉宫春日」,但「Chat 凉宫春日」可以模拟的人物达到了 32 个,包括李云龙(《亮剑》男主角)、哈利・波特、张牧之(电影《让子弹飞》男主角)、Sheldon(美剧《生活大爆炸》男主角)等等。在谈天时,这个模型不仅可以模拟这些人物的语气、个性,还能充分结合剧情。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

「Chat凉宫春日」是由李鲁鲁、冷子昂、陈启源发起的Luotuo(骆驼)的子项目之一,在魔搭社区主办的Create@AI黑客马拉松大赛中获得二等奖(top3)。我们可以在B站上看到他们的项目介绍视频。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

视频链接:https://www.bilibili.com/video/BV1Xh411A7kC/?vd_source=12c1d661b492e88e254fc63d0a861962

近期,项目作家还发布了零碎的技术报告,这份报告介绍了他们打造「Chat 凉宫春日」的过程以及一个支持 32 个人物的 54k 对话数据集的制作过程。同时,他们也在 HuggingFace 上发布了他们的数据集。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

技术报告链接:https://arxiv.org/pdf/2308.09597.pdf

GitHub 链接:https://github.com/LC1332/Chat-Haruhi-Suzumiya

数据集链接:https://huggingface.co/datasets/silk-road/ChatHaruhi-54K-Role-Playing-Dialogue

项目作家之一冷子昂表示,「除了项目本身之外,我们的贡献者除了我和鲁鲁都是从社区拉起来的队伍,是一个众人拾柴火焰高的事情,后面我们还会持续做更多的内容和尝试,希望社区的小伙伴可以一起支持我们。」

本项目采用 Apache 2.0 协议,也就是说,你可以利用项目中的代码从事商用。但是你仍然需要遵守以下事项:1. 脚色本身的版权方的协议;2. 项目中应用的接口方,比如 OpenAI 的协议;3. 项目中应用的模型的协议(比如如果后期采用了 LlaMA 或者 GLM 的模型。)

以下是项目的大体内容。

让 AI 扮演一定脚色有一定难度

用 AI 模型从事脚色扮演在游戏、创意产业等许多领域具有潜在的应用前景。

在开源脚色扮演的实现中,开发者或用户已经采用了类似的 Prompt,将它们持续输入到 ChatGPT 或者作为 system whisper 接入到言语模型中:

I want you to act like {character} from {series}. I want you to respond and answer like {character} using the tone, manner and vocabulary {character}  would use. Do not write any explanations. Only answer like {character}. You must know all of the knowledge of {character}. My first sentence is "Hi {character}." 

因为 ChatGPT 或 Claude 在训练的时候已经阅读过很多故事,再加上更大的言语模型所表现的「智能」行为。用户们发现模型往往能在这样的 prompt 下表现出一定的脚色扮演能力。然而,这样的实现虽然简单,却有以下缺点: 

这样的 prompt 应用高度依赖大言语模型本来的影象。如果大言语模型对于脚色的影象本身是模糊的,则无法模拟一定的脚色。 

这里的「know all of the knowledge of {character} 」的定义也是模糊的,无法很好地防御大言语模型幻觉效应的产生。 

即使是应用这样的 prompt,谈天机器人的对话风格还是会很大程度受到言语模型的影响,调整 prompt 或许能够缓解这样的问题,但是每一个一定的脚色都要非常精细地调整 prompt。 

这些缺点明显限制了这种脚色扮演谈天机器人的应用。

另一种简单的思路是将脚色对话微调到模型中,作家发现不少开发者从事了这样的尝试。在拥有足够多的语料下,言语模型确实有能力掌握一个一定脚色的语气,但是这样也会带来新的问题。在一个初步的实验中,他们发现微调后的 ChatBot 会产生更多的幻觉效果。并且对于大量的非主角脚色,很难形成如此多的语料对模型从事微调。综上所述,让言语模型更好地从事脚色扮演,模拟输出脚色的经典台词是个非琐碎的问题。

模拟一定脚色的大体思路

「Chat 凉宫春日」项目的主要目标是研究自然言语模型能否在对话中扮演来自动漫、影视作品的真实脚色。在这个过程中,作家认为一个虚拟脚色由三个核心部分构成:

第一,知识与背景:每个虚拟人物都有自己所处在的背景,比如凉宫春日处在一个日本的高中里。所以 ChatBot 需要了解对应故事的设定。这对于大型言语模型的影象能力是较大的考验,需要通过外部知识库的引入去解决。

第二,人格或品格:人格和品格的设定在整部作品中需要是一致的,所以作家希望 ChatBot 所反应的人格和品格,与作品原来的设定也是一致的。

第三,言语习惯:这一点是最容易从事模拟的,只要在大型言语模型上下文中给出合适的例子,言语模型往往会从事模拟输出。作家希望这样的文学影视作品的爱好者与 ChatBot 互动时,能够「复现」文学影视作品的经典桥段,这样会让这些作品的爱好者获得更好的体验。

「Chat 凉宫春日」项目的关键想法,是抽取尽可能多的原剧本,形成脚色的影象数据库。在用户给出新的提问时,零碎会搜索相关的经典剧情,并且结合人物设定的 prompt,去组合控制言语模型,争取对脚色形成更精确的模拟。同时,受到 CAMEL 和 Baize 项目的启发,作家设计了一套自动对话语料生成的零碎,对于品格鲜明,但是原本对话较少的脚色,他们可以进一步生成符合脚色品格设定的语料。这样就可以生成充分的语料使得微调一个本地的模型成为可能。

完整的开发计划如下图所示:

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

项目的主要贡献可以概括为以下几点:

1、基于大型的言语模型,作家提出了一套完整的脚色扮演的算法零碎。这套算法可以有效地组织脚色的过往影象,使得言语模型能够模拟一定影视、动漫脚色的语气和知识从事对话。这套零碎可以应用 OpenAI 的 ChatGPT 或者 Claude 这样的预训练大模型,也可以应用较小的 7B 规模的本地模型。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

作家提出的算法在扮演凉宫春日,注意用户的提问和原来的剧情相关但不是完全一致,而「Chat 凉宫春日」的回答基本可以引用原剧情。

2、作家提出了一个脚色扮演的数据集,这个数据集包括了超过 30 个不同的中文 / 英文影视脚色。通过收集电影、小说、剧本的语料,并从事结构化的抽取,他们收集了超过 23000 条以上的对话信息。这些对话数据可以用来训练和检验脚色扮演的言语模型。同时,应用作家提出的算法,借助 GPT3 和 GPT4,他们为这些脚色额外模拟生成了超过 27000 条以上的对话。合并形成了 ChatHaruhi-54k 数据集。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

3、为了检验和比较不同方式形成的脚色扮演 ChatBot 的性能,他们应用自动测评和人工测评两个方式对脚色扮演机器人从事了测评(部分测评结果还未公布)。在自动测评中,他们测试脚色是否能够对剧本中的经典的剧情从事响应,给出和原剧本近似的回答。在人工测评中,他们提出了两个不同的指标,让被试去评估两个不同的指标:吻合度:机器人的回答是否符合脚色的原来设定;回答质量:机器人的回答的言语质量是否较好。结果发现,在应用同样的基础言语模型的情况下,他们的算法可以给出更好的脚色扮演的性能。

下图是「Chat 凉宫春日」的核心对话零碎示意图,包含 system prompt、为用户查询 q 检索到的脚色影象 D (q, R) 以及规划历史 H。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

下图是项目数据集中涉及的脚色数据列表:

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

在实验中,作家定性比较了 5 个方案。可以看到,在加入经典对话以及修正 system prompt 之后,应用 ChatGPT 等模型可以有效的使谈天机器人体现一定人物的对话风格。同时,经过微调的 7B 模型也可以有效的将整个零碎的 prompt 学习到。

凉宫春日、李云龙等32个人物都能扮演,这个谈天机器人很懂剧情,代码可商用

更多细节请参见原报告:https://github.com/LC1332/Chat-Haruhi-Suzumiya/blob/main/notebook/arxiv_paper.md

给TA打赏
共{{data.count}}人
人已打赏
AI

首款大模型杀进C-Eval榜单前三,这家仅成立两个月的始创公司凭什么?

2023-8-24 14:31:00

AI

Midjourney 迎来最强对手,种子轮融资大佬云集,测试版让马斯克一「键」穿越

2023-8-24 17:35:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索