多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

FLUX 3 Action开源7B世界动作模型,刷新RoboLab-120 SOTA

FLUX 3 Action开源7B世界动作模型,刷新RoboLab-120 SOTA 1. 先把标题拆开看FLUX 3 Action到底开源了什么东西1.1 7B WAM RoboLab-120 SOTA这三个词放在一起有多罕见说实话刚看到这条消息的时候我的第一反应是有点不太信。原因很简单在过去两年里开源模型和榜单SOTA几乎是两条平行线。那些把机器人操作任务刷到第一的模型基本都躺在各家公司的内网里对外只给一篇论文和一个演示视频而真正把权重扔到网上的开源模型性能又往往比榜单头部差一大截。所以当7B WAM刷新RoboLab-120基准SOTA这个组合出现时它其实是在同时回答两个问题开源能不能追上SOTA以及小参数模型能不能做到先把标题拆成四个信息块来看FLUX 3 Action这是模型系列名和版本号。这里要特别提醒一句看到FLUX别急着往那家做图像生成模型的厂商上联想虽然名字撞了但领域完全不同。这个 FLUX 3 Action 是面向具身智能的动作模型系列Action直接点明了它的输出是动作序列而不是图片、文本或视频。在具身智能社区里同名不同物的情况非常常见查资料时一定要带上ActionWAM这些后缀再搜。7B70亿参数。在当下的模型生态里7B是一个相当微妙的位置——往上走是70B级别的大模型推理成本和部署门槛成倍上涨往下走是1B到3B的小模型虽然跑得快但能力天花板明显。7B恰好卡在单卡能推理、消费级硬件能微调、能力又不至于太弱的甜点区间这也是为什么过去一年多里大量开源项目的默认基线都是7B。WAM全称是 World Action Model世界动作模型。这个概念是理解这个项目的关键我在下一节会详细展开。简单说它不是一个只会看图说话出动作的模型而是试图在理解世界会如何变化的基础上再决定该执行什么动作。RoboLab-120这是一个包含120个机器人操作任务的评测基准。SOTA意味着在某个评估设定下这个模型跑赢了目前所有已经公布结果的方案。另外一个容易被忽略的点是开源SOTA的同时出现本身就在传递一个信号——这个团队认为模型的护城河不在权重本身而在数据、场景适配和持续迭代的能力上。这种选择对社区是好事但也意味着拿到权重只是起点后面还有大量工作要做。1.2 为什么开源7B能刷SOTA这件事值得单独说一说过去两年里具身智能领域的SOTA大多属于大参数大规模数据封闭训练的组合拳。模型动辄几十B甚至上百B参数训练数据横跨互联网视频、仿真数据和真实机器人遥操作数据训练成本对普通实验室来说望尘莫及。而7B模型能刷到SOTA背后通常意味着三件事第一数据的质量和任务设计的合理性可能比参数量更关键。如果120个任务里有大量长程、多步任务那么模型需要的不是记忆容量而是对当前状态下一步该做什么的稳健判断能力。这种能力更多依赖训练目标和数据分布的设计而不是无限堆参数。第二架构选择的收益。WAM这种先预测世界变化、再输出动作的结构理论上比直接回归动作的VLA模型更擅长长程任务因为它每一步都在用世界模型纠正自己的状态估计而不是闷头按着初始画面一路执行到底。这种结构优势在小参数下体现得更明显——参数少的时候把算力花在理解状态上比花在记忆海量指令上划算得多。第三评测基准本身的范围。120个任务虽然覆盖面广但通常仍然局限在桌面操作、工具使用、多步装配这几类场景和真实世界的开放程度还有差距。所以RoboLab-120 SOTA是很有价值的信号但不能简单等同于开源模型已经比闭源模型强了。2. 世界动作模型为什么具身智能的下半场要看WAM2.1 从VLA到WAM的范式转移过去一年多里大家听得最多的词是VLAVision-Language-Action也就是视觉-语言-动作模型。这类模型的思路很直接把相机画面和人类指令一起喂给模型模型直接输出机械臂或灵巧手的动作。这个路线在不少公开基准上取得了不错的成绩但它有一个先天问题——模型本质上是在做状态到动作的静态映射。什么意思VLA模型看到当前画面回忆训练数据里类似画面应该接什么动作然后输出。它并不主动预测如果我什么都不做这个世界下一秒会变成什么样也不理解这个动作执行之后物体状态会如何改变。在短任务、单步操作上这种静态映射足够用但在长程任务里一个小偏差会被逐步放大导致越到后面动作越偏。WAM的思路正好反过来。它的核心是先建立对世界动态的理解给定当前观测和历史信息模型先预测环境接下来会怎么演化——物体可能往哪倒、水可能往哪流、工具会被推成什么状态——然后在这个预测结果的基础上规划并输出动作。用下棋来类比的话VLA像是背了大量棋谱、见招拆招的棋手WAM则是先在心里推演几步、再落子的棋手后者在复杂局面下的稳定性天然更好。这套思路其实借鉴了早几年世界模型World Model研究的成果。区别在于世界模型通常只负责预测未来帧或环境状态并不直接输出动作而WAM把世界动态预测和动作决策融合进了同一个网络让理解世界直接服务于决定动作。这个融合点正是FLUX 3 Action这类模型站在的生态位。2.2 潜在动作空间WAM的核心机制要理解WAM为什么适合长程任务必须理解潜在动作空间这个概念。传统的VLA模型输出动作的方式有两种一种是直接回归连续动作值比如关节角度、末端位姿另一种是把动作空间离散化成若干个token再做分类。这两种方式都有各自的毛病。直接回归的问题是动作分布往往很尖锐——同一个画面下合理的动作可能有很多种强行让它输出一个均值结果就是平均动作看起来平滑但常常不自然离散化的好处是训练稳定但动作精度受离散粒度限制而且token序列一长推理开销迅速上升。WAM的常见做法是把动作映射到一个低维的潜在空间里模型在这个空间里规划一整段动作轨迹然后再由一个轻量级的动作解码器把潜在轨迹还原成实际的关节指令或末端轨迹。这个过程可以类比为写字一个熟练的人写字并不是一笔一划地盯着字帖临摹而是在脑海里先形成这句话该怎么写的整体肌肉记忆序列然后手只是把这个序列执行出来。潜在动作空间相当于这个整体肌肉记忆序列它让模型能够一次性规划出连贯的多步动作而不是走一步看一步。这种设计带来的直接好处是减少了复合误差。长程任务里最常见的失败模式是执行完第k步之后环境状态和模型预期发生了微小偏差这个偏差作为第k1步的输入导致更偏的动作输出……误差像滚雪球一样越来越大。而潜在动作空间里的整体规划相当于给每一步动作加了一个沿着预定轨迹走的惯性约束单步偏差不容易把整体方向带跑。2.3 7B参数在WAM架构里够不够用参数量的分配逻辑比单纯看总数更有意思。一个典型的7B WAM内部大致要承担三块工作视觉编码把相机画面压缩成结构化特征通常用预训练的视觉编码器承担占一小部分参数。世界动态建模这是WAM区别于VLA的核心模块负责预测状态变化、维护对环境的隐式理解占大头。动作解码把潜在动作轨迹还原成实际控制指令通常是一个轻量head占很小一部分。为什么7B不嫌少因为机器人操作领域的真实动作数据极度稀缺几十B的模型在这么少的数据上很容易过拟合反而7B左右的规模在容量够用和数据量匹配之间更容易达成平衡。这也是最近很多团队倾向于做7B级别具身模型的直接原因——不是不想做大的而是当前的数据量撑不起大的。3. RoboLab-120这个SOTA的含金量到底有多高3.1 基准本身考的是什么RoboLab-120从命名就能看出包含120个任务。从公开榜单和评测设定来看这个基准覆盖的范围大致包括桌面抓取与放置、工具使用、多步装配、物体堆叠等典型操作场景。和早期一些只有一二十个任务的基准相比120个任务最大的进步在于覆盖了足够多的场景切换和指令变体基准设计者显然是希望用它来考察模型的泛化能力——同一个按压动作换个杯子、换个位置、换个措辞模型还能不能完成。评估指标方面这类基准通常采用加权成功率有些还会额外统计平均完成步数、单任务成功率分布等。最核心的仍然是成功率给定任务描述和初始画面模型能不能在规定的步数内让任务达成目标状态。另外一个值得注意的点是RoboLab-120这类基准在任务设计上通常会刻意加入一些干扰项或状态变体比如桌面上除了目标物体还有很多无关物体初始位置随机化相机视角有细微变化。这些设计都是为了逼模型真正理解任务本质而不是靠死记硬背场景。换句话说这个基准想测的是换个环境你还会不会做而不是这个场景你背过没有。3.2 在榜上刷到第一说明了什么又不能说明什么根据公开信息FLUX 3 Action的RoboLab-120成绩是目前公布结果中最高的。这个成绩说明的几件事是实打实的一是它的训练目标和数据设计踩对了基准的考点。长程任务占比高的时候WAM的世界预测机制确实能带来可测的性能增益。二是7B规模在评测设定下没有成为短板。至少在这120个任务范围内7B模型的容量够用这验证了我在第一节的判断——数据和架构的贡献可能比参数量更大。三是开源权重和评测脚本的搭配让这个成绩是可复现的。这点在SOTA里尤为重要因为AI社区苦不可复现SOTA久矣。不少团队发论文时只放一个视频和一个数字别人想验证都无从下手。但我也要泼一点冷水。榜单SOTA不能直接等同为真实世界里的最优模型原因有三个评测范围有限120个桌面操作任务即使覆盖再广距离开放世界的复杂度还差着数量级。真实工厂里的柔性线缆操作、野外环境的非结构化抓取都不是这套基准能覆盖的。仿真和真实的鸿沟如果成绩主要来自仿真评测那sim-to-real的迁移还需要额外验证。仿真里成功率95%搬到真实机械臂上掉到60%都是正常情况。榜单赛马效应任何公开榜单都存在针对评测任务做隐式过拟合的可能。这不是说FLUX 3 Action一定刷了题而是说在看到榜单数字时永远要保持这个警惕。3.3 看成绩单时先问清楚三个评测设定判断一个SOTA值不值得仔细研究我一般会先看三件事是零样本还是微调后评测零样本评测考的是泛化能力任务内微调后的评测考的是学习能力两者含金量完全不同。有没有真实机器人验证纯仿真的成绩和经过真机验证的成绩可信度不在一个层级。成功率的判定标准是任务最终状态判定还是分步骤判定这直接决定了数字的水分。拿到任何一份榜单成绩单先问这三个问题能少踩很多坑。4. 从公开信息合理推测它的技术路线与训练管线4.1 主力架构大概率长什么样虽然官方技术报告的细节还没完全披露但基于这类模型的通用做法的合理推测FLUX 3 Action的架构大体可以拆成四层视觉编码器一个预训练好的视觉骨干网络把多视角RGB图像编码成视觉token。语言编码器把任务指令编码成文本token和视觉token拼在一起送入主干。主干Transformer一个7B规模的decoder-only或encoder-decoder混合架构负责跨模态推理和对世界动态的隐式建模。动作head一个轻量级模块负责把主干输出的潜在动作序列解码成机器人可执行的动作指令可能是联合角、末端位姿或力控信号。这里面最关键的设计决策在第三层和第四层的接口上。如果动作head解码的是潜在动作轨迹那就说明它确实走了WAM路线如果动作head直接解码单步动作那它更像一个披着世界模型外衣的VLA。从目前RoboLab-120长程任务成绩来看前者的可能性更大。4.2 数据管线的一贯套路具身智能模型训练通常分两大阶段FLUX 3 Action大概率也不例外预训练阶段用大规模互联网视频数据训练模型对世界动态的理解。这一阶段不涉及具体动作输出目标是让模型建立物体运动规律和物理交互直觉。想象一下模型看了无数个倒水、抓取、推动的视频之后它自然会对杯子倾斜到什么角度水会洒出来这类物理规律形成隐式表征。这一步是WAM能预测世界变化的基础。对齐与微调阶段用机器人实际操作数据遥操作采集的示教数据来训练动作head让模型学会把理解转化为动作。这个阶段的数据量不需要太大但质量要求极高——动作轨迹必须平滑、任务必须完整、状态标注必须准确。另外值得猜测的一点是仿真数据的占比。从开源项目的普遍实践看团队大概率会在仿真环境里生成大量低成本的数据用于预训练或辅助训练再用真机数据做最后的精调。这样做的好处是成本可控风险是仿真和真实之间的domain gap需要额外处理。4.3 开源发布通常会带哪些东西一个负责任的开源模型发布绝不只是丢一堆权重文件到网上。结合近两年社区里优秀项目的惯例我预期这次发布包里应该包含发布物用途重要性模型权重HF格式直接加载和推理必选项推理代码与示例跑通一个完整demo必选项评测脚本复现RoboLab-120成绩高微调脚本在自己的数据上做适配高数据说明或部分数据理解训练分布中技术报告架构和训练细节高拿到发布包之后我建议你第一时间做的不是跑榜单而是先看评测脚本和数据说明。评测脚本能告诉你榜单成绩是怎么算出来的数据说明能告诉你这个模型擅长什么、不擅长什么。这两样东西比权重本身更能决定你能否把它用好。5. 拿到权重之后部署实操路径和必须绕开的坑5.1 跑通推理需要什么配置7B模型最让人舒服的一点是它不再是大厂专属的玩具。根据常见的部署经验显存需求BF16精度下7B模型权重约占14GB显存加上KV cache和中间激活单张409024GB基本可以跑如果是A100或A80040GB以上可以很舒服地跑长序列。显存紧张的话用GPTQ或AWQ做4bit量化可以压到6-8GB但动作解码这类对精度敏感的任务我建议至少保持8bit以上精度。推理时延单次前向推理一次动作决策通常在几百毫秒量级取决于序列长度和是否用TensorRT或vLLM这类加速框架。对机械臂控制来说这个延迟需要和底层的控制频率配套设计——通常的做法是模型以较低的频率输出动作目标点比如5-10Hz中间的机器人关节控制由底层PID或阻抗控制补足而不是期望模型直接以1kHz跑。一个典型的推理pipeline大概是这样的流程多路相机采集图像 → 图像编码成视觉token → 和指令token拼接输入模型 → 模型输出潜在动作序列 → 动作head解码为目标位姿或关节序列 → 底层控制器执行。这里面每一步都有延迟真正端到端的延迟可能比单次模型推理高不少做实时控制方案时要预留余量。5.2 微调和适配从通用模型到你的场景如果你只是跑demo直接用公开权重就可以。但如果你想让它在自己的机器人本体上干活微调是绕不开的。通用的微调路线是LoRA低秩适配原因很简单全参微调一个7B模型需要至少4张80GB级别的显卡和大量数据而LoRA在单张24GB显卡上就能跑只需要准备几百到几千条任务演示数据。微调的关键步骤大致是数据采集用遥操作设备录制演示每条数据包含图像流、指令文本和动作轨迹。这里最容易犯的错是只在单一场景、单一光照下采集导致微调后的模型换了个环境就失效。我见过不少团队花了一周采数据结果在测试时换了块桌布就崩了。采集时有意做场景、物体位置、光照的随机化比盲目增加数据量有用得多。数据预处理统一图像分辨率、动作频率、坐标系。特别是坐标系——如果公开模型的默认坐标系是相机坐标系而你用的是基座坐标系那必须做转换否则模型输出全是乱飞。训练设置LoRA rank通常取16到64学习率1e-4到3e-4左右batch size根据显存调整。训练时把数据集按任务划出验证集防止模型只记住训练场景。评估闭环微调完之后先在仿真里做闭环测试不要直接上真机。仿真里跑不通的问题真机上只会更严重。5.3 实操中容易踩的坑这里集中说几个我在类似项目上实际踩过的坑希望对你有用动作频率和底层控制频率脱节模型输出动作节流是10Hz但底层控制器跑的是100Hz如果中间不做插值或平滑滤波机械臂会一顿一顿地走。解决方法是加一个轨迹平滑器在两次模型输出之间插值出平滑轨迹。相机标定误差被模型放大7B模型对视觉输入中的轻微畸变比想象中敏感。用公开权重时先确认官方demo的相机内外参设定再对照自己的标定结果。标定误差超过几个像素可能在桌面操作任务里就直接抓空。指令风格不要过于随意预训练模型的指令理解有一定的分布偏好如果官方数据里的指令是pick up the red cup这种简洁句式你测试时就不要说请帮我把那个红色的杯子拿起来——不是说模型完全不能理解长句而是短句在它的数据分布里更常见成功率更高。等你的微调数据覆盖了目标指令风格之后再放开使用长指令。量化要谨慎动作输出是连续值对量化误差的容忍度远低于文本生成。实测4bit量化某些模型在RoboLab任务上成功率会有明显下降建议至少用8bit起步再根据实际情况决定是否压到4bit。6. 这类开源动作模型对社区的真实价值与我的个人判断6.1 谁会是最大受益者以一个常年泡在具身智能社区的人视角看这类开源7B WAM的价值主要体现在三个群体上对于高校和科研机构来说最直接的价值是提供了一个可信的、可复现的baseline。过去一年多里我见过太多论文用了效果缩水的自研模型和闭源模型做对比数据口径五花八门。一个开源SOTA模型出现后后续研究的对比基准至少有了一个共同的锚点。对于初创团队和小型硬件厂商来说价值在于极大压缩了从0到1的时间。原本要组建算法团队、从零训练一个能用的操作模型周期以年计现在基于开源权重做适配微调周期可以压缩到几周到一两个月。这带来的不只是一点点效率提升而是让很多小团队第一次拥有了自研操作模型的可能性。对于整个开源社区来说它意味着具身智能的软件栈正在从论文附赠视频走向权重开箱即用。回想一下NLP领域的发展正是从开源模型普及之后才迎来真正的爆发。具身智能如果也想复刻这条曲线开源权重这一步是绕不过去的。6.2 但也要清醒看到边界泼冷水的部分还是得说清楚。开源不意味着开箱即用这个模型离装到机器人上就能干活还有不小的距离。首先是真实环境的适配成本。RoboLab-120的成绩主要反映仿真或受限场景下的能力到你的真实机械臂上中间隔着相机标定、手眼标定、运动学参数、夹爪设计等一系列工程问题。模型给的是决策能力但控制闭环还得你自己搭。其次是长程复杂任务的瓶颈依然存在。7B模型在120个桌面任务上刷到SOTA不代表它能处理多小时的野外任务或需要复杂操作序列的工业场景。当前这类模型的能力上限仍然是在结构化环境中的中短程操作这个范围内。第三是数据闭环才是真正的护城河。权重可以开源但每个场景的专属数据是开不了的。如果你的团队能持续采集真实场景数据并形成迭代闭环开源模型就只是起点真正的壁垒在数据积累。6.3 我建议你这么开始如果看完这篇文章你决定试一把我的具体建议是第一步先别急着微调把官方demo完整跑一遍感受一下它在标准任务上的表现。第二步到RoboLab-120的测试任务里随机挑几个不同场景的任务看看泛化能力是不是像榜单数字一样稳。第三步才是采集你自己的数据做微调。我自己过去做类似模型的经验是先相信再怀疑先复现再批判。榜单上的数字有参考价值但真正决定一个模型能不能用的永远是你在自己场景里测出来的成功率。开源让亲自验证的门槛大幅降低了这本身就是这个项目最大的贡献。所以别只盯着SOTA这个头衔看。下载权重、搭好环境、跑通一个demo再动手改那些真正的体会——不管是惊喜还是坑——都会在动手之后陆续出现。具身智能这个领域最有趣的地方就在于看再多的文章都不如让机械臂真正动起来一次。
返回列表