Hugging Face发布MolmoMotion:让语言开口指挥3D动作
AI2团队基于Molmo视觉语言模型推出MolmoMotion,把3D人体动作预测变成了一道自然语言驱动的多模态任务,开发者可以用一句话告诉模型'下一秒人物要往哪走、做什么动作'。
一句话让人物动起来,MolmoMotion 把动作预测做成了VLM任务
6月17日,Hugging Face 博客上线了 Allen AI(AI2)团队的新作 MolmoMotion——一个用自然语言驱动的 3D 人体动作预测模型。和过去一票文生动作(Text-to-Motion)模型不同,这次 AI2 不是再训一个 diffusion,也不是再搞一个 VQ-VAE+Transformer,而是直接把动作预测塞进了自家 Molmo 视觉语言模型的框架里:你给它一段已经发生的动作历史、一张场景图、再来一句话描述意图,它输出后面几秒的关节序列。
这个思路在最近半年的多模态圈里算是个明确的信号。文生动作过去两年从 MDM、MotionGPT 一路打到去年底腾讯混元那个 1B 参数的 HY-Motion,路径越来越像视频生成——堆数据、堆参数、流匹配。MolmoMotion 反其道而行,把动作当成 VLM 的一种'输出模态'去对齐,强调的是"指令跟随"和"场景理解",而不是单纯的运动学保真。对开发者来说,这是两套完全不同的工程范式。
它到底在解决什么问题
先把场景说清楚。传统的 3D 动作预测(motion forecasting)任务,给你前几帧的骨骼序列,让你预测接下来 N 帧,本质是个时序回归。这类模型在自动驾驶里的行人轨迹预测、VR 里的 avatar 动画补帧都有用,但有个老问题:模型不知道人为什么这么动。
举个例子:一个人走到桌前停下,下一秒他是要坐下、拿杯子、还是转身走?纯靠历史关节数据猜,概率分布会被拍平,模型只能输出一个"平均最像"的动作,看起来软绵绵。MoMask、HumanML3D 这条线的工作通过文本条件来缓解,但文本是"全局描述",没解决"我现在就想让他坐下"这种即时意图注入。
MolmoMotion 的切入点正是这里。它把任务重新定义为:
- 输入:过去 K 帧的 3D pose + 当前场景的 RGB 图像 + 一段自然语言指令(比如 "pick up the red mug and sit down")
- 输出:未来 N 帧的 SMPL 参数序列
关键在于第二项——场景图像。AI2 一直在做视觉grounding,Molmo 本身在 pointing(指物)任务上是开源界最强的之一。MolmoMotion 继承了这个能力,意味着它能从图像里识别出"red mug"在桌上的具体位置,再去规划手的轨迹。这件事过去要么靠单独的 affordance 模型(参考去年那篇 Move as You Say),要么靠手工标的 goal point,现在 VLM 一把端到端吃下来。
技术栈拆解
按博客给出的信息,MolmoMotion 的核心做了几件事:
1. 动作 tokenizer 重新设计
不是 VQ-VAE。AI2 这次用了类似 residual quantization 的方案,把 SMPL 的 body pose(22 个关节的旋转 + root translation)按帧切成 token,每帧多个码本叠加来还原细节。这种做法在 MoMask 里已经被验证比单码本 VQ 重建误差低一大截。MolmoMotion 把这套 token 直接拼到 Molmo 的文本词表后面,让 LLM 当作普通 token 去预测。
2. 视觉分支复用 Molmo
图像编码器是 Molmo 原生的 SigLIP,没动。妙的地方在于,Molmo 的 pointing 训练让它对"哪个像素对应哪个物体"特别敏感。当模型生成动作 token 时,注意力会自然落在指令提到的物体区域上,相当于免费拿到了一个隐式的 goal-conditioning。
3. 历史动作通过 cross-attention 注入
过去几帧的 pose 不进 token 序列,而是单独编码后做 cross-attention。这个设计避免了 token 序列被历史拉得太长——动作如果 30fps,一秒就是 30 帧 × N 码本,很快就把上下文窗口吃光。
# 伪代码:MolmoMotion 推理大致流程
history_feat = pose_encoder(history_poses) # [K, D]
image_feat = molmo_vision(scene_image) # [P, D]
text_ids = tokenizer("pick up the mug and sit")
outputs = molmo_lm.generate(
input_ids=text_ids,
image_features=image_feat,
cross_kv=history_feat,
max_new_tokens=N_frames * n_codebooks,
)
future_poses = motion_detokenizer(outputs)
这套架构有个隐性好处:指令、场景、历史三路条件的权重完全由注意力自己学,不像 diffusion 模型要手工调 classifier-free guidance scale,每加一路条件就得重新调一次。
数据和评测
训练数据上,博客提到混了 HumanML3D、Motion-X、BEHAVE 以及 AI2 自己采的一批含场景图的动作数据。HumanML3D 这类只有文本-动作对的,场景输入是空白图占位;BEHAVE 这种有真实场景和物体交互的,则是主菜。
评测部分是这次比较有意思的一块。AI2 没有只跑传统的 FID、Diversity 这种文生动作指标,而是引入了指令跟随成功率(Instruction Following Rate)——人工标注未来动作是否完成了语言指令描述的目标。在他们自建的 benchmark 上,MolmoMotion 比 MotionGPT 和接 LLM 的 baseline 高出 15-20 个点。这个差距主要来自场景理解:当指令涉及具体物体时,纯文本条件模型基本只能瞎猜物体位置。
传统指标上,MolmoMotion 的 FID 略输给最新的 diffusion 类方法(比如 HY-Motion 这种纯生成模型动作流畅度更好),但作者明确说这是 trade-off:他们要的是"对",不是"美"。这个取舍我觉得是对的,下游真要做交互应用的话,动作能不能完成任务远比丝滑重要。
跟 HY-Motion、MoMask 这些怎么比
直接列一下定位差异:
| 模型 | 主要任务 | 条件输入 | 架构 | |------|---------|---------|------| | MoMask | 文本→动作生成 | 文本 | Masked Transformer + VQ | | HY-Motion 1.0 | 文本→动作生成 | 文本 | Flow Matching, 1B | | MotionGPT | 文本↔动作 | 文本 | LLM + VQ token | | MolmoMotion | 动作预测/续写 | 文本+图像+历史 | VLM + RQ token |
说白了,HY-Motion 和 MoMask 是"从零生成一段动作",MolmoMotion 是"基于现在的状态预测下一步"。前者的下游是动画、游戏过场;后者的下游是实时交互、机器人、自动驾驶里的行人意图建模。这俩根本不是同一条赛道,只是都顶着 "3D motion" 的帽子。
开发者怎么用
模型权重和代码都挂在 Hugging Face 上,跟 Molmo 一样用 Apache 2.0 协议放出。推理对显存的需求不算夸张,7B 版本 fp16 大概 16GB 显存就能跑,A10/4090 都没问题。博客里给的示例是直接用 transformers 加载,接口和 Molmo 几乎一致,只是多了一个 history_poses 参数和一个 motion_decoder 后处理。
几个值得开发者上手试的方向:
- VR/AR avatar 动作补全:用户摘头显前最后几帧 + 一句"sit down on the couch",让 avatar 自然过渡到坐姿
- 游戏 NPC 行为规划:把游戏里的场景截图喂进去,让 NPC 根据自然语言任务规划动作
- 机器人遥操作的意图预测:预测操作员接下来想做什么,提前规划力反馈
- 行人轨迹预测的强化版:传统轨迹预测只输出 root 位置,MolmoMotion 输出全身 pose,对自动驾驶判断行人意图更精细
需要注意的坑:模型现在只支持 SMPL body(不含手指和表情),物体交互的几何精度也还是"看起来对"的水平,真要做机器人抓取还得接专门的 grasp 模型做后处理。
一点判断
MolmoMotion 这种把动作塞进 VLM 的做法,长期看是对的方向。理由很直接:动作生成的真正瓶颈从来不是"画面好不好看",而是"模型懂不懂指令、懂不懂场景"。Diffusion 把前者刷到了顶,但后者还得靠语言模型的世界知识。
短期内 MolmoMotion 在视觉效果上肯定打不过 HY-Motion 这种专门的生成模型,但它打开了一个新接口——用 VLM 那套 prompt engineering 的玩法来控制动作。这对应用层开发者其实更友好,调参不再是玄学,写 prompt 就行。
下一步如果 AI2 能把动作 token 和 Molmo 的 pointing 能力进一步打通(比如让模型先 point 到目标物体再生成动作),整套系统的可解释性和可控性会再上一个台阶。届时机器人那波人估计会很感兴趣。
参考来源
- MolmoMotion 官方博客 - Hugging Face:AI2 团队发布的技术博客,包含架构细节、训练数据和评测结果
- Hugging Face Models:MolmoMotion 模型权重下载入口
- MoMask 论文 - Hugging Face:相关工作,masked modeling 用于文生动作的代表方案
- HY-Motion 1.0 - GitHub:腾讯混元的文生动作大模型,可作为对比参考
