你是想让机器人"学跳舞",还是给它装一颗"GPT 心脏"?——聊聊 Humanoid-GPT
读完银河通用机器人(Galbot)和清华联合团队这篇 CVPR 2026 的 Humanoid-GPT,我脑子里跳出一个画面:一个人形机器人站在客厅里,按照一段它从未见过的 Kung Fu 参考动作,像模像样地打了套拳,没摔倒,没抽搐,关节轨迹平滑得像个练了十年的武者。
这听起来像科幻。但这不是科幻——Unitree G1 已经在真实家庭场景里做到了,用的是一颗被 20 亿帧运动数据"喂大"的因果 Transformer。
他们管它叫 Humanoid-GPT。这名字取得精准——它和 OpenAI 的 GPT 系列共享同一条底层哲学:scale 是泛化最可靠的路径。
1. 问题的根:敏捷与泛化,为什么非要二选一?
先讲一个让我不太舒服的事实。
在人形机器人运动跟踪这个领域,过去几年一直有个"魔咒":敏捷性和泛化性互相打架。你想让机器人跟得好高动态动作(拳击、快速舞步)?可以,训练一个专精策略——但它出了训练域就崩,换段新舞蹈就原地躺平。你想让机器人泛化到各种未见风格?也行,造个通才策略——但它对复杂动力学欠拟合,跟踪出来软绵绵的,该爆发的时候爆发不出来。
这不是工程细节没调好。这是根本矛盾。
MLP 跟踪器(BeyondMimic、ASAP)在小规模 mocap 语料上训,参数几十万,能抓到局部动力学模式,但容量太浅,装不下"通用运动先验"。GMT 用 MoE 结构、UniTracker 用 CVAE 师生框架试图扩覆盖,但底子还是 MLP,数据规模上不去,该卡的地方照样卡。
SONIC(NVIDIA GEAR 实验室,CVPR 2026 同期)是这个路线里野心最大的——堆到 1 亿帧数据、把 scale 当成一等公民。但它踩了一个坑:数据规模上去了,模型容量没跟上。MLP 控制器在亿帧级别开始饱和,再喂数据也涨不动,结构本身成了天花板。
这就引出了 Humanoid-GPT 的论断:敏捷与泛化的取舍不是本质的,它是"规模不足 + 训练设计不匹配"的症状。 如果你把数据、模型、训练配方三条线都拉到位,这个取舍是可以消解的。
怎么消解?三件事。
2. 第一件事:数据——你得先有 20 亿帧"运动教科书"
任何一个严肃的缩放实验,第一关都是数据。Humanoid-GPT 的数据策展,值得单独拆一章。
他们做了什么?把所有主流 mocap 源——AMASS、LAFAN1、Motion-X++、PHUMA、MotionMillion——加上大规模自采数据,聚合到一起。然后过运动重定向管线,把每一条人体动作映射到 Unitree G1 的 29-DoF 关节空间。这步做完,所有动作从"人类骨架"变成了"G1 能直接读的教科书",统一了 token 空间。
但还有两个关键操作。
过滤掉物体交互动作。 坐椅子、游泳、爬楼梯——这些动作涉及人-物接触,在空旷场景下机器人的驱动能力不兼容。主动裁掉,保证语料里每条动作都是机器人在物理上可执行的。这是勇敢的选择:牺牲覆盖广度,换取数据质量。
时间扭曲增广。 对每条序列做 uniform 的加速/减速,把数据集扩充约 5 倍。这不是为了凑数——它让模型见识到同一段动作在不同速度下的形态,增强了速度鲁棒性。
最终产出:20 亿帧 G1 重定向运动 token,比以往跟踪训练集(约 720 万帧)大 200 倍以上。
但这个规模也带来了新问题:大不等于好。如果语料里常见风格(走路、站立)主导,罕见但重要的动作(翻腾、快速旋转)淹没在长尾里,你喂再多数据,模型也只学会"走路走得好"。
所以需要度量多样性。
3. 一个意外的高光:Harmonic Motion Embedding(HME)
这是我觉得整篇论文里最聪明的一个设计。
怎么度量一段运动的"多样性"?直觉上,不同动作有不同的节奏、幅度和力学模式——走路低频大振幅,拳击高频短爆发。如果你能从原始关节序列里抽出一种"周期特征"的紧凑表示,就可以在这个特征空间里度量多样性、发现长尾、做平衡采样。
他们的做法很巧:先在不同数据划分上训练若干 Periodic Autoencoder(周期性自编码器),从每条序列里抽出 逐关节的周期振幅和频率。然后对每条序列聚合这些关节级谐波特征的均值和标准差,得到一个紧凑的 HME 向量。
有了 HME 嵌入,两件事变得顺手:
聚类。 在所有 HME 向量上跑 K-Means(以两两距离为相似度),聚出约 300 个运动簇,每簇约 1000–2000 条序列。簇内一致性强(同簇的动作具有相似的节奏-力学特征),又保留全局覆盖。
量化多样性。 在嵌入矩阵上算协方差,定义两个指标:
$$ gstd = exp( (1/D) * Σ log σ_j ) ← 几何标准差,度量"铺得有多广" log-volume = (1/2) * log det(Σ + εI) ← 对数体积,度量"覆盖得有多密" $$
他们在 HME 空间里的可视化显示:策展数据的 log-volume 比 AMASS 高约 4–5 倍,潜在覆盖明显更广。这不是"多了几倍数据",这是数据在潜在流形上铺得更广、更均匀。
一条朴素但有力的结论随之浮现:多样性和平衡缺一不可。 只多样不平衡,模型会过拟合高频模式;只平衡不多样,性能天花板封死。HME 把这两个维度同时度量了,也让采样策略有了科学依据。
4. 第二件事:专家——300 个"专精教练",各管一摊
有了 300 个运动簇,下一步是给每簇训一个"专家"。
这一步的逻辑很清楚:你要蒸馏出一个通才,先得有一批能把各自领域动作跟到位的专才。专家的质量直接决定通才的上限。
他们在每个 HME 簇上用 PPO(近端策略优化) 训练一个独立的跟踪策略:
$$ π: G × S → A $$
输入是参考关节姿态 $g_t = q_t^ref$ 和机器人特权本体状态 $s_t^priv$(各关节位置/速度、根角速度、投影重力、上一步动作),输出是各关节动作 a_t,再经 PD 控制器转成力矩。
奖励设计有讲究:在身体关键点级计算(手臂、髋、脚、骨盆等关键部位的位置和速度一致性),用指数形式做软惩罚:
$$ R_kpt(t) = R_pos + R_rot + R_vel + R_penal $$ $$ R_pos(t) = Σ w_k · exp(-α_pos · ‖e_k,t^pos‖₁) $$
指数形式的好处:当偏差小的时候梯度大,督促模型"差一点也要继续优化";偏差大到一定程度后梯度衰减,避免异常值主导。这比 L2 硬惩罚更稳。
训完后只保留高保真且长时程稳定的专家。注意这里的关键词:不是每条轨迹都能训出好专家。有些簇因为动力学太复杂或奖励信号太稀疏,专家塌掉了。这些被无情丢弃——宁缺毋滥,是为蒸馏不被噪声拖垮的前提。
最终得到一个覆盖异构运动域的"运动先验库":约 300 个专家,每人精于一类动作,合在一起覆盖了整个语料的动力学分布。
5. 第三件事:蒸馏——把 300 个教练的知识,压进一颗 Transformer
这是 Humanoid-GPT 的核心。
蒸馏阶段用 DAgger(Dataset Aggregation) 把所有专家的行为合并进单个通才策略 $G_θ$。关键在于:他们把蒸馏 重新表述为序列建模问题。
每个时刻,把本体状态 s_t 和参考姿态 $q_t^ref$ 拼成 token 嵌入 $e_t$,长度 H 的 token 序列 ${e_{t-H+1}, …, e_t}$ 喂进一个带 时序因果掩码 的 Transformer。一次前向后,所有输出位置的动作都由对应教师的历史输出监督:
$$ â_{t-H+1:t} = ∪_{t_i ∈ T} concat_{k∈[−H+1,0]}^{t_i} (s_{t−k}^{priv}, g_{t−k}) $$ $$ L = SmoothL1( G_θ(e_{t-H+1:t}), â_{t-H+1:t} ) $$
这套设计同时吃到 Transformer 的几重红利:
并行序列监督。 一次前向,整段历史的所有位置同时被监督。比起 HumanPlus 用标准 PPO 训 Transformer——每一步只拿一个动作的反馈——效率差了 H 倍。DAgger 让 Transformer 的并行前向能力真正发挥出来,训练效率极高。
自回归时序预测。 因为不同位置的 token 注意到的历史长度不同(episode 开头的 token 看到的信息很少,末尾的 token 看到整段历史),模型隐式学会了"位置无关的时序预测"——即便历史信息稀缺的 episode 开头,也能输出稳定、物理一致的控制。这是一个"免费"的鲁棒性,是序列建模结构天然带来的。
因果掩码天然匹配在线约束。 推理时不能看未来观测——这是在线控制的硬约束。因果掩码恰好保证每个 token 只能注意过去,训练和推理的 gap 为零。非因果建模(双向注意力)在训练时偷看了未来,推理时得兜底,这个 gap 在长序列里会累积成灾难性漂移。
结构不随规模饱和。 MLP 和 TCN 在数据规模上去后早早饱和(看表:MLP 从 2M 到 20M 涨了不到 7 个点 SR,TCN 同理),而 Transformer 的 SR 从 2M 到 2B 一路单调涨——结构本身是能否吃到 scale 红利的前提。
6. 缩放定律:数据 × 模型 × 结构,三位一体
表 2 是全篇最有信息密度的一张表。我把它翻译成人话:
| 版本 | 训练 token | 参数量 | SR ↑ | MPJPE ↓ | MPKPE ↓ |
|---|---|---|---|---|---|
| MLP (3层) | 2M | 0.25M | 76.89 | 0.1191 | 100.49 |
| TCN (8层) | 2M | 0.65M | 81.48 | 0.0885 | 79.75 |
| GPT-S | 2M | 5.7M | 83.26 | 0.0853 | 62.65 |
| GPT-S | 20M | 5.7M | 86.02 | 0.0802 | 46.49 |
| GPT-B | 200M | 22.1M | 88.27 | 0.0793 | 44.78 |
| GPT-B | 2B | 22.1M | 90.43 | 0.0768 | 41.49 |
| GPT-L | 2B | 80.4M | 92.58 | 0.0735 | 40.99 |
第一,结构决定能否吃到 scale 红利。 MLP/TCN 在 2M token 就开始饱和,Transformer 从 2M 到 2B 持续涨——不是数据没用,是你的结构装不下。
第二,数据缩放单独就显著涨点。 同模型 GPT-S,数据从 2M → 20M,SR 涨 2.8 个点,MPKPE 从 62.65 降到 46.49(降了 25%)。同模型 GPT-B,数据从 200M → 2B,SR 从 88.27 到 90.43。没有饱和迹象。
第三,模型缩放单独继续涨点。 同在 2B token 上,GPT-B (22.1M) → GPT-L (80.4M),SR 从 90.43 到 92.58。80M 参数还没到顶——这意味着进一步放大模型可能还有红利。
这就是人形跟踪的缩放定律:数据规模和模型容量同时放大,全线单调改善。MLP/TCN 早早饱和而 Transformer 不饱和。这是一张路线图——如果你也想做人形运动控制,"该用什么结构、该喂多少数据"都有参考答案了。
7. 真机:零样本跳舞的 G1
仿真的缩放定律好看,但落地才是硬道理。
他们在 Unitree G1(29-DoF 全身)上做了真机部署。测试的是四段训练时完全未见过的舞蹈动作。结果:Humanoid-GPT-B 的 MPJPE/MPJVE 普遍优于 GMT、TWIST、Any2Track。
以 "Can Do Can Go!" 这段舞为例——GPT-B 的 MPJPE 0.0974,GMT 0.1087,TWIST 0.1253。GPT 比 GMT 低 10%,比 TWIST 低 22%。
更重要的是,真机结果与仿真高度吻合——零样本 sim-to-real 迁移稳健。这在人形机器人里可不是理所当然的。sim-to-real gap 是行业共同的痛,而 causal Transformer 的时序一致性在这个 gap 上起了缓冲作用:即使某个时刻的本体观测有噪声,历史上下文可以帮你"猜"出更合理的动作。
部署管线也做了极致优化:ONNX→TensorRT 编译 + C++ 流式 pipeline,端到端延迟 < 1.5ms(单张 RTX 4090),比 TWIST 快约 5 倍。1.5ms 意味着 200Hz 的控制频率绰绰有余——实时性不牺牲。
他们还展示了两个"极端动态动作"的微调版本:360° 旋风踢 和 Webster 空翻。只需要几步轻量微调,Humanoid-GPT 就能跟踪远超训练分布的极端动作。这说明预训练学到的"运动先验"是可迁移的——它不是死记硬背,而是在 HME 的周期特征空间里学到了某种跨动作的动力学不变性。
8. 生态定位:GPT 范式从 NLP 到 CV 到 Robotics 的必然迁移
如果把 Humanoid-GPT 放在更大的坐标系里看,这条线的逻辑非常清晰。
2017 年 Transformer 出来,NLP 先吃到红利——BERT、GPT 系列证明了"大模型 + 大数据"能涌现零样本泛化。2020 年后 CV 跟进——ViT、MAE、DINO 证明了同样的范式在视觉域也 work。现在轮到了 Robotics。
但 Robotics 有自己的特殊性:控制信号是时域的、因果的、在线的。你不能像 BERT 一样做双向注意力,因为推理时你看不到未来。你也不能像 ViT 一样把图片切成 patch 喂进去,因为控制需要跨越数秒乃至数十秒的因果链。
Humanoid-GPT 的答案是:因果 Transformer + DAgger 序列蒸馏。 因果掩码匹配在线约束,DAgger 利用 Transformer 的并行前向做高效监督。这套组合拳——不是简单地把 NLP 的 recipe 搬到机器人上,而是在保留 Transformer 核心优势的同时,针对在线控制的约束做了重新设计。
和同期工作的横向对比:
| 方法 | 结构 | 敏捷 | 零样本 | 数据规模 | 核心局限 |
|---|---|---|---|---|---|
| BeyondMimic | MLP | ✓ | ✗ | ~7.2M | 专精,不出域 |
| ASAP | MLP | ✓ | ✗ | — | 专精高动态 |
| GMT | MoE-MLP | ✓ | ✗ | 6.0M | 覆盖仍有限 |
| UniTracker | MLP | ✓ | ✗ | 7.2M | CVAE 扩覆盖,但 MLP 容量受限 |
| TWIST | MLP | ~(弱) | ~(弱) | 9.2M | 泛化好但高动态吃劲 |
| Any2Track | MLP | ✓ | ✗ | 9.1M | 只做 sim |
| SONIC | MLP | ✓ | ✓ | 100M | MLP 饱和,结构天花板 |
| HumanPlus | Transformer | ✗ | ✗ | 7.2M | 标准 PPO 训,浪费并行优势 |
| Humanoid-GPT | Transformer | ✓ | ✓ | 2.0B | 当前最强;不覆盖物体交互 |
9. 费曼式的判断:具身智能的"GPT 时刻"可能到了
论文里有一个细节让我想了很久。
他们说:当模型和数据被适当放大时,视频估计的运动也能实质性提升跟踪。 这意味着你不用再花几十万美金建 mocap 棚——用普通摄像头拍一段视频,提取关键点,喂给 Humanoid-GPT,机器人就能跟。
这和 GPT-3 的"few-shot learning"异曲同工:GPT-3 证明了语言模型不需要为每个下游任务 fine-tune,Humanoid-GPT 证明了运动跟踪器不需要为每种动作单独训练策略。规模本身带来了泛化。
这不是"把模型做大就行了"的简单粗暴。Humanoid-GPT 的贡献在于:证明了 humanoid motion tracking 这个子问题存在 clear scaling law,并给出了一个可复制的路线图——数据怎么策展(重定向 + HME 聚类 + 平衡采样)、结构怎么选(因果 Transformer)、训练怎么做(RL 专家 → DAgger 蒸馏)。
但他们也诚实标注了边界:过滤了物体交互动作(不覆盖坐、游、爬楼),真机定量样本偏少(四段舞),缺乏地形变化、外力扰动、负载变化等鲁棒性挑战的系统评测。
这些都是下一章的空间。耦合长时程规划或 VLA 式指令,走向更通用的具身基础模型,是作者明确的下一步。
10. 带走的启发
三条。
第一,scale 不是万能药,但没 scale 万万不能。 Humanoid-GPT 不是"把 Transformer 塞进机器人"的简单迁移,而是在数据的策展、多样性的量化、训练配方的设计上做了系统的工程化。scale 生效是有前提的。
第二,HME 是个可迁移的工具。 用 Periodic Autoencoder 的关节级振幅/频率构造运动嵌入——这个思路可以迁移到任何需要平衡采样的运动/时序数据集。动作识别、异常检测、运动生成,都可能受益。
第三,"专家蒸馏"是破解专才-通才矛盾的通用范式。 分簇专家保证覆盖率(敏捷),蒸馏统一成单策略保证泛化——这不是机器人独有的问题。任何多域学习场景(多语言、多模态、多任务)都在面对同一个取舍。Humanoid-GPT 的答案是:用聚类给每个子域配上专才,再用序列建模把专才压成通才。
---
论文元数据:
- 标题: Humanoid-GPT: Scaling Data and Structure for Zero-Shot Motion Tracking
- 作者: Zekun Qi\*, Xuchuan Chen\*, Dairu Liu\*, Chenghuai Lin\*, Yunrui Lian, Sikai Liang, Zhikai Zhang, Yu Guan, Jilong Wang, Wenyao Zhang, Xinqiang Yu, He Wang†, Li Yi†
- 机构: 清华大学、Galbot Inc.(银河通用)、北京航空航天大学、上海交通大学、北京大学、上海期智研究院
- 发表: CVPR 2026
- arXiv: 2606.03985
- 代码: https://github.com/GalaxyGeneralRobotics/Humanoid-GPT
- 项目页: https://qizekun.github.io/Humanoid-GPT/
- 核心贡献: 首个 GPT 式人形运动 Transformer——20 亿帧预训练 + 因果注意力 + RoPE,300 个 RL 专家蒸馏成通才,零样本跟踪未见动作,在 Unitree G1 上实现全身控制