- 人工智能
- 具身智能
- 机器人
- 多模态
- 微调
【免费下载链接】GR00T-N1.7-AppleToPlate-cosine40k-checkpoint-15000
GR00T-N1.7-AppleToPlate-cosine40k-checkpoint-15000是 NVIDIA 基于 Isaac GR00T N1.7(3B)视觉-语言-动作(VLA)基础模型微调出的一个机器人策略检查点,专门用于让Unitree G1 人形机器人完成"摘苹果、放盘子"(apple pick-and-place)任务。本文用通俗的方式带你全景解析:它是什么、数据从哪来、怎么训练的、仓库里有什么、如何集成使用。
一、快速上手:30 秒看懂这个模型 🤖
| 项目 | 说明 |
|---|---|
| 基础模型 | nvidia/GR00T-N1.7-3B(约 3B 参数) |
| 机器人本体 | Unitree G1 人形机器人(含腰部高度与导航指令) |
| 目标任务 | 摘苹果 → 放到盘子上(pick-and-place) |
| 训练数据 | 402 条真机遥操作演示,约 9 万帧 |
| 训练计划 | 40,000 步余弦学习率调度(cosine40k) |
| 本检查点位置 | 第15,000步(约第 0.375 个 epoch) |
| 权重格式 | Safetensors,3 个分片 + 索引 |
名字里三段信息一目了然:AppleToPlate= 任务名,cosine40k= 4 万步余弦学习率计划,checkpoint-15000= 在第 15,000 步保存的中间检查点(训练并未压缩到 15,000 步提前结束,详见 README.md)。
二、模型架构拆解:如何做到"看懂、听懂、会动" 👀🧠
GR00T N1.7 是一个典型的VLA(Vision-Language-Action)模型,可以理解为机器人装了"眼睛 + 大脑 + 小脑":
| 模块 | 承担的工作 | 关键技术 |
|---|---|---|
| 视觉编码器 | 看懂摄像头画面(RGB 图像) | SigLip2 预训练视觉 Transformer,支持原生宽高比、无需填充 |
| 语言编码器 | 听懂指令(如"把苹果放到盘子里") | T5 文本编码器 |
| 视觉-语言主干 | 把"看"和"听"融合成场景理解 | Cosmos-Reason2-2B(基于 Qwen3-VL 架构) |
| 本体感知 MLP | 感知机器人自身姿态(关节角、躯干等) | 按 embodiment ID 索引的多层感知机 |
| 动作头 | 预测未来 40 帧的连续动作 | Flow Matching 动作 Transformer(DiT,32 层、AdaLN 时间步调制) |
几个值得新手留意的设计(来自 config.json):
- action_horizon = 40:模型一次不是预测"下一步",而是预测未来 40 个时间步的动作序列(action chunk),动作更连贯;
- 推理只需 4 步(
num_inference_timesteps: 4):flow matching 让去噪推理比传统扩散模型快得多; - bf16 精度 + Flash Attention:兼顾精度与推理速度;
- 最多支持 32 种机器人本体(
max_num_embodiments),状态/动作维度上限 132,为跨机型泛化预留空间。
架构示意图可在 README.md 的 "Model Architecture" 一节中找到。
三、训练数据全解:402 条 G1 遥操作演示 📦
模型学到的"摘苹果"本事,全部来自真机数据,来源与规模如下:
| 数据项 | 数值 |
|---|---|
| 演示条数 | 402 episodes(人工通过 XR 头显遥操作 G1 采集) |
| 原始采样 | 30 Hz 录制 |
| 本地验证帧率 | 15 fps |
| 总帧数 | 90,710 帧 |
| 有效训练步数 | 84,680 timesteps |
数据集在模型中以new_embodiment标签加载,对应的本体 ID 为unitree_g1_full_body_with_waist_height_nav_cmd(ID = 25,见 embodiment_id.json)。模型每一步会接收 4 类输入(详见 experiment_cfg/conf.yaml 的模态定义):
- video:
ego_view第一视角(egocentric)摄像头图像; - state(本体感知):左右腿(各 6 维)、腰部(3 维)、左右臂(各 7 维)、左右手(各 7 维);
- action 监督目标:12 组输出,包括左右臂/手/腰的关节指令、导航指令、机身高度指令、以及左右臂/手/腰的effort(力矩)指令;
- language:人工标注的任务描述文本(
annotation.human.task_description)。
其中左右臂的动作采用相对表示(relative),其余采用绝对表示(absolute)——这是让策略迁移到不同初始姿态时的常用技巧。每个模态的均值、方差、分位数统计被持久化在 experiment_cfg/dataset_statistics.json 和 statistics.json 中,用于训练/推理时的归一化。
四、训练过程:40,000 步余弦学习率下发生了什么 📉
训练配置保存在 experiment_cfg/config.yaml,核心超参数:
| 超参数 | 取值 | 说明 |
|---|---|---|
max_steps | 40,000 | 计划总步数 |
learning_rate | 1e-4 | 峰值学习率 |
warmup_ratio | 0.05 | 前 2,000 步线性升温 |
lr_scheduler_type | cosine | 2,000–40,000 步余弦衰减至 0 |
global_batch_size | 96 | 全局批大小 |
optim | adamw_torch | AdamW 优化器 |
bf16 | true | bfloat16 混合精度 |
学习率轨迹:从 0 线性升温,前 2,000 步升到峰值1e-4,之后按余弦曲线平滑下降;到第 15,000 步(本检查点)时,学习率约为7.38e-5,正处于衰减段的中期。
损失函数轨迹(摘自 trainer_state.json 的训练日志):
| 训练步数 | 损失 (loss) | 学习率 | 梯度范数 |
|---|---|---|---|
| 10 | 1.2106 | 4.5e-07 | 0.289 |
| 2,000(升温结束) | 0.0575 | 9.995e-05 | 1.016 |
| 8,000 | 0.0288 | 9.40e-05 | 0.495 |
| 10,000 | 0.0239 | 8.95e-05 | 0.424 |
| 15,000(本检查点) | 0.0182 | 7.38e-05 | 0.383 |
可以看到损失从 1.21 一路降到 0.018,且梯度范数保持平稳(无爆炸/消失),说明模型在第 15,000 步已学到相当稳定的动作模式,但仍保留继续下降的空间——这也解释了为什么要保留 40,000 步的完整计划。
此外,训练只微调了diffusion 动作头、投影层与 VLLN(tune_llm: false、tune_visual: false),主干 VLM 参数保持冻结——这是 VLA 微调"动小脑、不动大脑"的经典做法,既省算力又保住通用理解能力。
五、检查点文件导航:仓库里都有什么 🗂️
| 文件 | 内容与作用 |
|---|---|
| model-00001-of-00003.safetensors 等 3 个分片 | 模型权重(约 5GB/片,合计含 3B 参数) |
| model.safetensors.index.json | 权重分片索引(共 1,030 个张量) |
| config.json | 模型结构超参数(DiT 层数、动作维度等) |
| processor_config.json | 输入处理器配置(各本体模态、delta 索引) |
| statistics.json / experiment_cfg/dataset_statistics.json | 归一化统计量(均值/方差/分位数) |
| embodiment_id.json | 机器人本体 → ID 映射表 |
| trainer_state.json | 完整训练日志(loss / LR / 梯度范数) |
| experiment_cfg/config.yaml | 完整训练配置(数据、模型、优化器) |
| optimizer.pt / scheduler.pt / rng_state.pth | 优化器状态(约 13GB)、学习率调度器、随机数状态——可用于断点续训 |
| README.md | 模型卡:架构、输入输出、许可、参考论文 |
| EXPLAINABILITY.md、BIAS.md、PRIVACY.md、SAFETY_AND_SECURITY.md | 模型卡++ 子卡:可解释性、偏差、隐私、安全 |
💡 提示:由于包含完整优化器状态,该检查点不仅"能推理",还"能续训"——你可以从第 15,000 步接着跑完剩余 25,000 步。
六、如何部署集成:把模型跑起来的路径 🚀
- 获取仓库(需要 Git LFS 支持,权重文件通过 LFS 存储): git clone https://gitcode.com/hf_mirrors/nvidia/GR00T-N1.7-AppleToPlate-cosine40k-checkpoint-15000
- 运行环境:Linux + PyTorch,使用兼容的 GR00T N1.7 实现加载 Safetensors 权重;
- 硬件支持:NVIDIA Ampere / Hopper / Blackwell / Ada / Lovelace / Jetson 系列 GPU 均可运行(官方在 RTX 6000 Ada 上完成测试);
- 输入输出:输入"摄像头帧 + 本体状态 + 语言指令 + embodiment ID",输出为连续动作向量(对应 G1 各电机的控制量),可直接接入机器人控制栈;
- 验证指标(见 EXPLAINABILITY.md):任务成功率、轨迹平滑无抖动、不碰撞其他物体、动作自然度。
七、安全、合规与伦理须知 ⚠️
- 本模型受NVIDIA Open Model Agreement约束(LICENSE),支持全球范围内的商用与非商用;
- 模型未针对功能安全关键场景测试:部署前需自行添加碰撞检测、夹爪验证、人工监督等护栏;
- 在光照不佳、遮挡、传感器漂移等超出训练分布的场景下性能可能退化;更换机器人本体或任务变体时建议追加微调与验证(详见 EXPLAINABILITY.md 的缓解措施章节)。
结语
GR00T-N1.7-AppleToPlate-cosine40k-checkpoint-15000展示了一条清晰的小样本机器人微调路径:只用402 条真机遥操作演示,在 3B 规模的通用 VLA 基础上做"冻大脑、调小脑"式微调,就能让 Unitree G1 人形机器人学会完整的"摘苹果放盘子"技能。仓库同时保留完整训练日志、统计量与优化器状态,对想复现、续训或做二次微调的开发者而言,是一份难得透明的实验档案。
- 人工智能
- 具身智能
- 机器人
- 多模态
- 微调
【免费下载链接】GR00T-N1.7-AppleToPlate-cosine40k-checkpoint-15000
相关推荐
模型卡全景解读:GR00T-N1.7-AppleToPlate-cosine40k-checkpoint-15000的可解释性、偏差、安全与隐私文档完全解析
模型卡全景解读:GR00T N1.7 AppleToPlate cosine40k checkpoint 15000的可解释性、偏差、安全与隐私文档完全解析 你
人工智能具身智能机器人多模态微调深入解读 Product-Manager-Skills 的 VP/CPO 就位顾问(vp-cpo-readiness-advisor):面向 Director→VP→CPO 晋升过渡的交互式教练技能
深入解读 Product Manager Skills 的 VP/CPO 就位顾问(vp cpo readiness advisor):面向 Director→
人工智能具身智能机器人多模态微调Visual Studio Code tasks.json 配置模式完全解析:任务定义、问题匹配器与自动化工作流
Visual Studio Code tasks.json 配置模式完全解析:任务定义、问题匹配器与自动化工作流 本篇技术指南基于 Visual Studio
人工智能具身智能机器人多模态微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考