CoSER:基于LLM的角色扮演AI框架,最大数据集、SoTA模型与深入评估

CoSER框架,包含最大真实角色数据集、SoTA模型和深入评估方法,助力LLM角色扮演AI。代码、数据和模型已开源。

原文标题:大模型怎么做好角色扮演?最大的真实数据集、SoTA开源模型、最深入的评估在这里

原文作者:机器之心

冷月清谈:

复旦大学和阶跃星辰联合发布了CoSER,一个用于构建和评估角色扮演AI的完整框架。该框架包含迄今为止最大的真实角色数据集,数据来源于771本知名文学作品,包含17,966个角色和29,798段真实对话,强调数据的真实性、全面性和多维表达。CoSER还引入了给定情境表演(GCA)方法,用于训练和评估LLM的角色扮演能力。GCA方法通过多智能体模拟和基于惩罚的LLM评判来全面评估模型的多轮、多角色扮演能力。实验结果表明,CoSER模型在角色扮演评估和对话一致性方面表现出色,并在多个基准测试中取得了优异成绩。CoSER项目已开源代码、数据集和模型,旨在促进角色扮演AI的研究和应用。

怜星夜思:

1、CoSER数据集强调数据的真实性,从文学作品中提取对话,而不是用LLM生成。你认为这种真实性对于训练高质量的角色扮演AI有多重要?如果让你来构建数据集,除了已有的数据类型之外,你还会考虑加入哪些信息来提升模型的角色理解和模拟能力?
2、CoSER引入了“给定情境表演”(GCA)方法,从斯坦尼斯拉夫斯基的表演理论中获得灵感。你认为这种借鉴表演理论的方法,对于AI角色扮演领域有哪些启发?除了GCA,你还能想到哪些其他领域的理论或方法,可以应用于提升AI的角色扮演能力?
3、CoSER在评估时使用了“基于惩罚的LLM评判”,让LLM扮演评判者来评估角色扮演的质量。你认为这种方法有哪些优势和局限性?如果让你设计评估方案,你会考虑哪些不同的评估指标和方法,来更全面地衡量AI角色扮演的水平?

原文内容


王鑫涛,复旦大学博士生,师从肖仰华、汪卫教授,致力于探索用AI创造具有人格的数字生命。研究方向聚焦大语言模型与Agent技术,在AI角色扮演领域发表多篇ACL/EMNLP论文,以及该领域首篇研究综述,总计引用量三百余次。他的研究寻求AI技术与人类情感需求的结合。科研之外,他是一位二次元爱好者、业余Coser。该研究完成于他在阶跃星辰实习期间,指导者为王亨老师。


  • 论文标题:CoSER: Coordinating LLM-Based Persona Simulation of Established Roles
  • 论文链接:https://arxiv.org/abs/2502.09082

角色扮演 AI(Role-Playing Language Agents,RPLAs)作为大语言模型(LLM)的重要应用,近年来获得了广泛关注。无论是用于情感陪伴、故事创作、游戏中的 AI 角色,还是真人的数字分身,都需要模型能够准确捕捉和模拟特定角色的设定、个性和行为模式。特别是当扮演小说、动漫中的知名角色时,模型需要获取并利用关于这些角色的大量知识。然而,现有的角色扮演 AI 面临两大核心挑战:缺乏高质量的真实角色数据集,以及缺少有效的评估方法。

为解决这些问题,复旦大学和阶跃星辰合作发表了一篇工作,CoSER(Coordinating LLM-Based Persona Simulation of Established Roles),一个包含当下最大的真实数据集、SoTA 开源模型和最深入的评估方法的完整框架,用于高效构建和评估角色扮演 AI。本文的代码、数据集和模型已在 Github 和 Huggingface 上开源,用于促进角色扮演 AI 在研究和应用中的发展。

  • CoSER 8B: https://huggingface.co/Neph0s/CoSER-Llama-3.1-8B
  • CoSER 70B: https://huggingface.co/Neph0s/CoSER-Llama-3.1-70B
  • CoSER Dataset: https://huggingface.co/datasets/Neph0s/CoSER
  • CoSER Code: https://github.com/Neph0s/COSER
  • See and Chat with Your Favorite Book Characters: https://ch.rhineai.com/characters

