一个人形机器人一秒钟要吐出多少个数?在 Holo-M 的设定里,答案是 96 个维度乘 30 步,也就是 2880 个浮点数。腿在动,躯干在动,两只手各有十几个关节在动,这些量混在一起,量纲不同,频率也不同。
机械臂的 VLA 模型已经用离散动作 token 跑通了。人形的问题在于全身动作空间维度高得多,而且异构。 arXiv:2609.35709 给出的 Holo-M 做法是:先把这 2880 个数切成四组分别分词,再让语言模型用同一套词表把它们一起吐出来。
🧩 四组分词器,和一份 96 维的动作空间
Holo-M 把动作空间按身体部位拆成四组:末端执行器、身体、手、运动学。每组先用离散余弦变换沿时间轴压缩,每个动作维度只保留前 2 个低频系数,残差再用 4 级残差向量量化(RVQ)离散化。码本由 k-means 拟合,不额外训练神经网络。
| 分组 | 内容 | 原始维度 | token 数 |
|---|---|---|---|
| 末端执行器 | 双腕位姿与指尖位置 | 48 | 100 |
| 身体 | 身体关节目标 | 29 | 62 |
| 手 | 手部关节目标 | 14 | 32 |
| 运动学 | 基座速度、高度、偏航角速度 | 5 | 14 |
| 合计 | 一个 30 步的动作块 | 96 | 208 |
末端执行器那一组是共享的任务空间表示,这让三类差别极大的数据能进同一个词表训练:人形遥操作数据、以自我为中心的人类视频、仿真数据。缺失的组不靠人工填充,而是用有效性掩码直接从损失里排除。比如 EgoDex 样本只有末端执行器有效,那就只有这 100 个 token 参与损失。
骨干是 Qwen3-VL-2B,视觉编码器冻结,只优化语言骨干。词表在 Qwen3-VL 基础上扩展了状态 token、动作 token 和结构 token。动作 token 与语言 token 同处一个词表,由同一个序列模型生成,因此没有独立的连续动作专家,也没有单独的扩散模型。
⚡ 从 208 步顺序解码压到 32 步
自回归解码一个动作块要 208 次顺序前向。对 30 Hz 的控制回路来说,这个长度太奢侈。
Holo-M 的做法是分组离散扩散解码。四个组各构成一个扩散块,仍按末端执行器到运动学的顺序排列;组内 token 双向交互、可以并行重建,组间保持因果,后面的组看不到前面的组之外的未来信息。推理时每一步让模型预测所有掩码位置,按置信度从高到低去掩码,一个组完成后才追加进上下文去解下一个组。
用 8 个去掩码步,四个组一共 32 次顺序解码步,比自回归的 208 步少 6.5 倍。
延迟实测在单张 RTX 5090 上做,机器人通过 WebSocket 接收指令。
| 去掩码步数 | hold 预算 | 推理延迟(毫秒) |
|---|---|---|
| 2 | 233 | 175.8 ± 11.5 |
| 4 | 333 | 275.7 ± 9.3 |
| 8 | 500 | 476.8 ± 16.9 |
三档都落在预算内。仿真评估用的是 8 步,对应 500 毫秒观测周期。控制回路设计成固定节奏:新观测每 15 个 tick 采一次,模型推理新块时机器人继续执行上一个块,超时的块会被丢弃,机器人回到上一姿态。
📊 SIMPLE 基准上的两组数
SIMPLE 基准用 6 个代表性任务,在 3 个域随机化等级下各跑 10 次,满分 180。
通才模式(单个检查点在全部 24 个任务上联合后训练,不做单任务适配):
| 方法 | 总分 |
|---|---|
| Holo-M | 143 / 180 |
| Holo-M 自回归版 | 138 / 180 |
| Ψ0 | 114 / 180 |
| ACT | 79 / 180 |
| DreamZero | 38 / 180 |
| π0.5 | 28 / 180 |
专才模式(从同一个通才检查点出发,各任务单独微调):Holo-M 163 / 180,Holo-M 自回归版 157 / 180,Ψ0 154 / 180,ACT 149 / 180,DreamZero 118 / 180。差距最大的是长程的移动拾放,Holo-M 拿到 25 / 30,Ψ0 是 18 / 30。
注意自回归版本身就已经超过所有基线。这说明主要增益来自统一分词器与联合训练,分组扩散的贡献是另外一截:成功率略涨,顺序解码深度从 208 降到 32。
预训练数据的贡献同样量级可观。不做预训练直接在 SIMPLE 上训练只有 53 / 180,加上 Humanoid Everyday 的人形数据翻倍到 119 / 180,再补上 EgoDex 的以自我为中心人类视频到 138 / 180,合计 2.6 倍。
🤖 真机上只测了两个任务
部署平台是 Unitree G1-comp 竞赛版,配两只 Dex3 灵巧手和顶部 RealSense 相机。输入是头部相机 640×360 的 30 Hz RGB、31 个上半身关节角(各离散成 256 个状态 token)与语言指令。不输入下半身关节、基座速度、高度和 IMU。
真机成功率是桌面抓取 10 / 10,移动拾取 8 / 10,各 10 次 rollout。所用的专才检查点在每个任务上用了 100 条遥操作 episode 微调。
🧭 值得盯的地方
值得肯定的是整套设计把一件难事拆干净了:异构数据源靠分组掩码共存,实时性靠组内并行与组间因果一起解决,模型本身没有额外参数。【判断】
要留个心眼的是验证范围。SIMPLE 的分数全部来自仿真,真机只报了两个任务、每任务 10 次,且两个任务都不涉及下半身与基座的强耦合。论文把运动学组排在最末尾解码,意味着基座指令依赖前三个组的输出,这类依赖在长程导航中的稳定性还需要更多真机数据才能判断。【推论】
团队表示会公开全部代码与模型权重。这一步兑现之后,208 个 token 的分词方案能不能成为人形全身控制的通用接口,很快会有第三方答案。
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。