前途科技前途科技
  • 洞察
  • 服务
  • 关于
  • AI 资讯
    • 快讯
    • 产品
    • 技术
    • 商业
    • 政策
    • 初创
  • 洞察
  • 资源中心
    • 深度研究
      • AI 前沿
      • 案例研究
      • AI 知识库
    • 行业报告
      • 白皮书
      • 行业报告
      • 研究报告
      • 技术分享
      • 专题报告
    • 精选案例
      • 金融行业
      • 医疗行业
      • 教育行业
      • 零售行业
      • 制造行业
  • 服务
  • 关于
联系我们

Strands Robots 数据闭环:录制训练部署

技术2026年8月12日· 原作者:Hugging Face· 6 分钟阅读0 阅读

AWS 开源的 Strands Robots 与 Hugging Face Storage Buckets 打通机器人数据闭环:录制演示数据直接同步到存储桶,训练时从 Hub 流式读取,再将策略部署回实体机器人。整个过程使用同一套 LeRobot 格式,无需本地拷贝。

AWS 开源的 Strands Robots 把机器人抽象、仿真和 LeRobot 栈封装成 AgentTools,组合为一个 Strands 智能体。上一篇文章介绍了从 Hub 数据集到实体硬件的方向;本篇沿数据反向流动:从录制帧回到部署策略,中间使用 Hugging Face Storage Buckets——一种基于 Xet、可变、非版本化的对象存储仓库(2026 年 3 月发布),与数据集仓库同处 hf:// 命名空间,用现成的 hf CLI 操作。

Strands Robots 数据闭环四阶段:录制写入 LeRobotDataset,存储同步到 Hugging Face Bucket,训练流式读回 GPU,部署到实体硬件

一个 Robot("so100") 既负责录制,也负责回放与部署。录制完的 LeRobotDataset 通过 sync_dataset_to_bucket(...) 同步到 bucket;训练时用 stream_dataset(...) 按帧流式读回同一份数据;训练出的 checkpoint 再部署到同一个 Robot。整个流程围绕同一个对象、同一个后端:

from strands import Agent
from strands_robots import Robot

sim = Robot("so100")
agent = Agent(tools=[sim])
agent("Record a pick-the-cube demo and sync it to my-org/robot-fave.")
for batch in sim.stream_dataset("my-org/robot-fave/cube_pick", repo_type="bucket").dataloader(batch_size=64):
    ...

录制:直接写入存储桶

LeRobot 录制的数据是一组随采集持续增大的文件。每次推入带版本的 dataset 仓库,追加就会产生一次 commit,所有历史版本都被保留;采集场景则更需要原地覆写的工作层。Storage Bucket 恰好如此:无需配置 IAM 角色、CORS 规则或上传服务。sync_dataset_to_bucket("/tmp/cube_pick", "my-org/robot-fave") 会把校验过的数据集同步到 hf://buckets/...,stop_recording(bucket=...) 则在停止录制时立即同步。实体 SO-101 上用 LeRobot 的 record CLI 完成主从遥操,产出的磁盘格式与仿真完全一致,同一段同步代码直接复用。

存储:字节级去重

Bucket 后端是 Xet,用内容定义切片做字节级去重:插入几个字节只改变所在切片,不会移动后续所有边界。Hugging Face 的基准测试显示,500 MB 文件改动 1% 后重传只需 5.5 MB,改动 5% 上传 27.5 MB,改动 10% 上传 55 MB。Strands Robots 沿用 LeRobot 分片布局:数据写入 100 MB 的 Parquet 分片,视频写入 200 MB 的 MP4 分片,所以一天采集后的再次同步只需上传新增的尾部片和当前增长的半满片。

同步时只上传变化的部分:首次同步上传全部分片,后续同步借助内容定义切片跳过已存储的块

训练:从 Hub 流式读取

先在本地下载整个数据集,GPU 只能等几百 GB 拷贝完成;从 Hub 直接流式读取则让 GPU 从第一批数据就开始训练。Strands Robots 通过 stream_dataset() 暴露 LeRobot 的 StreamingLeRobotDataset:摄像头帧按需从远端 MP4 分片解码,状态和动作来自 Parquet 分片,本地磁盘只有 meta/ 目录。也可以让 LeRobot 训练器直接读取 bucket:

lerobot-train --policy.type=act \
  --dataset.repo_id=my-org/robot-fave/cube_pick \
  --dataset.repo_type=bucket \
  --dataset.streaming=true \
  --num_workers=4

实测在单张 NVIDIA L4 上,对 120 帧片段用 ACT 策略训练 500 步,约 133 秒完成。Hugging Face 的预热缓存会把数据放到任务运行区域附近,集群读取接近本地,10 GB 负载下暖 CDN 读取约 1,086 MB/s,冷读约 780 MB/s。

流式训练与下载训练对比:下载路径先到本地磁盘再进 GPU,流式路径直接进入已就绪的 GPU

部署:一个参数回到硬件

训练好的 checkpoint 通过同一个 Robot() 部署,只需把模式改为 mode="real":

robot = Robot("so100", mode="real", port="/dev/ttyACM0",
              cameras={"front": {"type": "opencv", "index_or_path": "/dev/video0", "fps": 30}})
agent = Agent(tools=[robot])
agent("Pick up the red cube.")

实体手臂运行动作的同时,录制的演示仍以 LeRobot 格式落盘,再同步回 bucket 进入下一轮。如果数据已经在 Amazon S3,同一套分片格式原样可用;选择 Storage Bucket 则获得 Hub 原生的 hf:// 同步和流式读取,省掉独立存储路径。

完整可运行示例见 05_streaming_data_loop.ipynb,在仿真和 mock policy 下即可逐格跑通。生产环境注意:给写入采集桶的 token 单独限权、使用私有 bucket、每次采集指定独立 run_id,并只从可信组织加载模型 checkpoint。


原文链接:Hugging Face
本文由前途科技编辑整理

标签:机器人

想了解 AI 如何助力您的企业?

免费获取企业 AI 成熟度诊断报告,发现转型机会

置顶文章

会打字,就能"拍"电影:ScriptTask 开放限量内测
置顶

会打字,就能"拍"电影:ScriptTask 开放限量内测

//

24小时热榜

GPT-5.6 开发者指南:更低成本,更强智能体
TOP1

GPT-5.6 开发者指南:更低成本,更强智能体

OpenAI推Ultrafast模式:GPT-5.6 Sol提速14倍
前途科技前途科技
服务关于快讯技术商业报告
前途科技微信公众号

微信公众号

扫码关注

Copyright © 2026 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。|京ICP备17045010号-1|京公网安备 11010502033860号|隐私政策|服务条款
TOP2

OpenAI推Ultrafast模式:GPT-5.6 Sol提速14倍

3

OpenAI 任命 Dali Rajic 为首席营收官

2小时前
OpenAI 任命 Dali Rajic 为首席营收官
热门标签
大模型AgentRAG微调私有化部署Prompt EngineeringChatGPTClaudeDeepSeek智能客服知识管理内容生成代码辅助数据分析金融零售制造医疗教育AI 战略数字化转型ROI 分析OpenAIAnthropicGoogle

关注公众号

前途科技微信公众号

扫码关注,获取最新 AI 资讯

免费获取 AI 落地指南

3 步完成企业诊断,获取专属转型建议

已有 200+ 企业完成诊断