PAPER DEEP DIVE
SuperMimic:用一个可微世界模型扩展人形机器人全身控制
SuperMimic 用一个可微世界模型复用共享动力学,单卡 3 小时超过 128 卡 SONIC,双卡 9.8 小时后 129,514 条动作零失败。
一句话总结
SuperMimic 把“所有动作共享同一具人形机器人动力学”这一事实转化为可复用计算资源:只用一套可微世界模型、短程反向传播和演员—评论家学习,就在单张 H100 上用 3 小时超过 SONIC 使用 128 张 L40 训练 7 天所得到的归一化回报。
研究背景:动作库扩大后,计算为什么成为瓶颈
人形机器人的全身控制需要覆盖行走、奔跑、跳跃、翻滚、倒地和起身等差异极大的行为。物理仿真中的动作跟踪提供了一条可扩展路线:把动作捕捉片段重定向到机器人骨架,再让强化学习策略学习在接触、摩擦和关节限制下复现参考动作。数据越多,策略能够覆盖的行为越丰富,系统也更接近通用全身控制器。
问题在于,主流的无模型强化学习没有把跨动作共享的动力学结构显式保存下来。PPO 一类算法只能从大量带噪声的仿真交互中估计“某个动作会带来什么后果”。动作库从几十段扩大到十几万段时,虽然不同动作的目标轨迹不同,但机器人身体、关节、接触求解和奖励结构基本一致,这部分知识却被一次次重新估计。
SONIC 代表了当前算力扩张路线的上限之一:使用 128 张 L40 训练约 168 小时,总计约 21,000 GPU 小时。BeyondMimic 则通过逐动作专家和蒸馏来合并技能,但蒸馏会带来信息损失,也需要先训练多个局部控制器。两条路线都在扩大数据时迅速增加成本。
本文的出发点不是寻找更强的随机策略梯度估计器,而是改变梯度的来源。作者从标准刚体仿真器记录状态转移,再训练一个可微的动力学替代模型。策略梯度通过这个模型反向传播,不再依赖对不可微接触仿真的黑盒采样。于是,一个模型可以在整个动作库上摊销动力学学习成本。
这一选择还有一个工程优势。MuJoCo Warp 等刚体仿真器虽然具备高并行能力,但接触和非光滑动力学使端到端求导困难,部分实现甚至没有可用的解析梯度。SuperMimic 不要求修改仿真器,也不要求对接触求解过程求导;它只学习输入状态、动作和仿真上下文到下一状态的可微映射。
图 1:左侧是策略通过世界模型想象动作后果;右侧对比 SONIC 的 128 张 L40、168 小时训练与本文单张 H100、3 小时训练。来源:论文 Figure 1。
问题形式化:部分可观测、带终止的目标条件控制
论文把全身控制写成目标条件部分可观测马尔可夫决策过程。状态记为 $s_t$,动作为 $a_t$,目标为 $g_t$。状态生成带噪声的本体感知观测 $o_t$ 和终止标记 $d_t$;执行 $a_t$ 后,仿真器给出奖励 $r_{t+1}$ 与下一状态 $s_{t+1}$。动作由确定性策略产生:
$$a_t=\pi_\theta(o_t,g_t)$$这里的动作不是直接力矩,而是归一化关节设定点。它围绕机器人默认姿态 $q_0$ 映射为低层 PD 控制目标:
$$q_t^{sp}=\alpha a_t+q_0$$由于 PD 增益较低,这个设定点更像关节力矩的代理,而不是要求关节立即到达的硬位置目标。动作跟踪任务的 $g_t$ 来自参考动作;速度、末端执行器位姿或 SMPL 身体姿态等任务可以替换目标空间,并共享同一套身体动力学。
作者还显式区分了仿真噪声与世界模型。单帧观测由无噪声观测和传感器噪声组成:
$$o_t=\bar{o}_t+\eta_t$$真实仿真器的终止是硬 0/1 标记,但想象 rollout 需要可导的生存概率。因此世界模型输出 $\hat{d}_t\in[0,1]$,并用累计生存权重控制未来奖励:
$$c_0=1,\qquad c_{t+1}=c_t(1-\hat{d}_{t+1})$$这比直接把硬终止写进想象轨迹更适合 BPTT。即使某一步接近失败,梯度仍能沿着连续生存概率传播,策略可以学习“降低失败概率”,而不是只在采样中偶然碰到成功轨迹。
方法总览:采集、拟合、想象三步循环
训练循环交替执行三件事。第一,当前策略在仿真中收集转移,并写入固定大小的回放缓冲区;新数据覆盖最旧数据。第二,从缓冲区采样 8 步动作窗口,自回归地拟合同一动作序列下的状态、奖励、无噪声观测和终止标签。第三,冻结世界模型参数,从回放状态出发想象 32 步,通过 BPTT 更新策略与评论家。
flowchart LR
A[Current policy in MuJoCo Warp] -->|noisy actions and states| B[Replay buffer]
B --> C[Sample k equals 8 windows]
C --> D[Fit differentiable world model]
D -->|freeze weights| E[Imagine H equals 32 steps]
B -->|start states and sim context| E
E --> F[BPTT policy gradient]
E --> G[Fit critic to GAE targets]
F --> A
G --> A
A -->|next iteration| B
图 2 展示了这条数据流与梯度流的区别。回放缓冲区既保存世界模型训练数据,也为策略想象提供初始状态和每回合仿真上下文。世界模型的梯度只用于自身拟合;策略更新时它被冻结,策略梯度穿过模型但不能修改模型。这种交替更新避免“模型追逐策略、策略又追逐模型”的不稳定耦合。
图 2:论文的三阶段训练循环。虚线表示梯度,冻结的世界模型向策略提供解析梯度。来源:论文 Figure 2。
回放数据不会因为采集策略更新而失效。策略改变的是动作分布,不改变“同一个人形身体在给定状态和动作下如何运动”的物理规律。因此旧策略产生的转移仍然有助于学习动力学。动作噪声 $ \epsilon_t $ 扩大状态—动作覆盖范围,但只用于收集数据;想象阶段重新加入已知传感器噪声,以贴近策略部署时看到的观测。
可微世界模型:一个网络承担四个预测头
世界模型接收状态 $\hat{s}_t$、动作 $a_t$ 和每回合仿真上下文 $\xi$,预测下一状态:
$$\hat{s}_{t+1}=f_\omega(\hat{s}_t,a_t,\xi)$$奖励头同时依赖目标,因为同一状态动作在不同参考动作下的奖励不同;无噪声观测头只依赖状态和仿真参数;终止头依赖状态和目标:
$$\hat{r}_{t+1}=r_\omega(\hat{s}_t,a_t,g_t),\qquad \hat{\bar{o}}_t=g_\omega(\hat{s}_t,\xi),\qquad \hat{d}_t=d_\omega(\hat{s}_t,g_t)$$仿真上下文包含脚底摩擦系数、关节标定偏移和躯干质心偏移。论文给出摩擦系数 $\mu\sim U[0.3,1.2]$、关节零点偏移 $\Delta q_{j0}\sim U[-0.01,0.01]$ 弧度,以及躯干质心三个方向的随机偏移。它不把随机推力放进世界模型,因为外部推力会造成不可预测的状态跳变,而确定性模型难以拟合这种不连续输入。
世界模型在 $k=8$ 步窗口上自回归训练。训练起点固定为日志中的真实状态,随后每一步都使用模型自己的上一帧预测,而不是重新注入真值。这样模型必须学会纠正自身误差。损失把状态、连续奖励、无噪声观测和终止概率放在同一个目标中:
$$L_{WM}=\mathbb{E}_{B}\sum_{j=1}^{k}\left[\lVert\hat{s}_j-s_j\rVert^2+(\hat{r}_j-r_j)^2+\lVert\hat{\bar{o}}_j-\bar{o}_j\rVert^2+\mathrm{BCE}(\hat{d}_j,d_j)\right]$$其中 BCE 是二元交叉熵。对解析可计算的观测或奖励项,可以不设对应损失;网络主要承担难以手工写出闭式表达的状态增量与终止预测。动力学主干使用三层宽度 2048 的多层感知机,终止头使用较小的 64—64 网络。
这一训练目标解释了为何一个模型能覆盖大量动作。输入层没有按动作编号区分配置,网络学习的是共享的身体和接触响应,而动作与目标只作为条件输入。新增动作提供的是对同一动力学的更多观测,并不是要求模型从零学习一套全新物理规律。
策略改进:把 32 步想象力变成低方差梯度
策略优化阶段从回放状态 $s_0$ 开始,在当前仿真上下文下让策略与世界模型交互。世界模型每一步给出无噪声观测,系统重新加入传感器噪声,策略据此输出动作。想象轨迹的优化目标包含 32 步折扣奖励和评论家给出的尾部回报:
$$\hat{J}(\theta)=\mathbb{E}\left[\sum_{t=0}^{H-1}\gamma^t\hat{c}_t\hat{r}_{t+1}+\gamma^H\hat{c}_H V_\psi(\hat{s}_H,g_H,\xi)\right]$$这里 $\gamma=0.99$,$H=32$,$\hat{c}_t$ 是模型预测的生存权重。评论家吸收第 32 步之后的回报,所以世界模型只需要在较短窗口内足够准确。作者强调,虽然世界模型用 8 步窗口训练,实际想象可以延伸到很长;自回归窗口训练让它学习修正多步误差,而策略每次仍只优化固定长度的短路。
PPO 通过似然比把采样优势乘到对数策略梯度上。它把动力学当黑盒,单个动作的后果只能通过多条随机轨迹间接比较。SuperMimic 则直接对目标关于动作求导:世界模型提供 $\partial\hat{s}_{t+1}/\partial a_t$,BPTT 把未来回报的梯度逐层传回策略。短时间范围内,这种一阶解析梯度通常比高方差的策略梯度更有效。
评论家用想象轨迹上的广义优势估计目标训练。回报从 $H$ 步的评论家值开始向后递推:
$$\hat{R}_t=\hat{r}_{t+1}+\gamma(1-\hat{d}_{t+1})\left[(1-\lambda)V_{t+1}+\lambda\hat{R}_{t+1}\right]$$损失为预测值与固定目标之间的平方误差:
$$L_V(\psi)=\mathbb{E}\sum_{t=0}^{H-1}\left(V_t-\hat{R}_t\right)^2$$目标每次 rollout 只计算一次,在评论家拟合期间保持不变。与常见的演员—评论家实现相比,这里没有指数移动平均目标网络。评论家的主要作用不是让名义动作跟踪更快,而是让策略不要只优化眼前 32 步:在受到扰动后,恢复和平衡的收益可能发生在想象窗口之后。
实现对应:从公式到第三方代码
虽然作者没有公开官方仓库,独立复现项目已经把论文的关键公式映射到可读代码。世界模型的多步训练在 src/supermimic/world_model/world_model.py::window_loss 中逐帧调用同一步进函数,并把每步状态误差与终止交叉熵累加,这与公式中的 $k$ 步自回归结构一致。
for j in range(k):
s, sq, bce, logits = step_fn(
s, a_exec[j], xi, states[j + 1], done[j], refs[j].root_pos_w
)
total_state = total_state + sq.sum(-1).mean()
total_term = total_term + bce.mean()
loss = total_state / k + self.cfg.term_loss_weight * total_term / k
想象目标与评论家目标位于 src/supermimic/imagination/objective.py。policy_objective 对生存权重和折扣后的奖励求和,并加入终止状态价值;gae_targets 按论文公式从最后一个价值向前递推。这个对应关系帮助我们确认论文并没有把最终价值只当常数处理,而是保留了它相对于终止状态的梯度。
J = (disc[:, None] * ro.survival[:-1] * ro.rewards).sum(0)
J = J + (gamma ** H) * ro.survival[-1] * terminal_values
R = rewards[t] + gamma * (1.0 - dhat_next[t]) * (
(1.0 - lam) * values[t + 1] + lam * R
)
需要再次强调,以上代码只是第三方复现,不是作者发布的官方实验实现。它证明了方法结构可以被外部工程师重建,也不能替代论文作者报告的 H100 结果。
实验一:用更少数据、更少 GPU 小时超过 SONIC
论文首先与 SONIC 比较。两者都建立在 BeyondMimic 的动作跟踪奖励和 G1 重定向数据流程上,因此属于同一问题设定下最直接的公开对照。SuperMimic 使用 BONES-SEED 的 264.56 小时公开子集,而 SONIC 使用约 611 小时数据;前者数据量大约少 2.3 倍。相同过滤动作基准包含 129,514 条动作,两类方法从头帧完整播放并统一评估。
| 方法 | 硬件与训练时间 | GPU 小时 | 训练数据 | 论文报告的结论 |
|---|---|---|---|---|
| SONIC | 128 张 L40,168 小时 | 约 21,000 | 约 611 小时动作 | 已发布检查点,归一化回报 0.90 |
| SuperMimic | 1 张 H100,3 小时 | 3 | 264.56 小时动作 | 超过 SONIC 检查点回报,失败 25 条 |
| SuperMimic 长训练 | 2 张 H100,9.8 小时 | 19.6 | 264.56 小时动作 | 129,514 条动作零失败 |
论文将比较保守地写成“超过 50 倍更少墙钟时间、超过 1000 倍更少 GPU 小时”。严格按报告数字计算,168 小时除以 3 小时约为 56,21,000 除以 3 约为 7,200。这不是相同硬件、相同数据量和相同实现成熟度下的绝对加速比,但数据少 2.3 倍、H100 峰值张量算力高 5.5 倍也远不足以解释三个数量级的 GPU 小时差异。
更有说服力的是失败动作统计。SONIC 在全部 44 条翻转、全部 22 条侧滚和一段 8 条舞蹈中全部失败;SuperMimic 单卡 3 小时后只失败 25 条,其中 14 条集中在五组困难动作,而且没有任何动作组比 SONIC 失败更多。评论家把想象窗口与长时恢复连接起来,可能是困难翻转与接触动作改善的重要原因。
| 动作组(条数) | SONIC 失败 | SuperMimic 单卡 3 小时 | SuperMimic 双卡 9.8 小时 |
|---|---|---|---|
| 侧滚(22) | 22 | 2 | 0 |
| 360、180、90 度翻转(44) | 44 | 1 | 0 |
| 钻火圈式转身(20) | 3 | 3 | 0 |
| 交叉腿(10) | 9 | 0 | 0 |
| 躺卧、休息与起身(99) | 28 | 8 | 0 |
| 立定跳远(24) | 15 | 0 | 0 |
| 舞蹈套路(8) | 8 | 0 | 0 |
| 其余动作(129,287) | 50 | 11 | 0 |
| 总计(129,514) | 179 | 25 | 0 |
图 3 把回报、算力和预测误差放在同一纵向尺度上。左图横轴采用对数坐标,因此三小时与两万一千小时的距离非常直观;中图显示达到目标回报所需的 GPU 小时随数据长度增长得较慢;右图显示 8 步预测误差在 1 到 264 小时数据之间保持 0.007 到 0.011。三条证据共同支持“共享模型摊销动力学”而不是“某一组超参数偶然奏效”。
图 3:论文的扩展性证据。数据量扩大 264 倍时,预测误差保持稳定,达到目标回报所需算力缓慢增长。来源:论文 Figure 3。
实验二:同一奖励与观测下,PPO 仿真基线需要更多卡和更多时间
为了排除只拿不同系统做外部比较的影响,作者在 LAFAN1 的 40 条动作、2.45 小时数据上建立了 PPO-Sim 对照。两者共享动作、观测、奖励、终止、域随机化、演员和评论家网络大小及评估协议。PPO-Sim 使用 BeyondMimic 的 PPO 超参数,并在每张 GPU 上运行 8192 个并行环境,是 SuperMimic 4096 个环境的两倍。
| LAFAN1 对照 | GPU 配置 | 训练预算或结果 | 评估归一化回报 |
|---|---|---|---|
| SuperMimic | 1 张 H100 | 1.2 小时达到目标 | 0.82 |
| PPO-Sim | 1 张 H100 | 18 小时预算内未达到 0.82 | 0.60 |
| PPO-Sim | 4 张 H100 | 18 小时预算内未达到 0.82 | 0.70 |
| PPO-Sim | 8 张 H100 | 18 小时预算内未达到 0.82 | 0.72 |
从 4 张卡增加到 8 张卡,PPO-Sim 的回报只从 0.70 升到 0.72,说明继续堆叠数据并行并没有线性解决问题。原因不只是每台机器的仿真速度,而是无模型策略梯度需要更多样本才能降低估计方差。SuperMimic 的模型也使用仿真器收集数据,但数据被用来拟合同一个动力学模型,随后解析梯度可以进行更高信息密度的更新。
世界模型自身的性能在三个维度上被拆开:预测是否随数据扩大而稳定、想象是否足够快、梯度是否比策略梯度更节省样本。论文报告在实践使用的 2k 到 16k 并行环境范围内,想象 rollout 比 MuJoCo Warp 快 10 倍以上,在 64k 环境时达到 62 倍。速度之外,达到 PPO-WM 最好回报所需的想象步数少约 64 倍,说明一阶梯度本身也贡献了效率。
评论家消融进一步揭示短项目的边界。没有评论家时,$H\le 16$ 无法完成训练;有评论家时 16 步可以追上无评论家的 32 步,默认 32 步达到目标最快。把窗口加到 64 到 128 步不但没有线性收益,反而显著增加训练时间并降低最终回报。世界模型短期准确、评论家补足长期价值,比盲目延长 BPTT 更合理。
在静态 T 姿势下施加 0.5 到 4 米每秒的速度推力,带评论家的策略能在 0.5 到 2.4 秒内稳定;无评论家策略即使只有 0.5 米每秒也持续踉跄,4 米每秒时会跌倒。这一结果把“评论家是否帮助恢复”从直觉变成了可测行为。
实验三:下游速度接口与真实机器人
论文还初步验证了同一世界模型能否训练不同的目标接口。每个接口有自己的目标编码器、奖励和终止,但最终共享一个动作解码器。速度接口的强化学习版本直接优化速度跟踪奖励,蒸馏版本则使用动作跟踪奖励,并让命令从参考动作中读出。二者都从头训练 100,000 次迭代。
在 672 个速度阶跃命令上,强化学习编码器在 650 个响应上拥有更低稳态误差,蒸馏编码器在 15 个上更好,剩下两个未由胜负计数单独说明。二者中位相对误差分别为 0.16 和 0.49。蒸馏版本还在 7 个高速转向命令上每次都跌倒,这些命令组合的平移与偏航速度几乎没有动作库数据覆盖。
真实机器人实验使用 Unitree G1,由同一个通用跟踪器执行四类动作,没有为每条动作单独微调:跳绳式跃起、躯干和四肢接触地面的侧滚、90 度翻转,以及原地 360 度翻转。图 6 的连续帧说明策略覆盖了腾空、接触和完整姿态翻转,而不只是平面行走。
图 6:一个通用策略在真实 Unitree G1 上完成跳跃、侧滚、90 度翻转与原地 360 度翻转。来源:论文 Figure 6。
数据过滤与可复现性
动作数据并非直接拿原始库训练。BONES-SEED 的 G1 重定向版本有 142,220 条片段,其中不少涉及楼梯、箱子、梯子、椅子等当前平面站立机器人无法使用的环境。作者先用动作名称过滤与地形或物体接触的片段,再通过 MuJoCo 正运动学检查躯干和脚部轨迹,移除悬空支撑、穿地、长时间双脚离地等不可实现片段。
| 处理阶段 | 动作数量 | 相对原始数据 |
|---|---|---|
| BONES-SEED G1 重定向原始数据 | 142,220 | 100% |
| 动作名称过滤后 | 129,667 | 91.2% |
| 可行性过滤后 | 129,514 | 91.1% |
观测包含 29 维相对默认姿态的关节位置、29 维关节速度、3 维惯性测量单元角速度、3 维投影重力和 29 维上一帧动作,共 93 维;策略使用最近 10 帧历史。运动编码器读取未来 10 帧参考动作,动力学网络使用 2048—2048—2048 的多层感知机,运动编码器和共享解码器使用 2048—1024—512—256 结构,评论家使用 256—128 结构。
默认训练超参数包括 $k=8$ 的世界模型窗口、$H=32$ 的想象窗口、$\gamma=0.99$、$\lambda=0.95$、每张 GPU 4096 个环境、每轮 4096 条想象轨迹和 0.4 的更新数据比。单卡世界模型学习率为 $2\times10^{-4}$,双卡按数据并行规模扩大;动作噪声标准差为 0.1,梯度全局范数裁剪为 1.0。
局限与边界
作者明确承认多接口联合训练仍是初步研究。速度奖励只更新速度编码器,共享解码器仍然只由动作跟踪目标训练。因此,“同时训练速度接口和动作跟踪接口”在当前实现中与“先训练动作跟踪,再训练速度编码器”在参数更新上接近,联合训练是否在速度奖励也能更新共享解码器后产生额外收益,论文尚未回答。
第二个作者自述局限是世界模型只从仿真转移学习。真实机器人数据没有进入世界模型,因此它无法自动利用硬件上的摩擦变化、执行器磨损或未建模延迟。作者提出可以用真实数据细化模型,并借助可微性做系统辨识,但论文没有给出这方面的实验。
第三个作者自述局限是只在平面地面训练。SuperMimic 不处理台阶、斜坡、可动物体和操作交互。扩展到地形与物体接触意味着世界模型必须处理新的几何约束、外部力与更复杂的接触模式,当前结论不能直接外推。
从审稿角度看,最需要补充的是泛化证据。129,514 条 SONIC 与 SuperMimic 评估动作都是两者的训练动作,失败数衡量的是训练集覆盖程度,不是对新动作的零样本泛化。论文没有提供按动作类别或动作片段留出的 held-out 基准,因此“零失败”不能等同于“对未见动作永远成功”。
另一个解释边界是计算比较并非硬件完全同构。SONIC 使用 L40 集群,SuperMimic 使用 H100,二者数据量也不同。论文用 2.3 倍数据差异和最多 5.5 倍峰值张量算力差异论证三个数量级不能由硬件解释,这个论证成立;但若要精确测量算法加速比,仍需要相同 GPU 类型、相同数据量和更强基线调优。
结论:算力不再是扩展动作库的第一瓶颈
SuperMimic 的核心贡献不是“世界模型可以预测下一帧”,而是把世界模型放在策略梯度的计算路径上。一个模型学习所有动作共享的刚体动力学,短程 BPTT 提供低方差梯度,评论家补足短窗口之外的回报。三者组合后,动作库扩大主要增加共享动力学覆盖和轻量数据拟合成本,而不是要求成比例扩大多卡 PPO 训练。
实验结果支持这一主张:单卡 3 小时超过集群 SONIC 的回报,9.8 小时双卡在训练集基准上零失败,264 倍数据扩展下预测误差保持稳定,策略还能迁移到 Unitree G1 完成高动态动作。它还没有解决真实世界自适应、地形与物体交互、未见动作泛化,但它把这些问题从“计算成本不允许测”推进到“可以在一张 GPU 上系统研究”。
当一个模型学会了所有动作共享的物理规律,扩展动作库就不再只是购买更多 GPU,而是在同一张动力学地图上增加坐标。
金句:SuperMimic 真正复用的不是动作轨迹,而是动作背后那套可微的人形身体规律。



