Skip to content

踩坑GitHub NVIDIA/Isaac-GR00T1 个月前

24GB GPU微调GR00T OOM:仅改bfloat16无效需配8bit优化器 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:loading pretrained model with bfloat16 during fine-tuning on 24GB GPU(GitHub NVIDIA/Isaac-GR00T #724)

状态:已解决

问题 ​

在24GB GPU上微调GR00T N1.7时,仅在setup.py中指定torch.bfloat16加载预训练模型仍导致显存溢出(OOM)或训练崩溃。原因是OOM主要源于Adam优化器状态而非模型权重,单纯降低权重精度无法适配24GB显存限制。

环境 ​

NVIDIA RTX 4090 (24GB), Python 3.12, CUDA 13.0.2, IsaacLab, GR00T N1.7, bitsandbytes

解决办法 ​

  1. 修改 gr00t/experiment/launch_finetune.py 配置:设置 config.model.load_bf16 = True 与 config.model.backbone_trainable_params_fp32 = False。
  2. 启用8bit优化器与梯度检查点:设置 config.training.optim = "paged_adamw_8bit" 及 config.training.gradient_checkpointing = True。
  3. 手动安装 bitsandbytes 库以支持8bit优化器,并卸载 deepspeed 以避免单卡启动报错。
  4. 将学习率从默认1e-4调低至2e-5~7e-5区间以防止发散,实测batch size=8时峰值显存约21.9GB,训练速度约3.8 it/s。

讨论原作者:@guijuzhejiang 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub NVIDIA/Isaac-GR00T #724:loading pretrained model with bfloat16 during fine-tuning on 24GB GPU访问 2026-10-26