当前位置: 首页 > news >正文

从零复现 gr00t17-lerobot-libero_goal-640:20,000 步微调 GR00T N1.7 的完整训练管线指南

从零复现 gr00t17-lerobot-libero_goal-640:20,000 步微调 GR00T N1.7 的完整训练管线指南

【免费下载链接】gr00t17-lerobot-libero_goal-640项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/gr00t17-lerobot-libero_goal-640

想亲手复现 NVIDIA 的 GR00T N1.7 机器人大模型微调?这篇GR00T N1.7 微调完整指南将带你从零走通 gr00t17-lerobot-libero_goal-640 的训练管线:从环境搭建、仓库克隆,到 20,000 步微调 LIBERO Goal 任务的参数解析与命令启动,全程基于仓库内真实配置,新手也能照抄作业。

gr00t17-lerobot-libero_goal-640 是什么?

简单说,这是一个基于 LeRobot 框架训练并发布的GR00T N1.7 微调模型仓库,镜像自 NVIDIA。GR00T N1.7 是 NVIDIA 开源的跨本体(cross-embodiment)人形机器人基础模型,采用 Cosmos-Reason2/Qwen3-VL 视觉语言主干 + 流匹配动作 Transformer(flow-matching action transformer),根据视觉、语言和本体感受预测机器人动作。

本仓库则是在LIBERO Goal 基准数据集上,用 20,000 步训练出的微调版本,仓库核心文件包括:

文件作用
model.safetensors微调后的模型权重
config.json模型结构与微调策略配置
train_config.json完整训练配置(数据集、优化器、调度器等)
policy_preprocessor.json输入预处理管线定义
policy_postprocessor.json动作输出后处理管线定义
README.md模型卡与使用说明

复现前准备:安装 LeRobot 并克隆仓库

训练与推理都依赖 LeRobot(本模型基于 0.6.1 版本)。建议使用官方提供的 GPU 镜像huggingface/lerobot-gpu:latest,可省去大量依赖安装时间。

克隆本仓库:

git clone https://gitcode.com/hf_mirrors/nvidia/gr00t17-lerobot-libero_goal-640

克隆后你会在目录中看到上文表格中的文件,其中train_config.json是复现训练的关键——它记录了本次微调的全部超参数。

看懂训练配置:20,000 步微调核心参数解析

打开train_config.json,你会发现这是一份"开箱即用"的完整配置。下面拆解几个最关键的部分。

数据集与任务定义

