查看原文
其他

有灵魂的大模型!大模型角色扮演框架 RoleLLM

OpenMMLab 2024-04-23

【社区开放麦】开播啦!!!技术下饭番追起来,每周一个新芝士。欢迎广大社区同学加入直播间参与讨论的同时,也非常鼓励社区同学拿起话筒登上舞台,社区知识开放麦等你来玩~



本期精彩



大型语言模型(LLM)的出现为角色扮演等复杂任务铺平了道路,角色扮演通过使模型能够模仿各种角色来增强用户交互体验。然而,目前最先进的大模型如 GPT-4 的闭源性质及其通用领域的训练限制了角色扮演的优化。


本期开放麦,我们邀请到北京航空航天大学二年级在读硕士生王泽坤,他将为我们分享他们最近的工作 RoleLLM,这是一个用于基准测试、引出和增强大模型角色扮演能力的框架。RoleLLM 分为四个阶段:


  1. 100 个角色的 Profile构建;

  2. 基于上下文的指令生成(Context-Instruct),用于角色特定知识的提取和注入;

  3. 利用 GPT 的角色提示(RoleGPT)进行说话风格模仿;

  4. 角色条件指令微调 (RoCIT),用于微调开源模型以便进行角色定制。


通过 Context-Instruct 和 RoleGPT,作者创建了 RoleBench,这是第一个系统化、细粒度的角色扮演基准数据集,拥有 168,093 个样本。此外,在 RoleBench 进行 RoCIT 训练得到了 RoleLLaMA(英文)和 RoleGLM(中文)模型,显著增强了角色扮演能力,甚至达到了与 RoleGPT(使用 GPT-4)相当的结果。




分享内容


  • 背景和动机

  • 相关工作

  • 设计原则

  • 闭源模型角色扮演方案:RoleGPT

  • 开源模型角色扮演方案

    使用 RoleGPT 构建通用指令数据

    使用 Context-Instruct 抽取角色特定的知识与记忆

    角色条件下的指令微调

    RoleGLM 和 RoleLLaMA

  • 角色扮演指令数据与评测:RoleBench

  • 实验效果和结论

  • 未来发展方向



分享时间


北京时间

2023 年 11 月 9 日(周四)

20: 00 - 20: 40(分享)

20: 40 - 21: 00(Q&A)



分享嘉宾


王泽坤


北京航空航天大学二年级在读硕士生,师从许可教授。研究方向为自然语言处理与多模态。他的主要研究兴趣为多模态基础模型、思维链 (Chain of Thought) 、检索增强以及 Alignment 等。同时也在探索大型语言模型作为 agent 的技术链,比如工具使用、社会模拟、具身智能等。他曾在澜舟科技、北京智源人工智能研究院等进行科研实习,目前在零一万物和香港科技大学担任研究助理



内容详情


前言


ChatGPT 的出现引燃了大家对大模型的热情,也引发了我们对于大模型应用场景的思考:什么样的大模型 C 端应用场景是最吸引人的?以及如果针对这个应用场景进行技术上的优化呢?



先从产品的角度出发,上面这份对于生成式人工智能创业公司相关产品的调研表明:基于角色扮演的 AIGC 产品,增长势头非常明显!例如由 Transformer 原作者之一 Noam Shazeer 创办的公司 Character.AI,月流量甚至超越了谷歌主打的聊天机器人应用 Bard,成为仅次于 ChatGPT 的第二大 AIGC 应用!


然后从技术的角度出发,GPT-4 出现之后,开源社区普遍使用 GPT-4 作为数据工程的增强工具,加以任务特定或者领域特定的先验,以优化开源模型在特定任务和领域上的能力。例如 ToolLLM 基于 GPT-4 数据增强 + 深度优先的路径搜索算法增强开源模型的工具使用能力,AgentLM 基于 GPT-4 数据增强 + ReAct 提示技巧增强开源模型的通用 agent 能力等。但是,很少有研究探索角色扮演这个火热的领域和相关任务。


