面向定制化的多模态角色扮演 Towards Customized Multimodal Role-Play
提出 CMRP 新任务和 UniCharacter 框架,用极少样本让统一多模态模型同时学会角色的语言风格与视觉外观。
前置知识
统一多模态大模型(Unified Multimodal Model)
在单一神经网络中既能理解又能生成多种模态(文本+图像)的架构。理解侧通常通过 ViT 编码视觉,生成侧则用离散 token 自回归或连续 rectified flow 扩散。两路共享隐空间,便于跨模态对齐。代表工作有 BAGEL、Janus-Pro、Show-o 等。
本文的 UniCharacter 正是基于统一多模态模型 BAGEL 改造而来,没有它就无法在同一框架里同时输出文字与图像。
Rectified Flow(整流流)
一种连接噪声与数据的常微分方程轨迹,相比 DDPM 采样步数更少、收敛更稳。生成图像时模型预测从噪声到图像的速度场,再由 ODE 求解器积分得到样本。BAGEL 即采用 rectified flow 作为图像生成主干。
Character-GRPO 的奖励信号是建立在 rectified flow 采样过程之上的,奖励计算需要多次采样图像,需要理解 rectified flow 才能看懂 GRPO 如何与 flow matching 结合。
Group Relative Policy Optimization(GRPO)
DeepSeek-R1 提出的强化学习算法,去掉 critic,对同一 prompt 采样 G 个候选输出,用组内奖励的均值和方差归一化得到 advantage,再以 PPO 风格的裁剪目标优化策略。在 LLM 推理任务上比 PPO 更高效。
本文核心贡献之一就是把 GRPO 改造到 rectified flow 图像生成上,并设计了文本-图像对齐+多样性的复合奖励,用来缓解 T2I 的过拟合。
DreamBooth 与个性化文生图
通过 3-5 张参考图对预训练扩散模型微调,使其能在新场景中再现指定主体。配套概念还包括 Textual Inversion、IP-Adapter 等个性化注入方法。
本文对比的基线 DreamBooth 只解决'看起来像',而 CMRP 还要'说话像',理解 DreamBooth 才能看清 UniCharacter 在多模态维度的拓展。
CLIP-I / CLIP-T / DINO 评估指标
图像生成评估常用度量:CLIP-I 计算生成图与参考图的 CLIP 图像特征相似度(身份保真),CLIP-T 计算生成图与文本 prompt 的 CLIP 相似度(语义对齐),DINO 给出更鲁棒的视觉特征余弦相似度。本文还把 DINO 相似度用于过拟合惩罚项。
表格里的所有 T2I 数字都是这三类指标的组合,没有这些概念就看不懂论文如何量化图像质量与一致性。
研究动机
个性化虚拟角色在数字分身、互动娱乐与人机对话里有大量需求,但已有方案全部卡在「单模态」这一关:CharacterLLM、RoleLLM 这类文本路线只能教会模型「怎么说」,无法生成角色的视觉形象;DreamBooth、Textual Inversion 等图像个性化路线只能让模型「长什么样」,却无法参与对话、也不会对上下文做出情绪反应。即便像 Qwen2.5-VL 这样的通用 VLM 也只是把 VQA 当成对图问答任务,与「带人格的语言风格 + 视觉身份 + 情感反应」三合一的角色扮演没有直接关系。表 1 明确指出,没有任何一项既有工作能同时具备 Text Role-Play、Multimodal Role-Play、T2I Generation、Knowledge QA、VQA 全部五项能力,导致沉浸式交互中角色身份一致性被切断。
本文的目标是本文提出一个新任务 Customized Multimodal Role-Play(CMRP),目标是让一个统一多模态模型仅凭 1 段角色文字档案 + 5-15 张参考图 + 150-250 条示例对话,就能学会一个新角色,并在对话中同时输出符合该角色语言风格的文本和符合视觉身份的图像。文章把任务形式化为 $(R_m, I_m) = F_\theta(Q_u)$,其中 $R_m$ 必须遵循 $P_{char}$ 与 $D_{ref}$ 的人格与语气,$I_m$ 必须贴合 $I_{core}$ 的外观并与 $R_m$、$Q_u$ 的上下文一致。每个角色整段流程仅需约 100 GPU 小时(H20)。
与已有工作不同的是,现有 CMRP 的尝试 Yo'Chameleon、UniCTokens 都只解决理解侧或生成侧某一边的个性化,没有跨模态一致性约束;纯 SFT 路线又受限于 10 张图左右的固定真值,图像生成很容易过拟合到训练图、缺乏多样性。本文独到的切入角度是:把统一多模态模型的图像生成分支搬上 GRPO,用 reward 而非 ground-truth 来驱动训练,从而同时获得身份保真、文本对齐和多样性。再加上公开的 RoleScape-20 数据集把 Thinking Process、Generation Instruction、Knowledge QA、VQA 全部配套,使得「角色档案—对话—思考—图像—问答」可以在同一框架里被联合训练。
核心方法
UniCharacter 基于统一多模态基础模型 BAGEL,把训练拆成两阶段:阶段一 Unified-SFT 用一个混合了多任务数据的大 batch 把模型同时调教成能聊天、能写思考过程、能答 VQA、能答 Knowledge QA、还能文生图的角色;阶段二 Character-GRPO 把 rectified flow 的图像生成分支单独拎出来,用 GRPO 配合自定义多目标奖励继续微调。直觉上,第一阶段像「让模型背台词、学表情、记设定」,第二阶段像「放开手让模型自由作画,再用评分系统把关」。这种「先监督、后强化」的两段式是 UniCharacter 与以往 UniCTokens 等工作的本质区别。
核心创新点是 Character-GRPO:把 RL 引入到 T2I 个性化中,并用 $R_i = \alpha \cdot r_{CLIP} + \beta \cdot r_{VQA} + \gamma \cdot r_{div} + \delta \cdot p_{sim}$ 这一综合奖励同时调控三个性质——文本-图像语义对齐、视觉细节正确性、生成多样性。其中 $p_{sim}$ 是基于 DINO 特征的训练集相似度惩罚,当 $\max_{I_k \in D_{train}}\text{Sim}_{DINO}(I_{gen}, I_k)$ 超过 $\tau_{high}=0.9$ 时施加 $-\big(s_{max}-\tau_{high}\big)$ 的负奖励,低于 $\tau_{low}=0.5$ 时施加 $-\big(\tau_{low}-s_{max}\big)$,只有落在 $[0.5,0.9]$ 之间才不被惩罚。这与 DreamBooth 把模型「钉死」在真值图上的做法完全相反——它不要求像素级还原,而是让模型在保持角色本质特征的前提下自由发挥。
方法步骤详情
阶段一 Unified-SFT:冻结 VAE,按 200:1 的过采样比从 T2I 与 VLM 数据集中抽样;四个文本子任务(角色聊天 $\mathcal{L}_{chat}$、思考过程 $\mathcal{L}_{think}$、VQA $\mathcal{L}_{vqa}$、Knowledge QA $\mathcal{L}_{kqa}$)使用交叉熵 $\mathcal{L}_{VLM}=\mathcal{L}_{chat}+\mathcal{L}_{think}+\mathcal{L}_{vqa}+\mathcal{L}_{kqa}$;图像分支用 rectified flow 在噪声到图像残差上做 MSE 损失,500 步 AdamW(学习率 $2\times 10^{-5}$)。阶段二 Character-GRPO:冻结 ViT 理解侧,对每个角色 prompt 采样 $G=8$ 张图组成一个组,按公式 (7)-(8) 估算 advantage,使用 AdamW(学习率 $1\times 10^{-5}$、batch size 6、$\beta=0$、clip 范围 $1\times 10^{-5}$);奖励由 CLIP 相似度 $r_{CLIP}=\cos(\phi_I(I_{gen}),\phi_T(T_{prompt}))$、VQA 一致性 $r_{VQA}=\mathbb{1}[\text{VQA}(I_{gen},T_{VQA})\text{ matches }T_{truth}]$、组内感知多样性 $r_{div}=\frac{1}{G(G-1)}\sum_{i\neq j}\text{LPIPS}(I_i,I_j)$ 与训练集相似度惩罚 $p_{sim}$ 加权而成,权重 $\alpha=0.45, \beta=0.3, \gamma=0.1, \delta=0.15$。推理时使用 $N_{eval}=50$ 步 BFloat16 SDE 采样,引导尺度 4.0,SDE 窗口大小 3,作用在前半段去噪过程 $[0, \lfloor N/2\rfloor]$。
技术新颖性
技术新颖性主要体现在三点:第一,把「角色档案 + 极少图像 + 极少对话」这种 few-shot setting 与统一多模态模型联合起来,绕过传统个性化方法对大量同主题图像的依赖;第二,把 GRPO 从 LLM 推理任务迁移到 rectified flow 图像生成分支,并加入训练集相似度作为负向奖励,避免 RL 在过窄 reward shaping 下退化成对训练集的「硬背」;第三,把 Thinking Process、Generation Instruction、Knowledge QA、VQA、Multimodal Role-Play 这五类异构信号统一在同一损失函数 $\mathcal{L}=\mathcal{L}_{VLM}+\mathcal{L}_{flow}$ 下,让「角色的语言、记忆、表情、问答」同时被优化,是目前公开文献中少见的端到端做法。
实验结果
在 RoleScape-20 基准上,UniCharacter-7B 在所有维度全面领先基线(表 3):文本角色扮演的 Memorization=5.45、Personality=6.55、Diversity=6.10,相比 Qwen2.5-VL+TP(5.13/5.17/5.60)提升 6%-26%;相比 UniCTokens(2.43/2.54/2.30)更是倍数级领先;T2I 任务上 CLIP-I=0.88、CLIP-T=0.33、DINO=0.91,CLIP-I 较 DreamBooth 7B(0.86)提升 2 个百分点、DINO 提升 3 个百分点;Multimodal Role-Play 任务上 CLIP-I=0.86、DINO=0.89,把 UniCTokens(0.51/0.70)远远甩开;Knowledge QA=0.77、VQA=0.84,超过 Qwen2.5-VL(0.75/0.81)。消融实验(表 4)显示加入 GRPO 后 T2I 的 CLIP-I 由 0.85 升到 0.88、Trainset Similarity 下降,说明 GRPO 同时提升质量与多样性;奖励消融(表 5)显示去掉 CLIP-T/VQA 奖励会让图像质量指标下滑,去掉多样性奖励则训练集相似度回升,证明四类奖励缺一不可。用户研究(图 7)同样在 T2I、Multimodal Role-Play、Text Role-Play 三个任务上 UniCharacter 占比最高。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Text-based Role-Play (Memorization) | LLM-as-Judge 1-7 分 | 5.45 | Qwen2.5-VL+TP 7B: 5.13;UniCTokens 1.3B: 2.43 | +0.32 (vs Qwen2.5-VL+TP) / +3.02 (vs UniCTokens) |
| Text-based Role-Play (Personality) | LLM-as-Judge 1-7 分 | 6.55 | Qwen2.5-VL+TP 7B: 5.17;UniCTokens 1.3B: 2.54 | +1.38 / +4.01 |
| Text-based Role-Play (Diversity) | LLM-as-Judge 1-7 分 | 6.10 | Qwen2.5-VL+TP 7B: 5.60;UniCTokens 1.3B: 2.30 | +0.50 / +3.80 |
| Text-to-Image Generation | CLIP-I / CLIP-T / DINO | 0.88 / 0.33 / 0.91 | DreamBooth 7B: 0.86 / 0.30 / 0.88 | +0.02 / +0.03 / +0.03 |
| Multimodal Role-Play (T2T2I) | CLIP-I / CLIP-T / DINO | 0.86 / 0.33 / 0.89 | UniCTokens 1.3B: 0.51 / 0.17 / 0.70 | +0.35 / +0.16 / +0.19 |
| Knowledge QA | Accuracy | 0.77 | Qwen2.5-VL+TP 7B: 0.75 | +0.02 |
| VQA | Accuracy | 0.84 | Qwen2.5-VL+TP 7B: 0.81 | +0.03 |
局限与改进
作者在 Limitation 部分承认三件事:1) 当前任务只覆盖文本与图像,没有把个性化角色推到视频生成上,时间一致性与跨帧身份保持仍未解决;2) 模型只在单轮对话里验证,多轮/长对话里是否会出现「角色漂移」(role-drifting)没有测试;3) 实时部署、安全可控(角色不会越权生成违规内容)、用户闭环迭代都还停留在未来工作层面。从我自己角度看,还存在几个观察:a) 数据集规模偏小(20 个角色)且每角色仅 5-15 张参考图,泛化到全新角色的零样本能力未被评估;b) GRPO 阶段每角色需 100 GPU 小时和数千次 T2I 采样,性价比明显低于纯 SFT 个性化方案;c) $r_{VQA}$ 直接用 VQA 模型打分,意味着 VQA 模型的偏差会传递到 RL 奖励里,存在 reward hacking 风险;d) Thinking Process 仅在训练时加入 inference 时启用收益才显著(表 7),说明 reasoning 与 GRPO 之间存在耦合,但论文没有解释机制。
独立分析的弱点
独立分析的具体弱点与改进方向:① 训练集过小导致的 reward hacking 风险——GRPO 阶段依赖 $r_{VQA}$,如果 VQA 模型对某些角色存在系统性偏差(如把「猫耳」识别成「狗耳」),模型就会朝错误方向优化。改进方向是引入多模型 ensemble 或在 reward 中加入人工抽查的 ground-truth 校准。② 角色种类覆盖不均——RoleScape-20 中 9 个真人、7 个动漫、4 个动物,对拟人化角色(Furina、Saber)的语言风格化较好,但对动物(Bo、Butin)这种依赖「拟声+动作」的物种,模型容易被训练数据中有限的句式困住,建议加入合成语音风格 token 作为辅助特征。③ 训练成本依然高——100 GPU hours/角色对工业落地门槛偏高,改进方向是先用 LoRA 或 adapter 替代全参数微调,并在 GRPO 阶段只对 LoRA 参数进行更新。④ 长对话记忆缺失——Memorization 评测靠 20 个单轮问题,没测 50 轮以上的对话连续性,建议扩展为 multi-turn PersonaBench 并加入 summarization-based memory 模块。⑤ VQA Reward 与 CLIP Reward 的权重 (0.45 vs 0.3) 是手工设定,不同角色可能需要不同比例,可引入自适应权重学习。
未来方向
作者在 Conclusion 与 Limitation 中提出的方向包括:扩展到个性化视频生成并保证时间一致性、为多轮长对话引入更强记忆机制、研究实时部署与安全可控(拒绝生成有害内容)、探索用户闭环的个性化迭代。基于本文成果还可以延伸:① 把 RoleScape-20 扩到 100+ 角色并支持零样本冷启动角色(只给档案、零样本参考图);② 把 GRPO 思路扩展到对话策略学习本身,让角色不只是会写文案,还会主动决定「该说话还是该沉默」;③ 与 TTS、风格化语音合成结合,做到能对话+能说话+能上镜的全感官角色;④ 研究多角色同框场景下的身份解耦,避免「角色特征泄漏」;⑤ 在 AR/VR 中嵌入 UniCharacter,测试 XR 场景下的实时交互一致性。
复现评估
复现难度中等偏上。文章承诺开源 RoleScape-20 数据集与代码(仓库 github.com/Tangc03/UniCharacter),但截至发表日仅给出代码与数据集入口链接,模型权重未在论文中明确说明是否随仓库发布。代码层面 Stage 1 使用 BAGEL 公开 checkpoint 即可起跑、Stage 2 GRPO 复用了 Flow-GRPO 的开源实现,作者也给出了完整超参表(G=8、α=0.45/β=0.3/γ=0.1/δ=0.15、τ_high=0.9、τ_low=0.5、batch=6、lr=2e-5/1e-5、β=0、clip=1e-5、N_train=15、N_eval=50、guidance=4.0、SDE 窗口 3 等),可直接照搬。数据标注 prompt 全部在附录 Tables 8-18 中给出,可复现 pipeline。主要风险来自算力门槛——单角色 100 GPU hours 需 H20 级 GPU、每个角色要采样大量 SDE 图像组、加上 VQA/CLIP/DINO 评分器,完整跑完 20 个角色约需 8-10 张 H20 跑一周左右,建议先用 2-3 个角色做消融验证再扩展。
论文图表
以《Fate》系列中的远坂凛为例,展示 UniCharacter 同时完成的四类任务:Multimodal Role-Play(生成符合角色情绪的图文回复)、T2I Generation(生成角色不同场景的图像)、Knowledge QA(回答关于角色背景的问题)和 VQA(看图回答视觉属性问题)。
这张图是论文最核心的 motivation figure,让读者一眼看懂 CMRP 任务到底是什么、UniCharacter 比单模态方案多出什么能力。