本次微调使用 LIBERO Goal 数据集(不含 no-op 动作的 1.0.0 版):

  • 数据集IPEC-COMMUNITY/libero_goal_no_noops_1.0.0_lerobot
  • 任务类型:LIBERO Goal 长程操作任务
  • 数据增强:启用了 color jitter(亮度 0.7~1.3、对比度 0.6~1.4、饱和度 0.5~1.5 等),增强泛化能力
  • 样本平衡:同时启用了数据集与轨迹级权重平衡(balance_dataset_weights/balance_trajectory_weights

输入输出特征:模型的"眼睛"与"手脚"

config.json可以看到模型消费的特征:

特征类型形状
observation.images.wrist_image腕部相机图像(256, 256, 3)
observation.images.image主相机图像(256, 256, 3)
observation.state机器人状态(8,)
action输出动作(7,)

训练时以 1 步观测预测 16 步动作(n_obs_steps=1n_action_steps=16),图像统一缩放到 256×256。后处理阶段通过policy_postprocessor.json中的 libero 专用解码,对夹爪动作做二值化处理,适配 LIBERO 仿真环境。

微调策略:哪些模块被解锁?

这是 GR00T 微调的核心精髓。在 3B 参数基础模型(nvidia/GR00T-N1.7-3B)之上,本次只解锁了部分模块:

模块是否微调
大语言模型(LLM)
视觉编码器(Visual)
投影器(Projector)
流匹配扩散模型
VLLN(视觉语言定位网络)

也就是说,20,000 步微调主要训练投影器、扩散模型与 VLLN,冻结 LLM 和视觉主干。这样既大幅降低显存与训练成本,又能保留基础模型的通用能力,属于典型的高效微调方案(未使用 LoRA,use_peft=false)。

优化器与学习率设置

{ "optimizer": "adamw", "lr": 0.0001, "weight_decay": 1e-05, "grad_clip_norm": 1.0, "scheduler": "cosine", "num_warmup_steps": 1000 }
  • 优化器:AdamW,学习率 1e-4,权重衰减 1e-5
  • 调度器:cosine 余弦退火,前 1000 步预热
  • 全局批大小:320(实际布局为 2×320,即每卡 320 的并行策略)
  • 随机种子:42,确保可复现
  • 精度:bf16 混合精度(use_bf16=true
  • 步数:20000 步,每 1000 步保存一次检查点

一键启动训练:lerobot-train 命令详解

环境就绪后,复现训练只需一条命令。参照README.md中的标准写法:

lerobot-train \ --dataset.repo_id=${HF_USER}/<dataset> \ --policy.type=groot \ --output_dir=outputs/train/<policy_repo_id> \ --job_name=lerobot_training \ --policy.device=cuda \ --policy.repo_id=${HF_USER}/<policy_repo_id> \ --wandb.enable=true

如果你希望严格复现本仓库的训练,可以直接以train_config.json为基准,把其中的output_dir/checkpoints/gr00t-n17-libero-oss-h16-adamw-gbs640-20k-...)、数据集路径等替换为你本机的实际路径即可。训练会以save_freq=1000的频率把检查点写入outputs/train/<policy_repo_id>/checkpoints/目录。

提示:训练命令中--wandb.enable=true会开启 Weights & Biases 在线监控,方便实时观察 loss 曲线;不需要可改为false

训练过程监控与检查点管理

  • 日志频率:每 10 步输出一次训练日志(log_freq=10
  • 保存频率:每 1000 步保存一个检查点(save_freq=1000),训练 20,000 步共产生约 20 个检查点
  • 恢复训练:配置中resume=false,如训练中断可将train_config.json中的resume改为true,并从最近检查点继续

部署验证:用 lerobot-rollout 运行策略

训练完成后(或直接使用本仓库权重),可以在仿真环境中验证策略表现。参照README.md的 rollout 命令:

lerobot-rollout \ --strategy.type=base \ --robot.type=<your_robot_type> \ --robot.port=<your_robot_port> \ --robot.cameras="{ <camera_1>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}, <camera_2>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}}" \ --policy.path=nvidia/gr00t17-lerobot-libero_goal-640 \ --task="<your_task_description>" \ --duration=60

注意:相机名称必须与训练时的观测键一致(wrist_imageimage),否则推理会报错。--strategy.type=base表示不录制回合,策略会持续运行直到达到指定时长。

常见问题与调优建议

1. 显存不够怎么办?20,000 步微调使用 bf16 且冻结 LLM 与视觉编码器,显存压力已大幅降低。若仍不足,可调小全局批大小(train_config.json中的batch_size),或开启 LoRA(use_peft=true、设置lora_rank)。

2. 想微调其他任务?只需替换数据集为你的 LeRobot 格式数据集,并保持输入输出特征形状一致(双相机 + 8 维状态 + 7 维动作)。若任务不同,请同步修改policy_postprocessor.json中的动作解码配置。

3. 如何提升成功率?优先关注数据质量与平衡(本仓库启用了轨迹级权重平衡),其次是图像增强强度。推理时也可以调整num_inference_timesteps(当前为 4)在速度与精度间权衡。

4. 如何查看完整超参?所有超参都在仓库的train_config.jsonconfig.json中,预处理/后处理细节分别见policy_preprocessor.jsonpolicy_postprocessor.json,配合README.md一起阅读,即可完全复现这条GR00T N1.7 微调训练管线

从克隆仓库到 20,000 步训练完成,整个流程并不复杂——关键是把train_config.json里的每项参数吃透。现在就去试试吧,祝你一次跑通!🚀

【免费下载链接】gr00t17-lerobot-libero_goal-640项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/gr00t17-lerobot-libero_goal-640

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4103732.html

相关文章:

  • Chat2DB:免费开源的数据库客户端,一次装好管 40+ 种数据库,还能让 AI 替你写 SQL
  • Una UI配置完全指南:nuxt.config与app.config的12个关键配置项
  • eSearch 离线 OCR 终极指南:截屏提取文字,再一键翻译搜索
  • AMD ROCm环境搭建指南:为Instella-MoE-16B-A3B-Midtrain铺平第一条路
  • Gridism 是什么?一个简单到极致的响应式 CSS 网格框架完整指南
  • 8月19日AI格局日报:OpenAI暂停RL训练+世界机器人大会开幕+港股双雄暴跌+Groq转型Neocloud+Cursor Origin上线+俄亥俄核废墟变8GW AI工厂
  • ppfuzz 实战技巧:如何高效批量扫描 1000+ URL 的 7 个方法
  • 用 BenchmarkTools.jl 构建基准测试套件:BenchmarkGroup 组织与 @tagged 过滤技巧
  • meteor-collection-hooks触发条件清单:find/findOne钩子在Meteor 3中的完整方法对照
  • 文件解包工具终极指南:一款万能解压工具搞定500+格式
  • 遗嘱继承律所联系方式推荐 提供遗嘱订立继承服务 2026年官方咨询渠道及办理流程介绍
  • GNOME 桌面防休眠完整指南:Caffeine 扩展安装与自动化设置
  • 抖音视频怎么保存到本地?免费无水印批量下载工具,新手 10 分钟就能搞定
  • 性能分析怎样控制采样开销
  • KMS_VL_ALL_AIO 激活脚本全攻略:一个文件如何把 Windows 和 Office 的授权打理得明明白白
  • 终极指南:用 Notepad-- 十六进制编辑破解 5 类二进制文件难题
  • Mac运行Windows软件不再折腾:Whisky免费开源方案从装到跑全记录
  • 个人微信API调用失败:登录掉线与回调排查
  • macOS 菜单栏终极救星:免费开源 Ice 三步搞定图标收纳,刘海不再挡图标
  • mapreduce的工作原理
  • 归一化与标准化
  • Depressurizer 完整上手指南:一次配置,让 Steam 数百款游戏自动分类
  • OBS背景移除插件极速上手:10分钟告别绿幕,AI抠像开启无背景直播
  • 基于Spring Boot的教学资源共享网站的设计与实现源码+文档
  • 别再让窗口打架了!Loop窗口透明度,4个玩法让两层内容同屏显示
  • 实测 IOPaint:免费开源还能一键去水印的 AI 图片修复工具,到底有多香
  • 基于SpringBoot的教学管理信息系统(源码+lw+部署文档+讲解等)
  • 基于微信小程序的学习交流平台系统(源码+文档+部署讲解等)
  • vscode-terosHDL 完整上手指南:一套让 HDL 开发变得清爽的现代化工具链
  • 本地离线OCR工具部署与实战:从表格识别到API集成全解析