- 人工智能
- 大模型
- 具身智能
- 机器人
【免费下载链接】flux-3-action-so101
FLUX 3 Action SO-101 是 Black Forest Labs 面向 SO-101 机械臂发布的 7B 开放权重世界动作模型(World Action Model)。它的核心机制是动作与视频联合去噪:模型把摄像头画面、机器人状态和文字指令作为输入,在同一条扩散去噪过程中同时生成"未来的视频帧"和"下一段动作序列",真正做到边看未来、边出动作。本文带你读懂它的工作原理、关键参数与使用方法。
🔍 一句话理解:什么是世界动作模型
传统机器人策略模型只回答一个问题:"下一步该动多少?" 而 FLUX 3 Action 是一个世界模型 + 动作模型的结合体:
- 世界模型部分:预测"接下来画面会变成什么样"(视频帧去噪);
- 动作模型部分:预测"机器人该怎么动"(动作 chunk 去噪)。
两者在同一个网络里共享表征、联合去噪,让动作决策建立在"对未来的视觉想象"之上——这正是它比纯视觉策略更稳健的原因。
📎 官方演示视频(双臂抓取等任务实录):assets/flux-3-action-demo.mp4
⚙️ 输入契约:两台相机、6 维状态、8 步历史
模型的输入输出约定完整定义在 config.json 中:
| 项目 | 配置 | 说明 |
|---|---|---|
| 相机 | observation.images.scene+observation.images.wrist | 场景相机 + 腕部相机,各 256×256 |
| 相机拼接 | camera_layout: side_by_side | 左右拼成 256×512 画布 |
| 机器人状态 | observation.state,6 维 | 5 个关节 + 夹爪 |
| 观测历史 | n_obs_steps: 8 | 输入最近 8 步观测 |
| 视觉快照 | history_snapshots: 2 | 其中 2 个关键帧用于视觉去噪 |
| 历史动作 | condition_on_past_actions: true | 已执行的动作也参与条件化 |
| 文字指令 | text_fixed_length: 320 | 固定长度文本指令,由文本编码器处理 |
| 动作输出 | action,6 维,action_representation: delta | 关节增量动作,夹爪(第 6 维,delta_absolute_dims: [-1])为绝对值 |
📌 值得注意的细节:夹爪用绝对值表示(开多大就是多大),关节用增量表示(相对当前位置动多少)。这种混合表示让训练更稳定、执行更安全。
🎬 联合去噪原理:为什么视频和动作一起去噪
FLUX 3 Action 基于扩散模型(Diffusion)范式,去噪过程可以分三步理解:
- 加噪与条件注入:把目标视频帧和目标动作 chunk 分别加上噪声,同时把历史观测、历史动作、文字指令作为条件输入。配置中
conditioning: history、separate_timesteps: true表示视频和动作使用各自独立的时间步,即两条模态可以处于不同的去噪进度,互不牵制。 - 联合迭代去噪:网络在同一前向中同时逼近"干净的画面"和"干净的动作"。
separate_timesteps允许视觉先收敛、动作后精修,或按需分配算力。 - 多模态损失约束:训练时
video_loss_weight: 1.0、action_loss_weight: 0.5,视觉负责构建"未来想象",动作是最终目标但权重略低;action_channel_weights中夹爪通道权重为 2.0,是其他关节的 2 倍——因为夹爪开合往往决定任务成败。
换句话说:视频不是附赠品,而是动作的"思维过程"。模型先"想清楚接下来会发生什么",再给出对应的关节指令。
🧮 去噪关键数字:4 步 Euler 采样,实时性拉满
推理侧的参数同样写在 config.json 里,这套配置是"低成本实时推理"的典型样例:
| 参数 | 取值 | 作用 |
|---|---|---|
sampler | euler | Euler 采样器,4 步即可收敛 |
num_inference_steps | 4 | 每次决策只需 4 次去噪 |
sampler_shift | 6.93 | 噪声调度偏移,平衡细节与速度 |
guidance_scale | 3.0 | 指令引导强度,值小 → 更灵活 |
inference_seed | 42 | 固定随机种子,结果可复现 |
dtype | bfloat16 | BF16 半精度推理,省显存 |
🚀 只需要4 步去噪就输出一整段动作,是它能以 30 Hz 控制频率做"预测-执行-重规划"循环的关键。
🔄 从归一化到真实关节角:前后处理流水线
模型内部处理的是归一化后的数值,真实输入输出由两条流水线负责,配置分别是 policy_preprocessor.json 和 policy_postprocessor.json:
预处理(5 步):
- 观测重命名 → 2. 批次化 → 3. 搬运到 GPU
- 观测历史归一化:policy_preprocessor_step_3_flux3_observation_history_normalizer.safetensors(含 8 步历史、delta 表示、6.0 截断等状态)
- 动作目标归一化:policy_preprocessor_step_4_flux3_action_target_normalizer.safetensors
后处理(1 步):
- 动作历史反归一化:policy_postprocessor_step_0_flux3_action_history_unnormalizer.safetensors,把模型输出的 delta 转回真实关节量,再搬回 CPU。
归一化统计量(q01/q99 分位数、clip=6.0)来自 dataset_statistics.json,它由训练数据统计得到,保证不同关节量纲统一到同一尺度。
加载模型时只需三行代码(来自 README.md):
from lerobot.policies.flux3 import Flux3Policy policy = Flux3Policy.from_pretrained("black-forest-labs/flux-3-action-so101")两个冻结的共享编码器(视频 VAE、Qwen3-VL-4B-Instruct 文本编码器)会自动从底仓flux-3-action-base加载,本仓库不重复存放这些权重。
🚀 42 预测、32 执行:滚动式重规划策略
这是动作 chunk 模型的经典用法,配置对应chunk_size: 42、n_action_steps: 32、fps: 30.0:
- 一次预测 42 步动作(约 1.4 秒);
- 只执行前 32 步(约 1.07 秒);
- 执行完 32 步后立刻重新观测、重新预测,丢弃剩余 10 步。
多预测但不多执行的"滚动重规划",让模型始终基于最新画面决策,兼顾了推理开销与实时纠错能力。
🛠️ 任务适配:用 LoRA 配方微调你的数据集
换任务不需要从头训练。仓库内置 lora.json 微调配方:
- LoRA rank 32(
r: 32, lora_alpha: 32),只训练低秩适配层; - BF16 混合精度,batch size 2,梯度累积 4 步;
- 训练 10,000 步,学习率 1e-4(动作头等新初始化部分的学习率 ×5);
- 开启 EMA(decay 0.999)平滑权重。
微调流程:把lora.json中的dataset.repo_id改成你的数据集、policy.path指向本模型,然后运行lerobot-train --config_path=models/so101/lora.json ...即可。该配方自动继承本 checkpoint 的机器人/模型设置(相机布局、归一化方式等)。
📁 仓库文件清单
| 文件 | 用途 |
|---|---|
| model.safetensors | 7B 策略模型权重 |
| config.json | 模型与推理超参数(输入输出契约、采样器) |
| dataset_statistics.json | 动作/状态归一化统计量 |
| lora.json | rank-32 LoRA 微调配方 |
| policy_preprocessor.json | 输入预处理流水线定义 |
| policy_postprocessor.json | 输出后处理流水线定义 |
| assets/flux-3-action-demo.mp4 | 真机演示视频 |
| LICENSE.md | FLUX Kommunity License v.1.0 |
如需用 git 拉取仓库代码:
git clone https://gitcode.com/hf_mirrors/black-forest-labs/flux-3-action-so101⚖️ 许可与安全须知
- 模型遵循 LICENSE.md(FLUX Kommunity License v.1.0):非商业用途免费;商用需年营收低于 500 万美元的 Qualifying User 资格,超出需申请商业许可。
- ⚠️ 安全提醒(来自 README):模型输出的是关节目标值,不约束速度、力或工作空间。落地应用必须自行限幅,并保留物理急停;在人附近运行前先在仿真器或开启安全限位的情况下验证。
小结
FLUX 3 Action SO-101 用一次 4 步去噪同时产出"未来视频 + 动作 chunk",靠separate_timesteps双时间步联合去噪、42/32 滚动执行、delta+绝对夹爪的混合动作表示,把世界模型推理落到了 30 Hz 的实时控制上。如果你想给自己的机器人接入"会想未来的策略",从这份 checkpoint 的 LoRA 配方开始,是成本最低的路径。
- 人工智能
- 大模型
- 具身智能
- 机器人
【免费下载链接】flux-3-action-so101
相关推荐
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考