在 RoleLLM 论文发表的同时期,出现了一些角色扮演的 LLM 框架,例如 Character-LLM,ChatHaruhi 等等,但是,作者发现目前存在的大模型角色扮演框架存在如下问题:


  • 粒度有限:局限于简单的角色描述,例如职业、Persona、 人格等等,而非更细粒度的、character-level 的、具有更加精细的知识记忆和风格的角色。

  • 缺少可用的开源数据和评测基准。

  • 一些基于闭源模型的方法,API 调用成本巨大。

  • 上下文不高效:为了完成一个特定角色的扮演,需要在开源模型的上下文当中“塞一大堆信息”,例如角色描述、口头禅、角色知识、角色记忆等等。短期来看,这种基于检索增强和上下文学习的提示技术可以解决一些问题,但长期来看,这种方式有以下几个弊端:


    适合进行更多功能的扩展:因为角色扮演的上下文占满了窗口,很难预留出足够的上下文窗口用于其他功能(如工具使用、reflection 等)的扩展。

    知识记忆的检索构成了瓶颈:检索器的好坏很大地影响了最终回答质量的好坏,尤其是用户问的问题更脱离角色设定一些,检索器直接失效,模型回答很容易出现 hallucination 胡言乱语。

    无法对角色知识记忆进行综合、交叉利用:一个问题的回答,往往需要多个角色知识记忆的综合作用,但是基于检索的方法,只能检索有限数量的知识记忆,而模型对于其他相关的知识记忆,是无法知道的。

    其他:例如限制了生成的速度、对模型尺寸和训练方式提出了额外的要求等等。


为了解决这些问题,作者们提出了 RoleLLM 框架,针对闭源模型和开源模型的角色扮演方案都进行了优化,同时公开了第一个系统化的、细粒度的角色扮演基准数据集 RoleBench. 在论文中,作者还提出了 Context-Instruct 用于提取并注入角色相关的知识和记忆,该方法也可以用于更加广泛的长文本理解任务当中。


方法



本文所使用的方法框架如上图所示,它包含了四个阶段:


  1. Role Profile Construction: 广泛收集了若干剧本,并从中处理出主要角色的剧本对话数据,用作后续角色扮演的原材料。

  2. 基于上下文的指令生成 (Context-Instruct): 给定角色的剧本对话数据和角色的总体描述信息,使用大模型以及一些基于 confidence 的提示技巧,生成关于这个角色的知识记忆的若干 QA 对。这些数据构成了 RoleBench-specific 数据,用于在增强模型对角色相关知识和记忆的理解能力。

  3. 基于 GPT 模型的角色提示 (RoleGPT): 给定通用领域的指令数据,基于检索增强技术、对 Chat Markup Language 的合理利用以及 Dialogue Engineering 提示技巧,让 GPT 更好地模仿角色的说话风格来响应指令。这一步生成的数据称为 RoleBench-general。

  4. 基于角色条件的指令微调 (RoCIT):使用上面的 RoleBench-general 和 RoleBench-specific 两类数据,对模型进行指令微调。但是,和传统的指令微调不同,作者提出的 RoCIT 在 instruction 之外还附加了角色条件,以方便在 inference 阶段,基于简单的系统指令即可自由定制角色。


更多细节和方法描述,敬请期待作者的直播~


评测


作者构建的角色扮演基准集和指令数据 RoleBench 具有 168K+ 样本量!全部开源!(见文末链接)


下面给大家展示一些统计指标:




在评测指标 (Metric) 的设计上,作者为了全面衡量模型的角色扮演能力,主要基于 Rouge-L 提出了三个自动指标:


  • RAW 指标:使用 instruction 的原始响应作为 ground-truth,评测模型的回答准确度。

  • CUS 指标:使用 RoleBench-general 的定制化响应作为 ground-truth,评测模型的说话风格。

  • SPE 指标:使用 RoleBench-specific 的响应作为 ground-truth,评测模型的角色知识记忆。


详细的实验结果和发现,敬请期待作者直播~


示例


最后,给大家看几个 case:



是不是很生动?快来直播间,看看到底是怎么实现的吧~


相关工作


论文链接:

https://arxiv.org/pdf/2310.00746.pdf

论文主页: 

https://rolellm.github.io/

GitHub:

https://github.com/InteractiveNLP-Team/RoleLLM-public

RoleBench 数据链接:

https://huggingface.co/datasets/ZenMoore/RoleBench



交流群


同时为了方便大家交流沟通,我们建立了 RoleLLM 相关方向交流群,提供与大佬 1v1 的机会,扫码即可入群~






往期回顾


上期开放麦我们邀请到观远数据联合创始人周远带来 LLM Agent 核心概念介绍,包括记忆、逻辑推理、环境互动等,构建基于 LLM Agent 的应用中的各类挑战与应对技巧以及对 LLM Agent 相关的前沿研究概览与未来展望。


感兴趣的同学,可以通过直播回放学习一下哦~





OpenMMLab 技术写作营第 3 期正在火热招募中,无论你是技术小白还是写作高手,只要你怀有学习与分享的热情,我们都欢迎你的加入!免费参与,机会难得,千万不要错过!现在就点击报名,与我们一同书写技术文章的魅力吧!


20天从新手到技术写作大咖!OpenMMLab第3期写作训练营开课啦!

2023-11-03

大模型能成为你的私人医生么?中文医疗大模型评估基准CMB现已加入OpenCompass

2023-11-02

大模型要抢我工作?先看看这篇 AI 打工仔压榨攻略!

2023-11-01

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存