开源7B动作模型:不输出文字,输出未来两秒该做什么
Black Forest Labs 发布了 FLUX 3 Action——一个开源权重的 7B 参数“世界动作模型”。聊天模型输出文字,FLUX 3 Action 输出动作:未来两秒该干什么。输入是一帧相机画面加一句文本指令,这些动作可以直接操控机械臂、游戏角色或无人机。
模型不是下载就能用,需要针对任务微调。在 RoboLab 基准测试上,DROID 数据微调版本以 42.92% 的成功率排第一,而 16B 参数的 Cosmos 3 Nano Policy 为 36.8%。机械臂演示里的策略同样来自微调:SO-101 机械臂上,约 200 段遥操作录像就够做适配,涵盖几个相关的拾取-放置任务,而模型从没在训练中见过要捡的物体。演示中它也会从自己的错误里恢复,比如一段螺丝刀操作的片段。泛化能力有更直接的证据:训练时没见过的容器,被笔记本挡住只剩 40% 可见,它依然成功;训练和部署之间改换相机位置,也不影响效果。
游戏提供了一条比硬件更快的评估路径。团队做了两个小游戏:GRUNT 是 Quake 式射击游戏,256×256 分辨率,动作空间是移动、平移、转向、射击;VECTOR 是 Out Run 式赛车,动作是转向、油门、氮气。训练数据来自两个游戏里的脚本机器人,各录 800 段。两个机器人各有一个规则,只用当前帧做决定,所以模型能看到它们知道的一切。GRUNT 的机器人只在命中锥盖住敌人时开火,VECTOR 的机器人直道时速 296 公里,进弯时刹车到 155—215 公里/小时。GRUNT 里,FLUX 3 Action 拿到 15 个击杀、0 死亡、86% 的命中率,脚本机器人是 13 个击杀、0 死亡、96% 命中率。VECTOR 里,模型 60 秒跑了 3.3 公里、1 次撞车,脚本机器人是 3.4 公里、0 次撞车,随机驾驶只有 1.0 公里、3.6 次撞车。两个游戏跑的是同一组权重,模型同时在这两个游戏上训练,靠文字说明判断自己在玩哪个。
无人机测试指向自然语言控制的可能。训练数据由 NVIDIA Isaac Sim 录制:脚本飞行员按句子完成 800 次飞行,比如“起飞,飞到桌子下面,降落在书柜后面”,模型模仿这些轨迹。测试时,房间是它没见过的,句子也没读过——训练时用的是 fly to the bookcase,测试换成 go over to the bookshelf and wait there,说法换了,它仍然到达。
这套能力的内部结构是视频与动作的联合预测。模型是 7B 参数的扩散 transformer。视频 VAE 和 Qwen3-VL-4B 都冻结,前者编码画面,后者编码指令。动作是同一序列中的第二条 token 流,画面和动作在同一次生成里互相约束。一个未来帧对应一个 token,机械臂、游戏、无人机各有自己的输入投影和输出头。每次调用,模型接收三类输入:一个或多个相机帧(合成到画布上)、一个状态向量(比如关节位置或上一次执行的动作)、一句描述。它返回 32 个动作,也可以返回 32 个解码帧。真机控制时跳过解码,先执行前几个动作,再观察新画面重新规划。这个“预测—执行—再看—再规划”循环,让模型能实时修正自己的错误。
配套工具把这些能力交到开发者手里。权重以 FLUX Kommunity License v1.0 发布,代码在 GitHub。权重、训练器、游戏全部公开,微调指南在文档里。LeRobot 集成由 NVIDIA 和 Hugging Face 共同构建。FLUX 3 Action 作为一种 policy 类接入 LeRobot 工具链,附带参数高效微调配方。训练在 NVIDIA GB200 系统上完成,自定义内核用 NVIDIA 的 CuTe DSL 编写。NVIDIA 还参与了 PEFT 配方和 Jetson 边缘部署适配。
当权重、训练器和游戏都公开,适配的门槛就落在微调这一步。SO-101 机械臂只靠约 200 段遥操作录像就学会了一个拾取-放置任务。几百段遥操作录像,就能微调出一个专属动作模型。