CoSER Dataset
最大、最真实、最丰富的角色扮演数据


从世界最知名的 771 本书中,本文构建了 CoSER Dataset,迄今为止最大、最真实、最丰富的角色扮演数据集,包含:

  • 来自 771 本知名文学作品的 17,966 个角色
  • 29,798 段书中的真实对话,而非由大模型生成
  • 全面的数据类型:角色概述、对话(包含详细的上下文情景)、关键剧情的摘要和角色经历和等
  • 语言、动作和想法:除了语言的对白,对话中还包括角色的动作和想法。


上图将 CoSER Dataset 与之前的数据集进行了比较。概括来说,CoSER 的独特之处在于:

1. 真实性:不同于此前数据集中大量使用的 LLM 生成的角色问答对,CoSER 数据集从经典文学作品中提取真实角色对话,在忠实刻画角色的同时,保留了真实对话的复杂性,是天然的多轮、多角色的优质对话数据。

2. 全面性:CoSER 数据集不仅包含角色概述和对话,还包括剧情摘要、角色经历和对话背景等丰富内容。详细的对话背景在角色扮演的训练和评估中非常重要,而剧情摘要、角色经历提供了更丰富的角色知识。

3. 多维表达:对话内容涵盖语言(speech)、动作(action)和想法(thought)三个维度,使角色表现更为立体。其中,想法数据能帮助模型在训练中更好地理解角色的行为和语言。

4. 环境作为特殊角色:将环境视为特殊角色,扩展了角色对话能表达的信息,使对话数据可以表示书中的环境反馈、大众角色反应等信息。

Given-Circumstance Acting
角色扮演的训练与评估方法


本文引入了给定情境表演(Given-Circumstance Acting,GCA)方法用于训练和评估 LLM 的角色扮演能力,这一方法受到了《演员的自我修养》的作者 - 斯坦尼斯拉夫斯基 - 的表演理论的启发。

在训练阶段,给定一段对话及其上下文情景,本文让模型每次扮演对话中的一个角色,并在相应的台词上进行训练。基于这一方法,本文训练了 CoSER 8B 和 CoSER 70B 两个模型,它们基于 LLaMA-3.1 构建,展现了真实、生动的角色表现能力,并在多项角色扮演评估上取得 SoTA 成绩。

在评估阶段,GCA 评估由两个步骤组成:

1. 多智能体模拟(Multi-agent Simulation):构建一个多智能体系统,让被评估模型依次扮演不同角色,在给定情境下进行模拟,获得一段由多个角色 AI 交互生成的对话。

2. 基于惩罚的 LLM 评判(Penalty-based LLM Juding):让 LLM 扮演评判者,使用详细评分标准(rubrics)和原始对话作为参考,按照 “采点扣分制” 识别明确的表演缺陷来评估模拟对话的质量。下图展示了 “人物忠实度” 维度的扣分标准:


本文将评估维度按照 1. 关注自身质量 or 关注忠于原作;2. 关注单一角色 or 关注整体模拟,分成了以下四个维度。


GCA 评估方法的优势在于:1. 通过多智能体模拟,全面反映模型的多轮、多角色的扮演能力;2. 基于原著中的真实对话作为 Groundtruth,并提供专家级评分标准指导 LLM 评判者。

关键实验与结论


在本文提出的 GCA 评估中,CoSER-70B、GPT-4o、Step-2、Doubao-pro 取得了最好的表现,其中,CoSER-70B 的表现远超其他开源模型。进一步,本文在实验中还汇报了 BLEU、ROUGE-L 等指标来比较模型生成对话与 Groundtruth 对话的一致性,在这一指标上 CoSER-70B 超过了所有的现有模型。


