论文阅读 Large Language Models are Superpositions of All Characters

Large Language Models are Superpositions of All Characters: Attaining Arbitrary Role-play via Self-Alignment

总结

这篇论文介绍了一种名为DITTO的自我对齐方法,用于增强大型语言模型(LLMs)的角色扮演能力。DITTO的核心思想是利用LLMs在预训练过程中学习到的丰富角色知识和对话风格,通过自我对齐来激发其内在的角色扮演能力。

DITTO的主要步骤包括

  1. 角色知识收集: 从维基数据等开放知识库中收集大量角色的资料和简介。
  2. 对话模拟: 利用LLM生成与角色相关的查询和对比查询,并生成相应的回答,构建角色扮演训练数据集。
  3. 监督微调: 使用生成的数据集对LLM进行微调,使其能够更好地模拟特定角色的对话风格和知识。

DITTO的优势

  • 可扩展性强: 可以轻松扩展到更多角色和语言。
  • 灵活性强: 可以与任何具备指令跟随能力的LLM结合使用。
  • 无需依赖专有模型: 无需从更强大的角色扮演模型中提取输出,避免了版权和事实性等问题。

论文还提出了一个客观的角色扮演评估方法,重点关注以下三个方面

  • 角色身份一致性: 模型是否能够在多轮对话中保持一致的角色身份。
  • 角色相关知识准确性: 模型是否能够提供准确的角色相关知识。
  • 认知边界: 模型是否能够拒绝超出角色认知范围的问题。

实验结果表明,DITTO在各种规模的LLMs上都取得了显著的效果,甚至超过了专有LLMs的性能

此外,论文还通过交叉监督实验分析了角色扮演能力的分解,发现

  • 角色身份一致性可以通过模仿学习轻松获得,即使监督质量较差
  • 角色相关知识受到LLM内在能力的限制,使用更强大的LLM进行监督可能只会带来轻微的改进
  • 在知识相关指标上存在弱到强的泛化现象,即使用较弱的监督模型也能获得较强的角色扮演能力

总而言之,DITTO为增强LLMs的角色扮演能力提供了一种有效且可扩展的方法,并为理解LLMs的角色扮演能力提供了新的见解

论文是怎么评估角色身份一致性的?

论文中评估角色身份一致性的方法是将角色扮演对话评估转化为一个多选题问题。具体步骤如下:

  1. 提供角色扮演对话: 将一段角色扮演对话呈现给一个LLM评判者(judge)。
  2. 提供角色选项: 提供四个可能的 character 选项,要求评判者判断对话中扮演的是哪个角色。
  3. 判断正确性: 如果角色扮演模型成功地模拟了角色,并在对话中展现了该角色的独特风格,那么评判者应该能够轻松地选择正确的角色。

通过这种方式,可以将复杂的角色扮演评估简化为一个多选题问题,从而实现高效且可重复的评估

实验结果表明,DITTO方法在角色身份一致性方面取得了显著的效果,甚至超过了专有LLMs的性能

论文是怎么构建角色扮演训练数据集的?

论文中构建角色扮演训练数据集的方法称为 DITTO,它包含三个主要步骤:

1. 角色知识收集

  • 从维基数据 (Wikidata) 和维基百科 (Wikipedia) 等开放知识库中收集大量角色的资料和简介。
  • 收集的信息包括角色名称、描述、关键属性以及相应的维基百科文章作为角色简介。

2. 对话模拟

  • 查询模拟
    • 利用 LLM 生成与角色相关的查询和对比查询。
    • 相关查询要求提供与角色背景密切相关的信息。
    • 对比查询要求提供超出角色知识范围的信息。
    • 为了高效生成大量查询,论文中将角色配对,并为 LLM 提供详细的 profile,使其生成一个角色可以回答而另一个角色不合适回答的问题。
  • 回答模拟
    • 将结构化的角色 profile 线性化为文本,并附加一个查询。
    • 要求 LLM 从提供的信息中提取相关信息,并模拟角色生成回答。

3. 监督微调

  • 使用生成的角色扮演对话数据集对 LLM 进行微调,使其能够更好地模拟特定角色的对话风格和知识。
  • 在微调过程中,移除注入的知识,只保留角色的简要介绍,帮助 LLM 从给定上下文中检索角色 profile 并获取内在知识。

通过这种方式,DITTO 可以构建一个大规模、高质量的角色扮演训练数据集,从而有效地增强 LLM 的角色扮演能力

想法

  1. 生成的这个角色特定和对比性查询比较有意思,相当于作为一个上下文背景,告诉模型哪些是该说的,哪些是不该说的。
  2. 用LLM进行多选题自动化评估的思路值得借鉴

论文阅读 Large Language Models are Superpositions of All Characters
http://iamlihua.github.io/2024/10/17/large-language-models-are-superpositions-of-all-characters/
Author
LiHua
Posted on
October 17, 2024
Licensed under