跳到主要内容

模型训练

艾欧数据平台提供完整的机器人学习模型训练功能,支持从数据预处理到模型部署的端到端工作流。平台集成了多种主流的机器人学习算法,为研究人员和开发者提供高效的模型训练环境。

产品特色

灵活架构

产品采用分层架构设计,确保系统的可扩展性。训练的算力支持多重选择:

  • 私有云:使用本地机房的GPU服务器(支持多卡并行训练)
  • 公有云:按需租赁云服务商的算力资源(按实际训练的时长计费)

选择训练位置

从数据到模型

平台已覆盖了从数据采集,标注,导出,训练微调,模型部署的数据全链路。

支持的模型类型

平台支持机器人领域的主流学习模型,涵盖视觉-语言-动作融合、模仿学习、强化学习等技术路线:

视觉-语言-动作模型

  • SmolVLA - 轻量级多模态模型,将自然语言指令、视觉感知和机器人动作进行端到端学习
  • OpenVLA - 大规模预训练的视觉-语言-动作模型,支持复杂的场景理解和操作规划

模仿学习模型

  • ACT (Action Chunking Transformer) - 基于Transformer架构的动作分块模型,将连续动作序列分解为离散块进行学习
  • PI0 - 零阶策略优化算法,通过专家演示数据快速学习初始策略
  • PI0Fast - PI0算法的优化版本,采用改进的训练策略提高收敛速度

策略学习模型

  • Diffusion Policy - 基于扩散过程的策略学习,通过去噪过程生成连续的机器人动作轨迹
  • VQBET - 向量量化行为变换器,将连续动作空间离散化后使用Transformer进行建模

强化学习模型

  • SAC (Soft Actor-Critic) - 最大熵强化学习算法,在连续动作空间中平衡探索与利用
  • TDMPC - 时间差分模型预测控制,结合基于模型的规划和无模型的学习优势

信息

以上模型覆盖了主流的技术路线,可以应用于多种机器人任务,例如:

应用场景使用模型说明
桌面整理任务SmolVLA, Pi0机器人可理解“请整理桌面上的物品”等自然语言指令,并执行抓取、移动、放置动作
物品分拣任务ACT通过学习专家分拣演示,机器人可识别不同物品并按类别分拣
复杂操作任务Diffusion Policy机器人可学习执行如组装、烹饪等需要精确控制的复杂操作序列
自适应控制SAC 等强化学习算法机器人可在动态环境中学习最优控制策略,适应环境变化

训练工作流程

平台提供了产品化的训练流程,无需代码能力,全程通过网页实现从数据准备到模型部署的完整操作链路:

1. 数据准备

选择训练数据

平台支持多种数据来源,包括:

  • 平台导出数据 - 使用平台标注和导出的机器人演示数据 导出训练数据
  • 外部数据集 - 通过URL链接导入公开数据集
  • 本地数据上传 - 支持HDF5、LeRobot等标准格式
  • HuggingFace数据集 - 直接从HuggingFace Hub获取公开数据

2. 训练配置

计算资源选择

平台支持灵活的计算资源选择,满足不同规模的训练需求:

训练位置选择:

  • 本地GPU(local-gpu) - 使用本地机房的GPU服务器,适合长期训练任务和私有化部署

    • 支持多GPU并行训练
    • 实时显示GPU状态(显存使用、温度、利用率)
    • 适合大规模数据集和长时间训练
  • 公有云资源 - 按需租赁云服务商的算力资源,按实际训练时长计费

    • RunPod - 支持GPU容器快速部署
    • AWS EC2/SageMaker/Batch - 亚马逊云服务集成
    • 腾讯云/阿里云 - 国内云服务商支持
    • 适合临时性训练任务或资源扩展需求

平台自动检测:

  • CUDA平台 - 自动检测NVIDIA GPU,支持CUDA加速训练
  • MPS平台 - 支持Apple Silicon(M1/M2等)的Metal Performance Shaders加速
  • CPU平台 - 无GPU时自动回退到CPU训练(速度较慢,适合小规模测试)