在 InCharacter、LifeChoice 等基于分类和多选题的角色扮演基准测试上,CoSER 模型也取得了优秀的表现。其中,CoSER-70B 在 InCharacter 和 LifeChoice 基准测试上分别达到了 75.80% 和 93.47% 的准确率,超越或匹配 GPT-4o。
 
在论文中,作者还进行了其他实验,证明了想法数据在训练 / 推理阶段的重要性、将 CoSER 数据用于检索增强(RAG)的有效性等结论,感兴趣的读者可以在论文原文中找到相应的实验。

Case Study

最后,下图列出了 CoSER 测试集中的一个例子(出自《权力的游戏》),包括其中的对话场景、Groundtruth 对话及 CoSER-70B 生成的结果。在这个例子中,我们看到,CoSER-70B 不仅将角色的背景、性格模仿得活灵活现,还用上了原作的角色的经典台词(不在数据中出现),体现了 CoSER 模型在扮演小说角色时的优秀表现。



© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:liyazhou@jiqizhixin.com

GCA的亮点在于不仅仅只关注AI单次回答的内容是否符合人设,还会通过多轮对话来检测人设的统一性,给我的启发很大。我感觉历史学研究也可以借鉴,主要研究角色的生平,把时间线拉长,研究角色在不同时期的行为,这样AI在扮演角色时应该会更加饱满,而不是只有当下的设定。

我觉得真实性是基础,但不能完全迷信真实数据。LLM模型更需要的是高质量的数据来让他学习,而不是所有的数据,不然只会噪音更多,CoSER提供的思路非常好,但我觉得依然有优化的空间,如果让我来做的话,我会在保证主要数据来源是真实数据的前提下,加入部分LLM生成的数据,但我会要求模型生成多种不同可能性的回答,丰富角色的行为选择,而不是现在这样,只有一个标准答案。

GCA这个思路太妙了!这说明AI的研究不能只局限于技术本身,多学科交叉才能带来突破。我觉得心理学中的人格理论,比如大五人格模型,可以用来更精细地刻画角色性格,让AI的扮演更具深度。

数据的真实性是根本,就好像画画的素材,巧妇难为无米之炊。如果让我来补充,我会加入角色的背景故事,比如童年经历、家庭关系等等,这些信息对于理解角色的行为模式至关重要!

基于惩罚的LLM评估是一个亮点,相当于给LLM评估也制定了标准,但是标准是否合理有待考量。个人感觉可以引入专家评估,比如找研究文学的教授,研究表演的老师,从专业角度给AI的表现打分,就是成本可能会比较高。

真实性至关重要!LLM生成的数据容易有偏差,而从文学作品中提取的对话保留了人类真实交流的复杂性和微妙之处。如果我来构建数据集,我会加入角色的内心独白和与其他角色的关系网络,帮助模型更深入地理解角色动机。

感觉CoSER的这套评估还是太学院派了,不够接地气。我觉得可以引入用户反馈,让用户来评价AI的角色扮演是否有趣、是否符合他们的期望。用户才是最终的裁判嘛!还可以考虑像AB测试那样,对比不同模型的表现。

让LLM来评判LLM,感觉有点像自己给自己打分哈哈。优势是效率高、成本低,但局限性也很明显,LLM可能会有自己的偏见,标准不够客观。如果我来设计,我会加入人工评估,并引入更多维度,比如情感表达的丰富度、逻辑的自洽性等等,不能只看像不像,还要看演得好不好。

表演理论强调体验和理解角色,这和AI需要理解角色设定是一致的。我觉得可以借鉴游戏设计中的角色扮演机制,比如善恶值、声望系统等,让AI的行为更有目标感和反馈,这样应该能更智能吧,纯属瞎猜,哈哈。