Техническое РУКОВОДСТВО

Разгрузка состояния оптимизатора на ЦП и NVMe

Уловка для экономии памяти, которая позволяет хранить тяжелую бухгалтерию обучения (состояния оптимизатора, градиенты, иногда веса) в оперативной памяти ЦП или на твердотельных накопителях NVMe вместо дефицитной памяти графического процессора.

Прослушайте это руководствоОзвучено ИИ · ~2 min

На этой странице2 минуты чтения
  1. Обзор
  2. Глубокое погружение
  3. Реальная реализация
  4. Будущее разгрузки состояния оптимизатора на ЦП и NVMe
  5. Применение на практике
  6. Продолжайте исследовать
  7. Часто задаваемые вопросы

Обзор

Это позволяет людям обучать гораздо более крупные модели, чем в противном случае позволяла бы память их графического процессора.

Глубокое погружение

Когда вы тренируете нейронную сеть с помощью такого оптимизатора, как Адам, каждый параметр несет в себе дополнительный багаж: две текущие статистики (импульс и дисперсия), плюс копию веса с полной точностью и его градиент. При обучении со смешанной точностью это может составлять примерно 16 байт на параметр, что затмевает 2 байта для самого веса. Разгрузка удаляет этот багаж с графического процессора. Разгрузка ЦП передает состояния оптимизатора в обычную системную оперативную память по шине PCIe, а разгрузка NVMe полностью переносит их на быстрые твердотельные диски. Этот метод, популярный благодаря ZeRO-Infinity и ZeRO-Offload от DeepSpeed, меняет скорость на производительность, позволяя одному графическому процессору или небольшому кластеру точно настраивать модели с миллиардами параметров.

Реальная реализация

DeepSpeed’s ZeRO-Offload tutorial trains a ten-billion-parameter GPT-2 configuration on a 32 GB V100, with CPU optimizer offloading and activation checkpointing.

A research team evaluates ZeRO-Infinity with CPU and NVMe tiers for a model that exceeds GPU-only capacity.

A fine-tuning team configures CPU optimizer offloading and measures host memory use and update time.

A team compares larger GPUs with offloading, accounting for CPU, storage, and transfer costs.

Будущее разгрузки состояния оптимизатора на ЦП и NVMe

Поскольку модели продолжают перерастать объем памяти графического процессора, многоуровневая разгрузка становится скорее стандартом, чем экзотикой. Ожидайте более тесной интеграции с более быстрыми соединениями, такими как пулы памяти NVLink-C2C и CXL, которые размывают границу между процессором и графическим процессором, а также более умными планировщиками, которые прогнозируют, какие состояния следует выбирать. Архитектуры с унифицированной памятью, такие как Grace Hopper, уменьшают штрафы PCIe, а платформы стремятся сделать многоуровневую разгрузку почти прозрачной, чтобы любители могли точно настраивать большие модели на скромном оборудовании.

Применение на практике

Почему это важно

  • Стоимость и бюджет. Архитектурные решения влияют на производительность и эксплуатационные расходы на протяжении многих лет.
  • Более четкие решения. Техническое образование помогает командам выбрать правильный стек, а не только самый новый.
  • Контроль качества. Лучший инженерный выбор снижает вероятность возникновения проблем с надежностью на производстве.

Следите за

  • Оптимизация одного теста может скрыть более широкие недостатки системы.
  • Затраты на инфраструктуру и техническое обслуживание часто недооцениваются.
  • Пробелы в безопасности и наблюдаемости могут увеличиваться по мере усложнения систем.

Следующие шаги

  1. Определите целевые показатели задержки, качества и стоимости перед внедрением.
  2. Тестирование при реалистичной нагрузке и условиях данных.
  3. Мониторинг прибора на наличие ошибок, дрейфа и влияния пользователя.
  4. Перед масштабированием подготовьте пути отката и реагирования на инциденты.

Продолжайте исследовать

Бесплатная рассылка

Получайте ежедневный AI-обзор

Три проверенных AI-истории каждое утро буднего дня, написанные простым английским. Бесплатно навсегда, без рекламы.

Одно электронное письмо каждый будний день. Отписаться в один клик. Мы никогда не продаем и не передаем ваш адрес.

Проверьте себя

Take the Optimizer State Offloading to CPU and NVMe quiz

Мгновенная обратная связь по каждому ответу и общий сертификат с проверяемым идентификатором после прохождения курса.

Начать тест

Поддержите бесплатное образование в области искусственного интеллекта. AI Understanding — это некоммерческая организация 501(c)(3). Никакой рекламы и платного доступа. Сделать пожертвование

Часто задаваемые вопросы

Что такое разгрузка состояния оптимизатора на ЦП и NVMe?

Уловка для экономии памяти, которая позволяет хранить тяжелую бухгалтерию обучения (состояния оптимизатора, градиенты, иногда веса) в оперативной памяти ЦП или на твердотельных накопителях NVMe вместо дефицитной памяти графического процессора. Это позволяет людям обучать гораздо более крупные модели, чем в противном случае позволяла бы память их графического процессора.

Какова основная цель разгрузки состояний оптимизатора на ЦП или NVMe?

При разгрузке тяжелые состояния оптимизатора перемещаются с графического процессора в оперативную память процессора или NVMe, освобождая память графического процессора, поэтому более крупные модели можно обучать на одном и том же оборудовании.

For an Adam setup with two FP32 moments and an FP32 master weight, how much memory do those three values use per parameter?

Each FP32 value uses four bytes: two moments plus one master weight total twelve. A sixteen-byte mixed-precision estimate includes other tensors as well.

Какая функция фреймворка способствовала популяризации крупномасштабной разгрузки оптимизатора?

ZeRO-Offload и ZeRO-Infinity от DeepSpeed ​​представили и популяризировали разгрузку состояний оптимизатора на ЦП и NVMe в большом масштабе.

Какова основная стоимость производительности при разгрузке на ЦП или NVMe?

Перемещение состояний за пределы графического процессора означает передачу данных через PCIe или в NVMe, что происходит медленнее, чем память на графическом процессоре, поэтому пропускная способность падает, если она не перекрывается с вычислениями.

Как системы разгрузки скрывают большую часть задержки передачи?

Планировщики предварительно выбирают необходимые разделы через PCIe, пока графический процессор все еще выполняет вычисления, перекрывая связь с вычислениями, чтобы маскировать задержку.

Продолжайте учиться

Связанные руководства

Другие руководства, выбранные по этой теме

Получите бесплатный AI-сертификатКороткий бесплатный курс и экзамен. Без стоимости, без карты. Около 2,5 часов.Начать бесплатно →