![]()
这项研究由字节跳动研究团队主导开发,以预印本形式发布于2026年4月,论文编号为arXiv:2604.07823,感兴趣的读者可通过该编号查阅完整原文。
人和人之间的对话,从来不只是嘴巴在动。当你和朋友聊天时,你会点头、皱眉、微笑、歪头看人、在对方说到有趣地方时眼睛发亮——这些细微的肢体语言和表情,才是让对话感觉"真实"的关键。然而,当我们试图让电脑里的虚拟角色和人对话时,绝大多数系统只会做一件事:嘴巴跟着声音动。那种感觉,就像是在和一个只会张嘴闭嘴的橡皮泥人偶说话,完全感受不到"有人在听你说话"。
字节跳动研究团队意识到,这个问题的根源不是某个技术细节没做好,而是整个行业一直把"会说话"当成了终点,却完全忽视了"会听话"。于是他们做了一件在这个领域前所未有的事:把"说"和"听"同时放进一个视频生成系统里,造出了LPM 1.0,也就是大规模表演模型(Large Performance Model)。这个系统不只会让虚拟角色开口说话,还会让它在听别人说话的时候,做出真实人类会做的那些细微反应——微微点头、表情随着对方的语气起伏、在合适的时机眨眨眼或侧侧头。
这项研究的意义在于,它为虚拟助手、游戏中的NPC角色以及直播虚拟形象提供了一个全新的"视觉引擎"——一个真正能让角色活起来的系统,而且是实时的、能无限时长持续运行的那种。
一、表演的三重困境:鱼、熊掌和鱼翅不能兼得?
有这样一个现实困境摆在所有做虚拟角色视频生成的研究者面前,研究团队把它叫做"表演三难困境"(performance trilemma)。
困境的第一边是"表演质量",也就是生成的视频看起来是否像真人在表演——动作自然、表情丰富、不重复、有情感。困境的第二边是"实时推理",也就是系统能不能足够快,让视频边生成边播放,就像直播一样流畅。困境的第三边是"长期身份稳定",也就是角色的长相、发型、服装、独特的表情方式能不能在几分钟甚至几小时的视频里一直保持一致,不会漂移变形。
这三个目标的麻烦之处在于,它们往往相互矛盾。追求速度的系统通常会做出机械、重复的动作;追求表情丰富的系统往往运算量大到无法实时;而要保持角色长期稳定,对于会自动生成下一帧的系统来说,每一帧的小误差都会随着时间累积,最终让角色面目全非。
现有的大多数系统只解决了其中一两个问题,而且几乎全部都聚焦在"说话"这件事上。它们的逻辑是:给定一段音频,让角色的嘴巴跟着动。这样做,确实能生成一个"会说话"的角色,但完全无法处理"听话"的状态——当轮到用户说话时,角色应该做什么?现有系统要么让角色僵住不动,要么播放一段预录好的循环动作,完全没有任何对用户说话内容的反应。
LPM 1.0的核心贡献,就是在同一个系统里同时解决了这三个问题,并且第一次把"听"这件事做进了系统的核心设计里。
二、数据是一切的基础:怎么教AI"看懂"一场对话?
训练一个能理解对话的AI,首先需要大量的"对话视频数据"——而且不是随随便便的视频,必须是那种能精确告诉AI"这个人现在在说话还是在听话、他们的表情和音频是怎么对应的"这类高质量数据。
研究团队构建了一条精密的数据处理流水线,从海量原始视频中筛选出真正有价值的素材,整体保留率不到10%,也就是说90%以上的视频都因为质量不够好而被丢弃。
整个流程分四个阶段。第一阶段是把长视频切割成一个个单独的镜头片段,然后用人体检测模型把没有人出现的片段全部剔除。第二阶段是质量筛选,去掉那些有水印、字幕、特效、美颜滤镜、跳切、画质模糊、人物不完整或者音画不同步的片段。经过这两轮筛选,大约只剩下原始视频数量的26%。第三阶段是最关键的"对话检测",把剩余片段按照说话者的状态分成三类:在说话的、在听话的和沉默的。第四阶段是给每段视频生成详细的文字说明和各种标签,包括动作、表情、情绪、环境、摄像机角度等信息。
对话检测这件事做起来远比听上去复杂。很多时候视频里只有一个人,根本看不到对话的另一方,但这个人的举止表情清楚地显示他在听别人说话——这种情况必须靠多方面的线索来判断。研究团队专门微调了一个叫做LR-ASD的主动说话者检测模型,让它不只能识别"谁在说话",还能识别"谁在听话"和"谁处于沉默/无关状态",并且标注每一帧的具体状态。
为了训练这个改进版的检测模型,研究人员手工标注了大约2万段、共95小时的视频片段。经过训练,这个模型在两个不同类型的测试数据集上分别达到了89.75%和87.63%的帧级别准确率。简单说,它能正确识别每10帧里大约9帧的说话/听话状态。
但光靠这个模型还不够,因为它有两种常见错误:一是把某些沉默片段误判为"在听话"(其实那人根本没在听,只是屏幕外有声音而已);二是把某些说话片段误判为"在听话"(说话者说话时短暂停顿,被误认为是在听)。为了过滤这些错误,研究团队还训练了一个基于Qwen3-Omni模型的语义验证系统,让它用更高层次的理解来判断视频的真实情境。这个经过微调的模型在总体F1分数上达到了78.37,比直接用谷歌的Gemini 2.5 Pro提高了约7.9个百分点。
最终,整个数据集包含约2300万段说话视频、500万段听话/对话视频,以及300万段沉默视频。
数据集里还有一个有趣的发现:在自然拍摄的对话视频里,画面对准"听话者"的时间只占所有对话视频的大约10%。这意味着关于"怎么听话"的数据天然稀缺。而且那些听话的视频大多数都极其平静——超过70%的听话表情被标注为"中性"或"思考中",愤怒、恐惧、惊讶等强烈情绪反应各自占比不到3%。这种数据分布如果直接拿来训练,会让AI学会的"听话"方式极度单调,就是一脸呆滞地盯着你。
研究团队对此做了专门处理,从中精选出大约47万段有明显情绪反应或主动互动的听话视频,并对各类情绪进行重新平衡采样,确保稀有但重要的反应——比如开怀大笑、突然惊喜、点头示意——在训练数据里有足够的占比。
三、给AI的"身份证":多角度、多表情参考图片系统
训练和推理时都面临一个棘手问题:AI只看到角色的一张正面照片,怎么知道这个角色的后背长什么样?侧脸是什么轮廓?笑起来牙齿是什么形状?如果AI不知道,它就会在每次生成视频时"猜测"这些细节,而不同时刻猜测的结果往往不一致,角色就会出现"面目漂移"——说着说着人脸就变了。
LPM 1.0的解决方案是建立一套"多粒度身份参考图片系统",相当于给每个角色制作一套全方位的档案。
这套档案包含三类图片。第一类是"全局外观参考图",就是一张完整呈现角色整体形象和所处环境的图片,作为角色身份的总锚点。为了避免AI直接"抄"训练视频里的帧,这类图片会从同一个人的不同时间段的视频里随机选取,确保它不能被简单匹配到某一帧训练数据。
第二类是"多视角身体参考图",提供从正面、背面、左侧、右侧四个方向看到的角色外观。研究团队用了一个叫GVHMR的人体姿态估计模型来自动计算摄像机和人体朝向之间的角度,从而自动把视频帧分类成这四个视角,再从每个视角里挑选代表性帧。有了这些多角度参考图,AI就不需要猜测角色转身时背后长什么样了,因为直接有答案可以参考。
第三类是"面部表情参考图集",收录同一个角色做出八种不同表情的照片,包括高兴、悲伤、惊讶、愤怒等。这样AI就知道这个角色笑起来的嘴角弧度是怎样的、皱眉时的纹路是什么样的,而不是每次都临时凑合。为了保证这些表情图片质量够高,研究团队只使用原始分辨率在1080P以上的视频来提取表情参考图,并且用EmotiEff表情识别工具自动筛选,再通过Gemini 2.5 Pro进行二次验证,确保标注的表情和图片内容真正匹配。
四、Base LPM:那个能"说"又能"听"的底层大模型
有了数据和参考图片系统,就可以开始训练核心模型了。Base LPM是整个系统的"基础引擎",它基于万象(Wan2.1)的14B参数图生视频基础模型,在此基础上新增了约30亿参数,组成一个170亿参数的扩散变换器(Diffusion Transformer)模型。
所谓扩散变换器,可以这样理解:给模型输入一张充满随机噪点的"雪花屏",模型每次迭代都把这张图变得更清晰一点,经过若干步迭代后,噪点逐渐消散,一段清晰的视频就出现了。整个过程由多个条件共同引导:首帧图片、身份参考图片集、文字描述、说话音频和听话音频。
其中最有创意的设计是"交错式双音频注入策略"。AI的变换器结构是由很多个"块"堆叠而成的,每个块负责处理一个层次的信息。LPM 1.0的做法是:编号为偶数的块处理说话音频,编号为奇数的块处理听话音频。这样,说话和听话两种音频信号就被分配到模型的不同层次进行处理,互相不干扰,而且参数量只需要原来的一半——因为每种音频只占用了一半的块。
为什么这个设计有效?因为说话音频和听话音频驱动的是完全不同类型的动作。说话音频主要触发高频局部动作,比如嘴唇的精确同步、手势的节奏感。听话音频则主要触发低频的整体动作,比如缓慢的点头、表情随语气的轻微起伏。把两者分开处理,模型的不同部分就可以专门针对各自的运动模式进行优化,就像烹饪时把需要大火爆炒的食材和需要小火慢炖的食材分开处理一样。
在说话音频的处理上,模型使用"局部时间窗口注意力机制"——每帧视频只关注与它时间上最接近的那段音频,这样嘴唇同步可以做到精确对齐。而听话音频则使用更大的时间窗口,因为听话的反应往往是对更长时间段的内容的综合响应,不需要和某一毫秒的声音精确对应。
身份参考图片的注入方式也很巧妙。这些参考图片被编码成和视频帧相同格式的"标记",直接拼接在视频序列的末尾,参与所有层次的自注意力计算。换句话说,模型在生成每一帧视频时,都可以"回头看"参考图片,随时对照"这个角色的样子应该是这样的"。为了让模型区分不同类型的参考图片(表情图和视角图),研究团队用了位置编码技巧,给不同类型的参考图分配不同的"时间戳偏移量",让模型通过位置信息就能判断"这是哪种类型的参考图"。
模型的训练分几个阶段推进。先从Wan2.1的基础权重出发,加入说话音频通道,只在说话数据上训练,同时保持原有的文字和视觉处理能力基本不变。说话能力稳定后,再引入听话音频通道,在说话和听话数据的混合上训练。之后逐渐把沉默、完整对话(同时有说话和听话音频)的数据也加进来。文字条件的注入贯穿始终,越精细的文字描述能带来越精准的动作控制。
训练完成后,模型还经历了一个"直接偏好优化"(DPO)阶段,用来修复两个顽固问题:说话时手和四肢变形的问题,以及听话时角色太过僵硬、缺乏细微反应的问题。做法是让模型对同一个输入生成多个版本,由人工评估哪个版本更自然、更真实,然后用这些偏好数据指导模型调整。
推理时,Base LPM支持按段连续生成——每段约125帧,相当于5秒左右,段与段之间通过重叠区域平滑过渡。实测可以稳定生成约10分钟的视频而不出现明显质量下降。
五、Online LPM:实时流式版本,无限时长的挑战
Base LPM虽然效果出色,但有个致命缺陷:它需要先准备好所有输入(完整的音频、文字),然后才能开始生成。这对于实时对话来说完全行不通,因为用户的音频是实时产生的,你不可能等用户说完整段话再开始生成角色的反应视频。
Online LPM就是为了解决这个实时性问题而设计的。它需要做到:音频边来边处理,视频边生成边播放,整个过程可以无限时长持续下去,并且延迟要足够低,让对话感觉流畅自然。
这里有两个互相叠加的难题。第一是"流式控制信号不匹配"——Base LPM训练时看到的是完整音频,而Online LPM推理时每次只能看到一小段刚刚到来的音频,这种局部信息和完整信息之间的差距会导致质量下降。第二是"自回归漂移"——视频是一段一段地生成的,每段的输入包含前面生成的视频作为"上文"。时间一长,前面生成内容里积累的小误差会不断被后续生成所继承和放大,最终导致角色面目全非或画面过度饱和。
研究团队用两个策略来解决这两个问题。
对于流式音频不匹配的问题,他们训练了一个"重叠感知的分块音频编码方案":每次处理3秒音频,其中2秒是之前处理过的历史音频,1秒是刚到来的新音频,然后窗口向前滑动1秒。通过保留历史上下文来保证连续性,减少边界处的突变。在60万段流式格式的样本上微调后,模型在分块推理模式下的稳定性大幅提升。
对于自回归漂移问题,研究团队设计了一个"骨干-精炼器"双模块架构。骨干模块(Backbone)负责维持视频的宏观轨迹,它在推理时看到的是带有噪声的历史帧——这种设计让骨干模块在训练时就习惯了"上文有点不完美"的状态,从而对误差积累更有鲁棒性。精炼器模块(Refiner)在骨干生成粗糙的视频后介入,负责恢复高频细节,而它看到的上文是"干净的"历史帧,以此获得更强的局部精度。骨干用两步去噪完成粗轮廓生成,精炼器只用一步完成细节恢复。
这两个模块的训练通过四个阶段逐步推进。第一阶段是有监督预热,让骨干模块学会跟着老师模型(即Base LPM)的去噪轨迹走,稳定初始状态。第二阶段是"非在线策略的分布匹配蒸馏",让骨干开始学着去匹配老师模型的输出分布,但训练数据仍然来自老师生成的轨迹。第三阶段是"在线策略的分布匹配蒸馏",让骨干在自己的生成结果上继续训练,专门学习如何从自己造成的"错误历史"中恢复过来。第四阶段是训练精炼器,在骨干生成的粗糙视频上进行细节恢复。
推理时,Online LPM使用滑动窗口解码:每步只关注当前这段视频、最近的2段历史视频,以及固定的角色参考图片——而非把所有历史都塞进去。历史的键值缓存在应用位置编码之前就被缓存下来,每次更新窗口时动态重新应用位置编码,这样就避免了重复计算整个历史,同时保证位置关系的正确性。此外还保留了少量"锚点标记"作为全局注意力的稳定参考,防止长时间运行后的注意力飘移。
六、工程基础设施:让这一切真正跑起来
一个170亿参数的模型,还是两个(骨干加精炼器),要在实时条件下运行,工程难度不亚于模型设计本身。
训练方面,研究团队在TorchTitan框架基础上做了大量定制。由于训练视频的分辨率和时长各不相同,生成的序列长度差异极大,简单地把长度不同的数据凑成一批会导致GPU算力浪费严重。他们的解决方案是把所有视频的VAE特征、音频特征、文字特征预先计算并存储好,训练时只需要加载这些压缩后的"潜变量",大幅减少数据加载开销;再通过一个在线负载均衡器,把序列按长度分配到不同的"令牌桶"里,让每个GPU处理相近长度的序列,减少等待和填充。
高分辨率视频训练时序列长度往往超过5万个令牌,标准的全序列注意力计算会撑爆GPU内存。解决方案是使用"尤利西斯风格"的上下文并行:不同GPU各自持有全序列的一段,但通过集体通信共享注意力计算所需的信息,让每个GPU都能计算完整的注意力,只是覆盖不同的注意力头。这种方法比环形注意力更适合LPM的架构,因为它不受序列维度操作的影响。
推理方面,骨干和精炼器的每个前向传播,通过融合核和FlashAttention-4高效注意力实现,在单个GPU上每段1秒的视频(24帧)约需700毫秒,VAE解码需要约180毫秒,编码器开销可以忽略不计。通过流水线并行——当前段的精炼和下一段的骨干生成同时进行——实现了真正的实时流式输出。
实时交互系统的状态机设计也颇为精心。系统在"预热"、"空闲"、"听话"、"回应"四个状态之间切换,每个状态对应不同的音频条件配置:回应状态下说话音频通道激活、听话音频通道静默;听话状态下反过来。状态切换在块边界发生,确保每段视频在固定条件下完成生成,不受中途打断的影响。
七、LPM-Bench:为对话角色表演专门设计的评测标尺
现有的视频生成评测基准大多只关注通用的画质和文字对齐,完全没有涵盖"对话中的表演质量"这个维度。研究团队因此提出了LPM-Bench,这是目前已知第一个专门面向交互式角色表演的评测基准,包含1000个测试案例。
这1000个案例分布在五个场景里。说话场景约400例,覆盖78种情绪、22种基础表情、协同说话手势、唱歌(包括不同风格的短歌和长歌)、发音准确性(特别是中英文双语的口型精度),以及全身运动、手势、与场景互动等动作类型。听话场景约200例,测试角色在不同人际关系、不同性格设定、不同语言环境下,对对话伙伴说话的反应是否自然、是否符合语境。完整对话场景约200例,测试说话和听话状态之间的自然切换,包括换轮时机的把握和跨状态的表情连续性。多样化人体运动场景约100例,测试超出对话范畴的更广泛动作,比如搬东西、跳舞等。角色泛化场景约100例,专门测试写实真人、动漫风格、3D渲染、艺术风格等不同类型角色的处理能力。
评测从四个维度进行打分:动作动态性(动作是否真实、流畅、有物理合理性)、身份一致性(角色面貌在整段视频里是否稳定)、文字可控性(动作是否按文字提示执行)、音视频同步(嘴唇、手势、表情是否与音频对应)。评测采用两种方法并行:一是让人工评测员在两个视频之间选更好的那个("好/一样/差"三选一);二是让评测员对单个视频在1到5分的量表上打绝对分。
八、评测结果:数字背后的故事
Base LPM(720P分辨率)和两个当时的最先进对比系统——Kling-Avatar-2和OmniHuman-1.5——进行了人工偏好评测。
在整体偏好上,人工评测员有64.3%的概率选择LPM 1.0胜过Kling-Avatar-2,有42.5%的概率选择LPM 1.0胜过OmniHuman-1.5。优势最突出的维度是身份一致性,在对比OmniHuman-1.5时有58.5%的人偏好LPM 1.0,这主要是因为对比系统经常出现头部转动后面部特征漂移、皮肤色调变深变滑的问题,而LPM 1.0能保持更自然的皮肤纹理和更稳定的面部结构。文字可控性方面,有55.7%的人偏好LPM 1.0,主要因为对比系统经常对手势和凝视方向的指令响应不完整。在和基础模型Wan2.1-I2V的对比中,运动动态性的偏好比例高达81.7%,身份一致性偏好比例高达88.3%,直观说明了专门训练的价值。
在绝对质量分数上,听话场景表现最好,平均4.51分(满分5分),其中音视频同步得到满分5.00,说明模型的听话反应与对方音频的情感和语义高度对应。说话场景平均3.91分,音视频同步是其中最强的维度(4.13分),主要短板是文字可控性(3.70分),失败案例集中在需要复杂动作序列时跟不上所有指令的情况。完整对话场景平均3.70分,是三个场景里最难的,动作动态性下降到3.24分,主要因为长时间对话后手部动作质量下降,音视频同步也降至3.34分,主要因为说话和听话状态切换时存在短暂的不协调。
Online LPM(480P分辨率)和实时对比系统LiveAvatar、SoulX的评测结果同样亮眼。对比LiveAvatar时,82.5%的评测员偏好Online LPM,在动作动态性上的优势几乎是压倒性的(98.1%偏好)。对比SoulX时,64.1%的评测员整体偏好Online LPM,但SoulX在身份一致性上反过来胜出(67.3%偏好SoulX)。这个结果折射出一个有趣的取舍:SoulX倾向于生成更保守、头部转动幅度更小的视频,这种策略虽然让角色外貌更稳定,但代价是看起来太过僵硬、缺乏生命力;在"哪个更像真人"的整体判断上,生动但略有漂移的LPM 1.0反而更受欢迎。
Base LPM和Online LPM在480P分辨率下的直接对比,则揭示了实时化带来的代价和收益。在说话场景上,两者几乎势均力敌,大多数维度都有超过50%的"一样好"评价。在听话场景上,Base LPM因为动作动态性更好而占优(40%偏好Base vs 12%偏好Online),说明蒸馏过程确实损失了一些细微的低幅度反应动作。在完整对话场景上,Online LPM反而在身份一致性上胜出(48%偏好Online vs 10%偏好Base),正是因为在线策略的蒸馏训练让模型学会了从自己的漂移中自我纠正,滑动窗口KV缓存也有效抑制了颜色和外貌的长期漂移。
九、消融实验:多角度参考图片到底值不值?
研究团队还做了一组对比实验,专门验证多角度身份参考图片系统的价值。
针对表情参考图的实验结果显示,加入多种表情的参考图片后,模型能更准确地还原角色特有的笑容弧度、笑时露出的牙齿形状,以及皱眉时的纹路模式。没有这些参考图时,模型仍然能保持角色的整体外貌,但表情会变得通用化、失去那些让这个角色区别于其他人的细节特征。
针对多视角体型参考图的实验结果更加直观。当角色在视频中转身时,有了多视角参考图,背部的服装细节(实验中用了印有字样的T恤背面)能保持清晰可辨;而没有这些参考图时,模型在生成角色背面时不得不"凭感觉",结果不同时刻生成的背面细节各不相同,或者出现扭曲。
这两类参考图发挥的作用方向相反但互补:表情参考图解决的是"这个人笑起来是什么样"的细节问题,多视角参考图解决的是"这个人从不同角度看是什么样"的结构问题。两者结合,才能对角色身份做出最完整的描述。
说到底,LPM 1.0要解决的问题,比"让角色嘴巴跟着声音动"要宏大得多。它要解决的是:当你和一个虚拟角色对话时,你能不能感觉到"对面有人在认真听你说话"。
这种感觉在人与人之间的交流中无处不在,我们对它的敏感程度已经刻在了几十万年进化出来的社交本能里——所以一旦虚拟角色做不到,我们就会立刻感到别扭、出戏。LPM 1.0是迄今为止在技术路线上对这个问题回应最系统的一次尝试,它把数据构建、模型训练和实时部署三者当作一个整体来设计,而不是分开独立解决。
当然,研究团队也坦诚地指出了目前的局限:整个系统还是只处理单人对镜头说话或听话的场景,没有涉及多人同场的对话,也没有涉及角色在环境中移动、与物体真实互动的情况。在长文本结构记忆方面,系统也还没有办法让角色记住几分钟前说过的话并据此调整后续反应。
未来的道路,研究团队已经指出了三个方向:沿着时间轴延伸,让角色有跨越整场对话的记忆和人格一致性;沿着社交维度扩展,支持多人对话中的注意力分配和轮流发言协调;沿着物理维度深入,让角色真正扎根于所处的场景,能够和环境中的物体自然互动。
归根结底,LPM 1.0证明了一件事:视频生成不只是一种渲染工具,它可以成为让虚拟角色真正"出现"在对话里的那一层。感兴趣深入了解的读者,可以通过arXiv编号2604.07823查阅完整论文。
Q&A
Q1:LPM 1.0和普通的AI说话视频生成有什么本质区别?
A:普通的AI说话视频生成只做一件事——让角色嘴巴跟着声音动。LPM 1.0除此之外还加入了"听话"能力:当用户说话时,角色能根据用户音频的内容、情绪和语气,生成自然的非语言反应,比如点头、表情变化、眼神跟随,而不是僵在那里或者播放固定循环动作。这是两者在设计目标上的核心区别。
Q2:LPM 1.0为什么能做到无限时长生成而不让角色变形?
A:主要靠两个机制。一是在训练数据中为每个角色准备了多角度、多表情的参考图片,模型在生成每帧时都能"对照参考"而非凭空猜测。二是在实时版本中使用滑动窗口加"锚点标记"的方式管理历史上下文,并通过多阶段蒸馏训练让模型学会从自己积累的误差中自我纠正,防止长时间漂移。
Q3:LPM 1.0生成的视频怎么保证不被用来伪造真人?
A:研究团队采取了几项措施:所有对外展示的演示和评测视频使用的是合成生成的角色,不涉及真实人物;生成视频中嵌入不可见的水印,便于溯源和检测;同时开发了配套的AI生成内容检测模型;在系统输入端对参考图片和文字提示进行安全过滤。但团队也承认没有单一措施能完全防范滥用,需要技术、制度和监管手段共同配合。





京公网安备 11011402013531号