GPU选择与监控:

  • 训练前可查看可用GPU列表及实时状态
  • 支持手动选择特定GPU或多GPU并行
  • 实时监控GPU利用率、显存占用、温度等信息
  • 自动优化显存分配,避免资源浪费

选择训练位置

模型架构选择

根据具体任务需求选择合适的模型:

  • 对于需要理解自然语言指令的任务,选择SmolVLA或OpenVLA
  • 对于有专家演示数据的模仿学习任务,选择ACT、PI0或PI0Fast
  • 对于需要在线学习的任务,选择SAC或TDMPC

训练参数设置

平台提供了丰富的训练参数配置选项,支持不同模型的特定需求:

通用训练参数:

  • batch_size(批次大小)- 控制每次训练使用的样本数量,建议范围1-32。较大批次提高训练稳定性但需要更多显存
  • steps(训练步数)- 模型训练的总步数,建议从10000开始,根据验证结果调整
  • seed(随机种子)- 确保训练结果可重现性,建议使用1000、42等固定值
  • num_workers(数据加载器工作进程数)- 加速数据加载,建议设为CPU核心数的1/2到1倍
  • eval_freq(评估频率)- 每多少步进行一次模型评估,建议为总步数的10%
  • log_freq(日志频率)- 每多少步打印一次训练日志,建议10到100步
  • save_freq(保存频率)- 每多少步保存一次检查点,建议为总步数的30%
  • save_checkpoint(是否保存检查点)- 开启后保存模型检查点,便于恢复训练或部署

优化器参数:

  • optimizer_lr(学习率)- 控制参数更新幅度,建议范围1e-4到1e-5。过大导致训练不稳定,过小收敛慢
  • optimizer_weight_decay(权重衰减)- 防止过拟合的正则化参数,建议范围0.0到0.01
  • optimizer_grad_clip_norm(梯度裁剪阈值)- 防止梯度爆炸,建议设置为1.0
  • scheduler_warmup_steps(学习率预热步数)- 训练初期逐步增加学习率,建议为总步数的5-10%
  • scheduler_decay_steps(学习率衰减步数)- 在训练后期降低学习率,建议为总步数的80-90%

模型特定参数:

不同模型支持各自的特定参数:

  • ACT模型

    • chunk_size(动作块大小)- 一次预测的动作序列长度,建议范围10-50
    • n_obs_steps(观测历史步数)- 使用的历史观测帧数,大部分情况使用1
    • n_action_steps(执行步数)- 实际执行的动作步数,通常等于chunk_size
    • vision_backbone(视觉 backbone)- 可选resnet18/34/50/101/152
    • dim_model(模型维度)- Transformer的主要隐藏维度,默认512
    • n_heads(注意力头数)- Multi-head attention的头数,默认8
  • Diffusion Policy模型

    • horizon(预测时间跨度)- 扩散模型的动作预测长度,建议16
    • num_inference_steps(推理步数)- 采样步数,建议10
  • SmolVLA/OpenVLA模型

    • max_input_seq_len(最大输入序列长度)- 限制输入token数量,建议256-512
    • max_decoding_steps(最大解码步数)- 生成动作序列的最大迭代次数,建议256
    • freeze_lm_head(冻结语言模型头部)- 微调时建议开启
    • freeze_vision_encoder(冻结视觉编码器)- 微调时建议开启
  • SAC等强化学习模型

    • latent_dim(潜在空间维度)- 编码器输出维度,建议256
提示

参数设置建议:

  • 首次训练建议使用默认参数,确保训练正常进行
  • 根据GPU显存大小调整batch_size,避免显存溢出
  • 对于预训练模型微调,建议降低学习率(1e-5)并冻结部分层
  • 定期查看训练日志,根据损失曲线调整学习率

训练参数设置

训练启动后,平台提供完整的监控和管理功能:

3. 训练执行与监控

训练启动后,平台提供完整的实时监控和管理功能:

