# nemo-mbridge-perf-cpu-offloading

Скилл помогает включить и проверить выгрузку данных на CPU в Megatron Bridge: активации по слоям и состояния оптимизатора через HybridDeviceOptimizer.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1800 установок · ★ 3735
- Автор: NVIDIA
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/NVIDIA/skills/tree/HEAD/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/nemo-mbridge-perf-cpu-offloading

## Что делает

Скилл разбирает два независимых механизма. Первый — activation offloading: выгружает активации (при желании и веса) по слоям трансформера через `model.cpu_offloading*`. Второй — optimizer offloading: держит состояния Adam (момент и дисперсию) на CPU через `HybridDeviceOptimizer`, настройки в `optimizer.optimizer_cpu_offload`.

Внутри — таблица выбора режима, справочник параметров с дефолтами, готовые сниппеты конфига и CLI-переопределения, минимальная команда запуска рецепта и юнит-тесты для проверки. Есть раздел с ограничениями: у activation offloading обязателен `pipeline_model_parallel_size = 1`, `recompute_granularity = None`, он несовместим с CUDA graphs и с `fine_grained_activation_offloading`, а `cpu_offloading_num_layers` должен лежать в диапазоне от 0 до `num_layers-1`. Optimizer offloading требует `use_distributed_optimizer = True`, зато без ограничений по PP и CUDA graphs.

Для больших MoE-моделей вроде Qwen3-30B-A3B activation offloading заблокирован: из-за PP=1 каждая GPU держит все 48 слоёв, и веса с состояниями оптимизатора (~70 GB) не влезают в H100 80 GB. Это повод сразу смотреть в сторону optimizer offloading. Выгрузка всегда добавляет накладные расходы, поэтому при приоритете пропускной способности её лучше не включать.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-cpu-offloading -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/nemo-mbridge-perf-cpu-offloading/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-cpu-offloading -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-cpu-offloading -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install NVIDIA/skills nemo-mbridge-perf-cpu-offloading
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-cpu-offloading -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/NVIDIA/skills --path skills/nemo-mbridge-perf-cpu-offloading
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add NVIDIA/skills --skill nemo-mbridge-perf-cpu-offloading -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/NVIDIA/skills/tree/HEAD/skills/nemo-mbridge-perf-cpu-offloading/SKILL.md

## Когда брать
- снизить расход памяти GPU за счёт выгрузки активаций на CPU
- вынести состояния оптимизатора Adam на CPU через HybridDeviceOptimizer
- подобрать долю выгружаемых состояний оптимизатора под нехватку памяти
- разобраться, почему после смены конфига offloading случился OOM или падение
- проверить, что обучение без OOM даёт ту же кривую лосса, что и без выгрузки

## Примеры запросов агенту
- Включи optimizer CPU offloading в Megatron Bridge и проверь, что конфиг проходит валидацию
- Настрой activation offloading для модели с PP=1 и объясни, какие ограничения придётся снять
- Прогони юнит-тесты с фильтром cpu_offload и скажи, что они проверяют

## Похожие
- [gpu-server-management](https://affpapa.org/nevibecode/skills/gpu-server-management.md) — скилл · 331 установка
- [cuda-profiling](https://affpapa.org/nevibecode/skills/cuda-profiling.md) — скилл · 316 установок
- [cuda](https://affpapa.org/nevibecode/skills/cuda.md) — скилл · 320 установок
- [run-experiment](https://affpapa.org/nevibecode/skills/run-experiment.md) — скилл · 523 установки
- [pod-doctor](https://affpapa.org/nevibecode/skills/pod-doctor.md) — скилл · 2600 установок
- [discovery](https://affpapa.org/nevibecode/skills/discovery.md) — скилл · 2600 установок

Из того же набора: [nvidia/skills](https://affpapa.org/nevibecode/by/nvidia/skills.md) — 178 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
