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

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-09-08-isaac-gr00t-724
> 频道：pitfalls | 更新日期：2026-09-08 | 标签：auto, github-issue, isaac-gr00t
> 核心摘要：24GB显存微调GR00T时仅加载bf16仍OOM，需同时启用paged_adamw_8bit、关闭fp32主权重及梯度检查点方可稳定训练。

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

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[loading pretrained model with bfloat16 during fine-tuning on 24GB GPU](https://github.com/NVIDIA/Isaac-GR00T/issues/724)（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 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub NVIDIA/Isaac-GR00T #724：loading pretrained model with bfloat16 during fine-tuning on 24GB GPU](https://github.com/NVIDIA/Isaac-GR00T/issues/724)