将机器人AI引入嵌入式平台:数据集录制、VLA微调和设备端优化
摘要
NXP和Hugging Face展示了在嵌入式机器人平台上部署视觉-语言-动作(VLA)模型的技术,涵盖数据集录制最佳实践、VLA微调以及针对i.MX 95处理器的设备端优化,包括量化和异步推理调度。
查看缓存全文
缓存时间: 2026/04/20 17:27
将机器人AI引入嵌入式平台:数据集录制、VLA微调和片上优化
来源: https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms 返回文章 (https://huggingface.co/blog)
- 🎥 数据集录制:真正重要的事项 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%F0%9F%8E%A5-dataset-recording-what-actually-matters)- 1) 一致性优先 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#1-consistency-first) - 2) 使用夹爪摄像头(强烈推荐) (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#2-use-a-gripper-camera-highly-recommended) - 3) 改进抓取 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#3-improve-prehension) - 4) 多样性和数据分割 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#4-diversity–splits)
- 🎛️ VLA 微调 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%F0%9F%8E%9B%EF%B8%8F-finetuning-vlas)
- ⚡ 为 NXP i.MX 95 应用处理器优化 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%E2%9A%A1-optimizing-for-the-nxp-imx-95-applications-processor)- 1) 分而治之 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#1-divide-and-conquer) - 2) 量化 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#2-quantization) - 3) 异步推理:控制感知调度 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#3-asynchronous-inference-control-aware-scheduling)
- 📊 i.MX 95 应用处理器的性能表现 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%F0%9F%93%8A-what-we-achieve-on-imx-95-applications-processor)
- ⏩ 后续步骤 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%E2%8F%A9-next-steps)
- ✅ 可复用的检查清单 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%E2%9C%85-checklists-you-can-reuse)
- 📚 资源和灵感 (https://huggingface.co/blog/nxp/bringing-robotics-ai-to-embedded-platforms#%F0%9F%93%9A-resources–inspiration)
blog_image (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/Ww9sOxL-id3EOkLVxKAZX.jpeg)
作者:Enzo Ruedas (https://huggingface.co/eruedas)、Tess Boivin (https://huggingface.co/tboivin)
大型语言模型的最近进展使得从纯文本推理向多模态系统的转变成为可能。首先是视觉-语言模型 (VLM) 中视觉感知的集成,最近则是视觉-语言-动作 (VLA) 模型中机器人动作的生成。在嵌入式机器人平台上部署这些模型仍然存在挑战,因为计算、内存和功率存在严格约束,同时还有实时控制要求。
在同步控制管道中,当 VLA 运行推理时,机械臂处于空闲状态等待命令,导致振荡行为和延迟的修正。为了解决这个问题,异步推理可以通过解耦生成和执行来实现平滑连续的运动。然而,要使其有效,端到端推理延迟必须短于动作执行持续时间。这个时间约束因此对模型的吞吐量设置了上限。
将 VLA 模型引入嵌入式平台不仅仅是模型压缩问题,而是一个复杂的系统工程问题,需要架构分解、延迟感知调度和硬件对齐执行。解决这些挑战对于将最近在多模态基础模型中的进展转化为实用且可部署的嵌入式机器人系统至关重要。
本指南展示了 NXP 在录制可靠机器人数据集、微调 VLA 策略(ACT 和 SmolVLA)方面的实践最佳做法,以及突出了 NXP i.MX 95 SoC 在优化后实现的实时性能。
🎥 数据集录制:真正重要的事项
高质量的一致性数据胜过“数量多但杂乱“的数据。本节将宝贵经验转化为具体的检查清单和架构。
在我们的案例中,我们为任务录制了一个数据集:“将茶包放入杯子中”。
1) 一致性优先
- 固定摄像头:使用刚性安装装置以避免位姿漂移。如果在录制或评估期间一个或多个摄像头因机器人振动或操作员重置环境而移位,会导致严重的精度损失。
- 受控照明:设置你能尽可能控制照明的环境(固定光源,远离全天变化的日光)。
- 强对比度:避免用“白色背景下的白色物体“训练,除非这是你的部署场景。最大化机械臂、物体和环境之间的对比度。
- 固定标定:备份机器人和远程操作器标定,这样如果代码崩溃,你不需要重新录制之前的片段。
- 不要作弊:不要使用模型在推理时无法获得的信息。在数据录制期间,操作员很容易依赖直接的场景视觉观察。然而,这会引入数据集中不存在的信息。数据集采集必须限制在与策略运行时可用的摄像头输入相同的范围内。
2) 使用夹爪摄像头(强烈推荐)
从仅场景视图到混合视点提高了整体精度,但摄像头越多,延迟影响越大。因此,你必须选择合适的折中方案。在我们的案例中,用 3 个摄像头达到了这种平衡:
我们强烈推荐使用夹爪安装的摄像头。它在精细操作任务上持续提高成功率,通过提供近距离、与任务相关的视点。重要的是,它也是最有效地强制执行正确数据收集实践的摄像头,允许操作员仅依赖机器人感知而不是直接观察场景。安装夹爪摄像头时,我们建议用魔术贴或应变释放导管固定电缆,以防止其阻挡视场或在运动中断开。
3) 改进抓取
heat_shrink-tube (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/6JGWkDNSokzCqehdJPYU2.jpeg)
简单的硬件调整,如夹爪上的热缩管可以增加摩擦力、降低粗糙度、减少片段中的滑动,并提高任务成功率(更少的“几乎成功“片段),改进策略学习稳定性。
4) 多样性和数据分割
clusters (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/kswpeJYHDRaGhGz7D3Vl8.png)
录制数据集时,你应该:
- 变化片段分布:将工作区分成起始位置集群,每个集群至少录制 10 个片段。通过改变物体的位置和旋转来增加多样性。例如我们将机械臂的可达工作区分成 11 个集群,每个测量 10 × 10 厘米。
- 区分训练集和验证集:策略可以轻易过拟合训练集,所以确保验证集对模型是未见的。例如我们从训练集中移除了集群 6。
- 录制尽可能多的运动:小型 VLA 模型在未见运动上的泛化能力有限。因此,录制覆盖更宽自由度范围的片段。例如我们以水平或竖直位置抓取茶包。
- 预期失败:有时策略不会第一次就到达物体,必须“返回再试“。我们发现,让 20% 的所有片段对应返回物体的情况有助于模型提高整体成功率。例如我们的训练集中大约 20% 对应恢复片段。
这与 VLA 论文和社区指南中的最佳实践一致。以下是同一集群内数据多样性的 3 个示例:
起始位置 1 和 2 对应同一集群内的不同位置。相比之下,在恢复片段中,机器人不是以“起始模式“开始,而是已经靠近杯子,应该从该位置直接进行到检取茶包。
🎛️ VLA 微调
act_loss (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/r8dZynt_xDXS6vLQGf4c_.png)
我们在实践中所做的:
- 任务:“抓取茶包并放入杯子”
- 数据集:- 120 个片段:10 个集群 × (10 个不同的茶包起始位置 + 2 个恢复片段) - 3 个摄像头 (640x480px, 30fps):顶部、夹爪、左侧 - 集群 6 被移除用于验证
- 批量大小:8
- 训练:选择 200k 步后验证损失最低的模型检查点
对于 ACT(每个块 100 个动作),在 100k-160k 训练步长范围内找到了在训练和验证集上的精度、泛化和运动平滑性之间的最佳折中。对于 SmolVLA 训练(每个块 50 个动作),折中似乎在更多训练步长后出现。我们发现继续训练略过模型开始过拟合的点往往会提高整体精度。
经验法则:通过评估训练和验证集上的成功,而不是通过训练损失来选择最终检查点。
⚡ 为 NXP i.MX 95 应用处理器优化
i.MX 95 SoC 集成了 6 个 Arm Cortex-A55、一个 Cortex-M7 和一个 Cortex M33 MCU、一个 Mali GPU、一个新的 NXP ISP 和 eIQ® Neutron NPU,面向高效、安全的边缘推理,支持多摄像头和强 I/O。[nxp.com]
1) 分而治之
与其将模型作为一个单体图运行,我们将 VLA 图分解为逻辑阶段:编码器、解码器和动作专家。因此,允许每个组件独立优化、调度和部署。
在实践中,SmolVLA 被分割为以下子块:
- Vision:处理 RGB 摄像头帧并生成视觉嵌入。
- LLM 骨干:从视觉和文本嵌入生成动作令牌。
- 动作专家:应用流匹配以迭代去噪动作样本并输出最终控制命令。
这种分离允许进行逐块优化。可以测量每个块量化的影响,以选择延迟和精度之间的最佳折中。同样,将动作专家与 VLM 隔离是在较低频率运行它的理想选择。
2) 量化
为了优化 i.MX 95 SoC 的推理,我们在不同块上探索了多种量化技术。我们发现量化视觉编码器和 LLM prefill 对精度的影响有限,而量化动作专家中的去噪流会明显降低性能。这种行为是预期的,因为量化误差会在迭代去噪步骤中累积。
这就是为什么我们决定在此块上保持更高的精度以保持稳定性,而在其他块上,我们探索了各种量化配置,从 8 位混合精度到 4 位量化(取决于层)。
此外,我们对不同块应用了内部优化。结果显示在下表中,称为优化模型。
3) 异步推理:控制感知调度
在同步控制循环中,管道操作如下:
- 捕获观察
- 运行完整模型推理
- 执行生成的动作
在步骤 (2) 中,机器人保持空闲。如果推理延迟不可忽略,这会产生:
- 运动中的空闲间隙
- 由于陈旧观察导致的振荡修正
- 控制频率降低
- 恢复行为差
使用异步推理,动作生成与执行并行运行:
- 机器人执行当前动作块
- 下一个块同时计算
这增加了有效控制频率,减少了观察陈旧性,改进了恢复行为。
在 i.MX 95 SoC 等嵌入式平台上,异步推理至关重要——但仅当推理延迟保持在动作范围预算内时才有效:推理时间 < 执行时间
同步推理异步推理每块动作数100100FPS6060块大小阈值N/A0.2聚合函数N/Aweighted_average动作队列演变async_g_0 (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/kUX9Am5NoK6YA_rx8-qPQ.png)async_g_02 (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/SEWvplGgoBGQCJd53YVl6.png)结果
📊 i.MX 95 应用处理器的性能表现
imx95 (https://cdn-uploads.huggingface.co/production/uploads/652d3409a7275ea70302b30c/g8zPqeWQyeVTJx5-VjtSL.jpeg)
设置
- 任务:“抓取茶包并放入杯子”
- 测试集 (20 个片段):每个集群 2 个随机位置。
- 验证集 (10 个片段):集群 6 中的全部 10 个位置
平台 (CPU)策略格式推理延迟测试集精度 (20)验证集精度 (10)全局精度 (30)i.MX 95ACTONNX FP322.86 s1.000.900.96i.MX 95ACT优化0.32 s1.000.600.89i.MX 95SmolVLAONNX FP3229.1 s0.500.400.47
⏩ 后续步骤
我们的直接目标是改进 SmolVLA (ONNX FP32) 的任务精度。我们已经建立了基线并测量了优化后的片上推理延迟为6.15 s。
下一阶段将专注于在我们的 NPU 上进行更深层的优化。同时,我们的目标是从单任务设置转向更长范围和更复杂的场景。为此,我们将引入:
- 模拟环境用于可扩展的数据生成和基准测试
- **强化学习 (RL)**用于策略优化
- 仿真到现实转移以跨越域间隙并改进现实世界性能
目标是从单一验证操作任务转向在嵌入式机器人上部署 VLA 策略的可复现方法。
相似文章
SmolVLA:一种经济高效的视觉-语言-动作模型
SmolVLA是一种紧凑的视觉-语言-动作模型,在降低计算成本的同时实现了具有竞争力的机器人控制性能,使其能够部署在消费级硬件上。它引入了异步推理,并利用了社区收集的数据集。
基于表示锚定与语言-动作对齐的泛化VLA微调
Anchor-Align通过视觉-语言锚定增强行为克隆,以保留预训练表示和语言-动作对齐,在xArm7上使真实机器人成功率提升超过20%,并在模拟基准测试中持续取得改进。
刚刚开源 FastVLA
FastVLA,一款开源视觉-语言-动作模型,现可在 L4 GPU 上实现 5 Hz 机器人控制。
机器人需要的不仅仅是VLA和世界模型
本文立场论文认为,推进机器人智能需要将非结构化的行为数据通过专门的接口进行整合,用于标注、具身映射、世界建模和奖励推断,而不是仅仅依赖扩展视觉-语言-动作(VLA)模型和世界模型。
Hy-Embodied-0.5-VLA: 从视觉-语言-动作模型到真实世界机器人学习栈
HyVLA-0.5 是一个端到端机器人学习系统,整合了数据收集、模型设计、预训练、微调和强化学习,用于真实世界部署。