LiveTalk: Real-Time Multimodal Interactive Video Diffusion via Improved On-Policy Distillation
核心思想
让 AI 能实时地与人视频对话——用户说话时,AI 的虚拟形象实时生成嘴型同步的视频回应。这需要扩散模型在毫秒级延迟下生成高质量视频。
现有扩散模型需要 48 步去噪 → 太慢。LiveTalk 通过改进的 on-policy 蒸馏将去噪步数压缩到 4 步,实现 20× 加速:
- 吞吐量:24.82 FPS(实时)
- 首帧延迟:0.33 秒(对比基线 83 秒)
- 多轮对话质量超越 Veo3 和 Sora2
背景知识
什么是扩散模型蒸馏
扩散模型生成质量高但推理慢(需要数十步去噪)。蒸馏的目标是训练一个”学生模型”用更少的步数达到接近”教师模型”(多步)的质量。
| 蒸馏方式 | 思路 | 代表方法 |
|---|---|---|
| 轨迹蒸馏 | 让学生模仿教师的去噪轨迹 | Progressive Distillation |
| 分布匹配蒸馏(DMD) | 让学生的输出分布匹配教师的 | DMD, DMD2 |
| 一致性蒸馏 | 让学生直接映射到轨迹终点 | Consistency Models |
On-Policy vs Off-Policy 蒸馏
| 方式 | 训练数据来源 | 优点 | 缺点 |
|---|---|---|---|
| Off-Policy | 教师模型生成的数据 | 简单 | 学生犯错时无法自我修正 |
| On-Policy | 学生自己生成的数据 | 能看到自己的错误 | 训练不稳定 |
On-policy 蒸馏更好但更难——尤其在多模态条件(文本+图像+音频)下更不稳定。
什么是 Talking Head 生成
给定:
- 一张参考人脸图像 $c_\text{img}$
- 一段音频 $c_\text{audio}$
- 一段动作描述文本 $c_\text{text}$
生成:嘴型与音频同步、表情与文本匹配的说话人视频。
方法详解
1. 两阶段蒸馏流水线
Stage 1:ODE 初始化(轨迹蒸馏)
教师模型(OmniAvatar-14B,48 步)的去噪轨迹被子采样到 4 步,学生学习模仿:
\[\mathcal{L}_\text{ODE} = \mathbb{E}_{t \sim \{t_i^{N/k}\}_{i=0}^{k-1}} \left[\sum_b \|g_\phi(\mathbf{x}_t^b, t, c) - \mathbf{x}_0^b\|_2^2\right]\]其中:
- $g_\phi$:学生模型
- $N = 48$:教师步数
- $k = 4$:学生步数
- $b$:块索引(每块 3 帧)
- $\mathbf{x}_0^b$:教师对应时间步的去噪结果
关键改进:训练到完全收敛(20,000 步),而非默认的 4,000 步。这为 Stage 2 提供稳定的初始化。
Stage 2:分布匹配蒸馏(DMD)
生成器更新梯度:
\[-\mathbb{E}_{\tau, \hat{\mathbf{x}}_0, \mathbf{x}_\tau} \left[(s_\theta(\mathbf{x}_\tau, \tau, c) - s_\psi(\mathbf{x}_\tau, \tau, c)) \frac{\partial \hat{\mathbf{x}}_0}{\partial \phi}\right]\]其中:
- $s_\theta$:冻结的教师分数网络(OmniAvatar-14B)
- $s_\psi$:可训练的批评家分数网络(OmniAvatar-1.3B)
- $\hat{\mathbf{x}}0 = g\phi(\mathbf{z}, 0, c)$:学生从噪声 $\mathbf{z} \sim \mathcal{N}(0, \mathbf{I})$ 生成的样本
- $\mathbf{x}_\tau$:在 $\hat{\mathbf{x}}_0$ 上加 $\tau$ 水平噪声
直觉:教师分数 $s_\theta$ 代表”真实分布的梯度方向”,批评家分数 $s_\psi$ 代表”学生分布的梯度方向”。两者的差驱动学生向真实分布移动。
批评家损失:
\[\mathcal{L}_\text{critic} = \mathbb{E}_\tau \left[\|s_\psi(\mathbf{x}_\tau, \tau, c) - \hat{\mathbf{x}}_0\|_2^2\right]\]批评家学习估计学生生成样本的分数函数。
2. 三大关键改进
2.1 条件质量优化
问题:训练数据的图像和文本质量不够好 → 学生学到的条件响应能力差。
解决方案:
- 图像优化:用 Qwen-Image 生成高质量参考帧(Hallo3 数据集);对 HDTF 数据集做超分辨率
- 文本优化:用 Qwen2.5-VL-72B 重写提示词,强调”动态运动和面部表情”
| 步骤 | FID 变化 | FVD 变化 |
|---|---|---|
| 基线 | 27.10 | 338.08 |
| + 条件优化 | 14.90(-45%) | 217.68(-36%) |
仅优化条件质量就带来了最大的改善。
2.2 收敛的 ODE 初始化
将 Stage 1 训练从默认 4,000 步延长到 20,000 步,确保学生在进入 DMD 之前有稳定的基础。
| 配置 | FID | Sync-C |
|---|---|---|
| 4K 步初始化 | 14.90 | 3.53 |
| 20K 步初始化 | 11.67 | 4.15 |
2.3 激进优化调度
DMD 的有效学习窗口很短(性能先上升后下降)。在有限时间内最大化学习:
| 参数 | 基线 | LiveTalk |
|---|---|---|
| 生成器学习率 | 2e-6 | 4e-6(2×) |
| 教师 CFG | 4 | 6(更强音频条件) |
更高的 CFG 增强了音频条件 → 提升嘴型同步。
3. LiveTalk 系统架构
3.1 交互流水线
用户输入(语音/文本)
↓
Qwen3-Omni(流式生成音频回复)
↓
多模态扩散模型(条件:音频 + 参考图 + 动作文本)
↓
流式视频输出(逐块自回归生成)
3.2 学生模型结构
- 基座:OmniAvatar-1.3B
- 改造:因果注意力 + KV 缓存支持自回归生成
- 每块:3 个潜在帧,4 步去噪
3.3 流式音频条件
使用重叠窗口编码音频片段 → 提供丰富声学上下文同时保持亚秒级首帧延迟。
3.4 长时身份保持:锚重身份沉淀(AHIS)
问题:长视频生成中,说话人外貌逐渐漂移(因为 KV 缓存累积误差)。
解决方案(无需训练):
KV 缓存分配(共 5 块):
├── 3 块:永久身份沉淀 token(来自早期高质量帧)
└── 2 块:滚动 KV token(最近上下文)
直觉:注意力被刻意偏向早期高质量帧(身份沉淀),抑制了对累积误差的关注 → 外貌在数分钟内保持一致。
3.5 流水线并行
当前块的去噪与前一块的 VAE 解码并行执行 → 延迟从两者之和变为两者之最大值。
实验结果
单轮评估(HDTF 数据集)
| 方法 | 参数量 | FPS | 首帧延迟 | FID↓ | Sync-C↑ | IQA↑ |
|---|---|---|---|---|---|---|
| OmniAvatar-1.3B | 1.3B | 0.97 | 83.44s | 10.85 | 3.85 | 3.87 |
| AniPortrait | 2.5B | — | — | — | — | — |
| Hallo3 | 5B | — | — | — | — | — |
| FantasyTalking | 14B | — | — | — | — | — |
| LiveTalk | 1.3B | 24.82 | 0.33s | 13.68 | 4.50 | 4.13 |
加速效果:
- 吞吐量:25.6×(0.97 → 24.82 FPS)
- 首帧延迟:252.9×(83.44s → 0.33s)
- 推理成本降低 20×
FID 略有上升(10.85 → 13.68),但嘴型同步(Sync-C)和图像质量(IQA)反而更好——因为蒸馏过程中的条件优化改善了音频响应。
多轮对话评估
与 Veo3 和 Sora2 对比(100 个多轮对话场景):
| 维度 | Veo3 | Sora2 | LiveTalk |
|---|---|---|---|
| 情感适配 | 23.51 | 75.78 | 59.54 |
| 非语言交互 | 24.68 | 72.20 | 60.42 |
| 多视频连贯性 | 26.68 | 25.85 | 87.26 |
| 对话自然度 | 24.93 | 74.32 | 56.32 |
| 语义相关性 | 25.17 | 66.68 | 72.02 |
| 信息完整性 | 17.21 | 50.01 | 81.27 |
| 逻辑一致性 | 20.56 | 65.07 | 75.20 |
| 上下文理解 | 20.05 | 68.80 | 72.65 |
| 整体交互体验 | 19.07 | 53.09 | 81.59 |
LiveTalk 延迟仅 1.16 秒(Veo3: 61s, Sora2: 122s),且在内容质量和连贯性上全面领先。
多视频连贯性 87.26 percentile——因为 AHIS 有效保持了长程身份一致性。
消融实验
| 配置 | FID | FVD | Sync-C |
|---|---|---|---|
| 基线(默认 Self Forcing) | 27.10 | 338.08 | 3.13 |
| + 条件质量优化 | 14.90 | 217.68 | 3.53 |
| + 收敛 ODE 初始化 | 11.67 | 169.75 | 4.15 |
| + 激进学习率 | 12.10 | 179.73 | 4.29 |
| + 调优 CFG(最终) | 13.68 | 190.07 | 4.50 |
条件质量优化贡献最大(FID -45%)。最终 Sync-C 相比基线提升 44%。
关键验证:将最终配置用于未优化条件 → FID 23.89——证明条件优化是不可替代的。
训练配置
| 参数 | Stage 1 (ODE) | Stage 2 (DMD) |
|---|---|---|
| 数据量 | 4,000 样本(Hallo3 2K + HDTF 2K) | |
| Batch size | 64 | 64 |
| 学习率 | 4e-5 | 生成器 4e-6 / 批评家 8e-7 |
| 步数 | 20,000 | — |
| 更新比 | — | 生成器:批评家 = 5:1 |
| EMA 衰减 | — | 0.99(从第 200 步开始) |
个人思考
- “条件质量是蒸馏的基石” 是最重要的发现:所有其他改进加起来不如优化训练数据条件——这呼应了”垃圾进垃圾出”的基本原则。
- On-policy 蒸馏的有效学习窗口短是核心难题:性能先升后降,需要在有限时间内”榨干”学习——2× 学习率和更高 CFG 是暴力但有效的解法。
- AHIS 的无训练设计优雅且实用:通过注意力偏向早期帧来保持身份——不需要额外训练或特殊架构。
- 1.3B 模型超越 14B 模型说明蒸馏 + 优化条件的组合极其强大——小模型不等于弱模型。
- 实时交互的意义:0.33 秒首帧延迟使真正的”AI 视频对话”成为可能——这是从”工具”到”交互伙伴”的质变。
- 多轮评估基准的开创性:此前没有系统地评估多轮视频对话质量的基准——LiveTalk 提出的 9 维评估框架值得推广。