机器人训练数据平台怎么规划?视频、状态数据与Episode存储指南
机器人训练数据平台需要同时管理多路视频、状态、动作、任务描述和Episode元数据。本文提供容量估算、文件组织、热数据与归档分层、训练读取、网络吞吐及数据治理方法。
- Slug
robot-training-data-platform- 更新
- 2026-08-20
- 来源
- 5
- 关系
- 4
机器人训练数据平台不能只按总容量规划。多路视频决定大部分容量,状态、动作、时间戳和任务描述决定样本是否可对齐、可检索、可复现;训练阶段还会反复读取、解码和抽样。平台应同时规划采集写入、活跃训练、共享数据、长期归档和备份,并通过真实Episode测试持续吞吐与并发读取。
概述
一个机器人Episode可能包含多路RGB或深度视频、关节状态、末端位姿、力/力矩、动作指令、语言任务、事件标记和时间戳。数据不仅要“存下来”,还要能够按照任务、机器人、版本和时间范围准确找到,并被训练进程持续读取。
很多数据平台在早期只按硬盘容量建设,进入训练阶段后才发现小文件过多、视频解码慢、Episode边界不清、数据版本无法追溯,或者多台训练服务器同时读取时网络和共享存储成为瓶颈。
一、Episode是样本组织单位,不等于一个文件
Episode通常代表一次任务轨迹或一段连续交互,但实际存储时可以是一Episode一组文件,也可以把多个Episode写入较大的Parquet、MP4或其他容器,并通过元数据记录边界。
LeRobotDataset v3采用“多个Episode共享Parquet/MP4文件”的方式,并通过关系化元数据解析Episode边界和查询,目的是减少文件数量和文件系统压力。这个设计说明:训练数据的逻辑样本单位与物理文件单位可以分离。
| 数据组成 | 常见内容 | 需要保留的上下文 |
|---|---|---|
| 视频 | RGB、深度、分割或其他视觉输出 | 相机标识、分辨率、帧率、编码、时间戳和标定版本 |
| 机器人状态 | 关节位置/速度、末端位姿、力/力矩、传感器状态 | 单位、坐标系、频率、机器人和固件版本 |
| 动作 | 关节命令、末端增量、夹爪或底盘控制 | 动作空间、控制频率、延迟和执行结果 |
| 任务信息 | 语言指令、任务类别、对象、场景和成功标记 | 标注规范、版本、人员和审核状态 |
| Episode元数据 | 开始结束时间、长度、数据位置、校验值和质量状态 | 数据版本、处理链路和可追溯关系 |
二、容量应该怎样估算
单路平均码率 × 相机路数 × 每日有效采集时长 × 采集天数。码率必须使用真实编码、分辨率、帧率和场景样本测量,不能只按原始像素或厂商标称值推算。
每帧字段字节数 × 采样频率 × 有效时长,再叠加时间戳、索引、Episode元数据和序列化开销。通常容量小于视频,但对同步、检索和训练正确性更重要。
总平台容量还应包含原始数据、清洗后数据、训练格式、缓存、检查点、版本副本、质量抽检和备份。不同项目的数据保留策略差异很大,不建议使用固定倍数替代实际生命周期规划。
三、把数据分成四个层次
| 数据层 | 主要内容 | 存储重点 | 典型访问 |
|---|---|---|---|
| 采集与暂存 | 刚产生的原始视频、状态、动作和日志 | 持续写入、断点保护、本地或近端NVMe | 连续写、快速校验和上传 |
| 标准化数据 | 时间对齐、清洗、切分并带元数据的Episode | 一致格式、索引、版本与校验 | 批量处理、抽检和检索 |
| 活跃训练 | 当前训练集、缓存、采样索引和派生特征 | 高吞吐读取、并发、低抖动 | 随机抽样、顺序视频读取和多Worker加载 |
| 归档与备份 | 历史版本、原始数据、已完成项目和审计副本 | 容量、完整性、冗余、恢复和成本 | 低频访问、批量恢复和生命周期迁移 |
采集盘不应长期承担唯一数据副本,归档存储也不一定适合直接供多GPU训练。合理做法是让活跃数据靠近计算节点,并将长期数据放在更适合容量和保护的层次,通过明确的数据迁移和版本规则衔接。
四、视频、表格与原始消息怎样组织
文件格式应由数据来源、训练框架和检索方式共同决定,而不是全平台只保留一种格式。
- MP4等视频容器:适合压缩保存连续图像,容量和解码效率取决于编码设置,也要保留时间戳与相机映射。
- Parquet等列式数据:适合状态、动作和Episode元数据的批量读取与筛选,但视频通常单独保存并通过索引关联。
- ROS 2 bag/MCAP:适合保留多Topic原始消息。MCAP支持分块、索引、校验和可选压缩,可按时间和Channel定位消息。
- 训练专用格式:可以从原始数据生成,但应保留转换版本、脚本和来源关系,避免训练数据无法追溯。
容器和压缩参数需要在写入速度、随机读取、解码负载和恢复成本之间权衡。对原始数据做不可逆转换前,应先明确是否仍需回放、重标注或重新生成训练格式。
五、训练读取性能怎样估算
各视频与传感器实际码率之和 + 状态和动作数据 + 索引及协议开销。持续写入测试应覆盖目标采集时长,并记录队列积压、丢帧、写入时延和磁盘余量。
单训练任务持续读取吞吐 × 并发训练任务数,再考虑视频解码、随机抽样、本地缓存和预取。理论文件带宽不能直接替代DataLoader和真实训练Step的测量。
| 现象 | 可能原因 | 验证方式 |
|---|---|---|
| GPU周期性等待 | 视频解码、随机读取、Worker不足或缓存失效 | 对比缓存命中、不同Worker数和关闭增强后的时间线 |
| 单任务正常,多任务明显变慢 | 共享存储或网络总吞吐不足 | 逐步增加并发任务,记录每任务和总吞吐 |
| 目录扫描和启动很慢 | 小文件过多、索引不足或远端元数据访问 | 比较文件聚合、索引和本地元数据缓存 |
| 压缩后存储下降但训练变慢 | CPU/GPU解码成为新瓶颈 | 比较不同编码或压缩参数下的端到端训练吞吐 |
六、小文件、分块与索引怎么处理
一Episode一文件容易理解,但在Episode数量很大、每条轨迹较短时,会增加目录遍历、元数据操作和对象请求数量。将多个Episode聚合到较大的数据文件,并通过索引记录边界,通常更利于规模化读取。
文件也不能无限放大。分块大小应结合顺序读取、随机跳转、失败重试和远程访问确定。MCAP的Chunk Index和Message Index用于按时间和Channel定位消息;LeRobotDataset v3则通过元数据解析Episode边界。具体实现应以目标训练框架的读取方式测试。
七、共享存储与网络怎么规划
网络需求来自采集上传、数据处理、训练读取、检查点写入和备份迁移。单个训练节点读取不高,不代表多节点并发后仍有余量。
- 测出单节点真实训练时的持续读取和峰值,而不是只做顺序拷贝。
- 逐步增加训练节点和DataLoader并发,观察总吞吐、单任务波动和错误重试。
- 确认客户端网卡、交换机上联、存储端口和后端磁盘是否形成共同瓶颈。
- 对象存储、并行文件系统和NAS的访问特征不同,应使用实际客户端和数据格式PoC。
对象存储通常可通过多连接和并发请求提高聚合吞吐,但具体性能与实现、对象大小、网络和客户端有关,不能把公有云服务的性能数字直接套用到本地平台。
八、数据治理至少包含哪些内容
- 统一标识:机器人、任务、场景、采集批次、Episode和数据版本使用稳定ID。
- 时间同步:记录各传感器时间源、偏差、丢帧和重采样方式。
- Schema版本:状态、动作、坐标系、单位和字段变化可追溯。
- 质量状态:区分原始、待审核、通过、拒绝和可训练数据。
- 完整性:使用校验值、写入完成标记和定期抽检发现损坏或缺失。
- 权限与审计:按项目和角色控制读取、修改、导出和删除。
- 生命周期:明确活跃、冷却、归档和删除条件,并验证恢复流程。
RAID可以降低部分磁盘故障带来的中断风险,但不能替代备份、版本和异地恢复。误删除、软件错误和权限问题仍需要独立的数据保护机制。
九、数据平台PoC检查清单
| 测试项 | 建议内容 | 验收关注 |
|---|---|---|
| 持续采集 | 按真实相机和传感器运行目标时长 | 无丢帧、队列失控或空间异常 |
| Episode生成 | 时间对齐、切分、索引和质量标记 | 边界正确、字段完整、可追溯 |
| 训练读取 | 真实DataLoader、Batch、Worker和增强 | GPU等待、吞吐和缓存效果 |
| 并发访问 | 多训练节点、处理任务和检查点同时运行 | 总吞吐、单任务波动和隔离 |
| 故障恢复 | 中断写入、节点重启、文件损坏和版本恢复 | 数据完整性、恢复时间和日志 |
十、赋创如何协助规划机器人训练数据平台
赋创可基于客户提供的传感器规格、采集时长、Episode结构、数据格式、训练读取方式和保留周期,协助估算容量与吞吐,规划本地NVMe、共享存储、对象存储、网络及训练缓存,并通过代表数据验证采集写入和多节点读取。
数据采集方案、标注规范、机器人状态定义和训练数据质量由项目团队或相应专业方负责。赋创重点解决存储、网络和计算平台能否稳定承载数据流转与训练读取。
FAQ:机器人训练数据平台常见问题
1. 是否应该一个Episode保存一个文件?
不一定。小规模项目便于管理,大规模数据则可能出现小文件和元数据压力。可以将多个Episode聚合并通过索引记录边界。
2. 视频容量能否按分辨率直接计算?
不能只看分辨率。编码、帧率、画面复杂度、码率控制和传感器数量都会影响容量,应使用真实样本测量平均与峰值码率。
3. 对象存储能否直接供GPU训练?
可以作为数据平台的一部分,但训练吞吐取决于对象大小、客户端、并发、缓存和网络。应使用真实DataLoader验证是否需要本地缓存或热数据层。
4. 做了RAID是否还需要备份?
需要。RAID主要处理部分磁盘故障,不能替代版本、误删除保护、离线副本和异地恢复。
5. 哪些数据应该放在NVMe热数据层?
当前训练集、频繁访问的视频片段、采样索引、缓存和检查点更适合放在高性能层。历史原始数据可按恢复和生命周期要求进入容量或归档层。
方案咨询
需要把方案落到实际配置?
联系赋创获取算力、软件栈和交付路径建议。