世界上第一个VR端 3D版的角色扮演AI就在刚刚诞生了!
AI角色扮演类游戏(如C.AI、Talkie)从发布以来,一直都是人们最喜欢的AI产品之一。虽然广受欢迎,但不少用户提出,期待和这些角色在VR中有更进一步的交流。
近日,来自南洋理工大学的研究团队在VR中实现了第一个3D版角色扮演AI系统SOLAMI,并公开其详细的技术报告。没错,这意味着和各种角色在VR中沉浸式聊天已经是可实现的!
项目主页:https://solami-ai.github.io/
技术报告:https://arxiv.org/abs/2412.00174
完整介绍视频:https://www.bilibili.com/video/BV1D6zpYHEyc/
从技术报告中我们可以看到,SOLAMI支持多种角色,有超级英雄蝙蝠侠,小可爱机器人,二次元老婆,香蕉猫,世界名人特朗普,……
SOLAMI驱动的AI角色能识别用户的肢体语言,从而去关心和理解用户.
想让角色跳个舞?只要说句话,角色就能听懂做到.
还可以和角色玩游戏,比如跟着用户节奏动起来,或者剪刀石头布.
那么SOLAMI提出的动机是什么?模型是怎么工作的?使用了什么样的数据训练的?
研究背景
大家有没有想过和一个虚拟角色进行面对面的深度对话?不仅仅是简单的语言交流,而是能像现实社交一样,观察对方的面部表情、自然的身体语言,甚至是细微的情绪变化。
心理学研究表明,在社交互动中,沉浸程度越高,用户体验就越好。但目前的AI角色(如Character.ai等) 仍然局限于文本或者语音的交互。这促使我们思考:如何构建具有更丰富模态的3D自主角色呢?
要实现这个目标,主要面临两个挑战:
1. 3D角色需要准确观察和理解用户行为信息,并基于上下文和角色设定通过语音、肢体动作和表情做出合适的回应。这已经超越了之前的单一任务(动作理解,动作生成,语音驱动肢体等)的范畴。
2. 数据稀缺的问题。人和3D角色进行多模态交互的数据极其稀缺,收集这类数据需要复杂的设备和巨大成本。
传统的LLM-Agent框架虽然在高层次任务(如规划和记忆)表现不错,但在理解用户行为和提供及时的肢体语言反馈上存在局限。这是因为用文本作为子模块之间联系的媒介会丢失很多细微的信息。
有趣的是,机器人领域的研究给了我们启发:对于低层次的操作任务,基于LLM构建的端到端视觉-语言-行为 (Vision-Language-Action,VLA)模型表现更好。数字角色本质上就是虚拟人形态的机器人,那么构建一个偏向于社交互动的VLA模型会不会是一个有潜力的方向?
Social VLA模型
SOLAMI推理图
如图所示,SOLAMI中所有角色的驱动都是由一个统一的端到端VLA多模态模型驱动。给定角色的设定,模型以用户的语音和动作作为输入,将这两种模态通过Motion Tokenizer和Speech Tokenizer分别编码为LLM新的词表中的token,LLM基座会自回归输出角色的语音和动作token,再通过解码器分别解码为角色的3D动作和语音,来驱动角色做出反应。
与GPT-4o相比,这个模型多了个用户动作的模态,用于理解用户的肢体语言,生成角色的动作。
在这里,用户的动作以SMPL-X的3D旋转进行表示,动作被拆为三个部分:相对于3D角色的相对位置,肢体动作,和手部动作。分别经过3个VQVAE进行编码。用户的语音使用RVQ-VAE结构进行编码,使用的SoundStorm进行解码,在解码过程中,只要输入小段角色的语音作为prompt,就可以实现声音克隆。
SOLAMI训练过程
模型的训练主要分为两个阶段:多任务预训练和指令微调训练。
多任务预训练阶段主要使用动作-文本、语音-文本相关的数据集进行训练,训练任务包括 text-to-speech, automatic speech recognition,speech-to-speech,motion understanding,motion generation,interactive motion generation六个任务。目的在于让SOLAMI学习动作、语音和文本之间的关联。
指令微调阶段主要训练模型进行多轮多模态对话的能力。使用合成的数据集,模型被要求学习基于角色设定和用户输入该如何做出语音和动作的反馈。
数据收集
用于训练模型的数据是相当稀缺的。毕竟,很少人能和蝙蝠侠面对面说过话。因此,研究人员考虑使用现有不同模态的数据进行合成。
首先,研究人员基于公开的动作-文本数据集构建了一个大规模的带有语义标注的动作库,包含4万多个人体动作,然后使用GPT-4o生成角色和用户对话的纯文本的台词剧本。
根据生成的剧本动作,从动作库检索最合适的已有动作,根据检索到的动作修缮好对应的台词。这样生成的文字剧本能和合成数据中的动作较好吻合。最后,通过声音克隆合成角色特有声音。这样,一个低成本可用的合成数据集得以实现。
SOLAMI合成数据管线
VR工程实现
SOLAMI VR工程框架
研究人员基于Oculus Quest 3开发了一个完整的VR交互系统。
前端支持用户与3D虚拟角色的沉浸式交互,后端由2块H800 GPU提供计算支持,可以支持多种模型和方法。
在交互时,VR头显会实时捕捉用户的语音和全身动作,发送给后端。后端运行SOLAMI模型,生成角色的语音、肢体动作和面部表情响应,发送给前端来驱动角色。
实验结果
在本工作中,研究人员希望探讨两个问题:与纯语音相比,3D角色与动作是否会给AI角色扮演带来体验提升?与LLM-Agent结构相比,端到端的VLA结构是否在交互质量和延迟上有体验提升?
为此,研究人员选择了两种对比方法:LLM+Speech,DLP(MoitonGPT)。前者是纯语音的交互,后者是LLM-Agent结构驱动的数字角色。为了保证公平,这些方法的基座模型都是llama2-7B,并使用vLLM部署进行加速。
定量实验结果
定量实验结果表明,SOLAMI在动作质量和语音质量上表现都优于对比方法,并且有较低的事件延迟。消融实验也表明,多任务的预训练对模型最终效果有重要提升。
实验定性分析与VR使用流程
除了定量试验外,研究人员还做了用户实验,通过让用户在VR头显中跟各种角色互动,并且根据体验进行打分。可以发现SOLAMI体验明显好于纯语音方法和LLM-Agent结构方法。有趣的是,虽然纯语音方法在对话内容上比LLM-Agent结构方法好,但是总体体验上还是弱于后者,这印证了角色和肢体语言在AI角色扮演中对于体验的重要性。
总结
研究人员在这篇工作中,提出了一个Social VLA的端到端建模3D数字角色的技术框架,一种从现有不完备模态的数据合成多模态社交互动数据的管线,和一个支持用户和角色进行沉浸式互动的VR交互系统。
当然,作为一个新的方向,研究者们指出了一些值得探索的方向,比如输入输出模态的设定、数据搜集方式、跨具身问题、长短时记忆问题、技能学习方法等。感兴趣的朋友可以参考技术报告。