实时监控

训练指标可视化:

  • 损失函数曲线 - 实时显示训练损失和验证损失,便于判断模型收敛情况
  • 验证精度指标 - 显示模型在验证集上的性能表现
  • 学习率变化 - 可视化学习率调度策略的执行情况
  • 训练进度 - 显示已完成步数、总步数、预计剩余时间等信息

模型输出预览:

  • 训练过程中定期输出预测样例
  • 可视化模型在验证数据上的预测结果
  • 便于观察模型学习进展和发现潜在问题

系统日志:

  • 详细的训练日志记录,包括每个训练步骤的详细信息
  • 错误和警告信息实时显示,便于快速定位问题
  • 支持日志实时流式传输,可随时查看最新训练状态

资源监控:

  • GPU利用率、显存占用实时监控
  • CPU和内存使用情况跟踪
  • 网络IO和磁盘IO监控(如适用)

训练详情页面提供实时的训练监控和管理功能

训练管理

进程控制:

  • 暂停训练 - 临时暂停训练任务,保留当前进度
  • 恢复训练 - 从暂停点恢复训练,无缝继续
  • 停止训练 - 安全停止训练任务,保存当前检查点
  • 重启训练 - 重新启动训练任务

检查点管理:

  • 自动保存 - 根据设置的保存频率自动保存模型检查点
  • 检查点列表 - 查看所有保存的检查点,包括训练步数、保存时间等信息
  • 检查点下载 - 支持下载检查点文件到本地
  • 断点续训 - 从任意检查点恢复训练,支持训练中断后的继续
  • 版本回滚 - 可选择历史检查点进行模型回滚

任务操作:

  • 参数调整 - 训练过程中可查看和调整部分训练参数(需谨慎使用)
  • 任务复制 - 基于成功的训练配置快速创建新任务,复用最佳配置
  • 任务删除 - 删除不需要的训练任务,释放存储空间
提示

训练建议:

  • 定期检查训练日志,及时发现问题
  • 根据损失曲线调整学习率或停止训练
  • 定期保存检查点,避免训练中断导致数据丢失
  • 使用任务复制功能快速尝试不同的参数组合

4. 模型评估与导出

训练完成后,平台提供完整的模型评估、导出和部署功能:

模型评估

性能指标:

  • 自动计算模型在验证集上的各项性能指标
  • 支持多种评估指标:准确率、成功率、动作误差等
  • 提供模型性能报告和对比分析

模型对比:

  • 对比不同训练任务的模型性能
  • 可视化多个模型指标的对比图表
  • 帮助选择最佳性能的模型版本

检查点管理

训练过程中和训练完成后,所有保存的检查点都会在训练详情页面显示:

模型检查点列表

检查点信息:

  • 检查点名称 - 自动生成或自定义的检查点名称(如"step_1000"、"last"等)
  • 训练步数 - 该检查点对应的训练步数
  • 保存时间 - 检查点的保存时间戳
  • 文件大小 - 检查点文件的大小
  • 性能指标 - 该检查点在验证集上的性能表现

检查点操作:

  • 查看详情 - 查看检查点的详细信息和评估结果
  • 下载检查点 - 下载检查点文件到本地,用于离线部署或进一步分析
  • 标记为最佳 - 将性能最好的检查点标记为最佳模型
  • 部署推理 - 直接从检查点一键部署为推理服务(详见下一章节)
信息

检查点说明:

  • last - 最后一个保存的检查点,通常是最新的模型状态
  • best - 在验证集上表现最好的检查点,通常用于生产部署
  • step_xxx - 按训练步数保存的检查点,可用于分析训练过程

模型导出

训练完成后,可以将模型导出用于:

  • 离线部署到机器人本地
  • 与其他系统集成
  • 模型版本管理和归档

至此,您可以利用艾欧数据平台方便快捷的训练出属于您的专属模型。训练完成的模型检查点可以直接在下一章节进行推理服务部署,实现从训练到应用的全流程闭环。