Технічний КЕРІВНИЦТВО

Перенесення стану оптимізатора на ЦП і NVMe

Трюк для економії пам’яті, який зберігає важкий облік навчання (стани оптимізатора, градієнти, іноді ваги) в оперативній пам’яті ЦП або на NVMe SSD замість дефіцитної пам’яті графічного процесора.

Послухайте цей посібникШІ-розказаний · ~2 min

На цій сторінці2 хвилини читання
  1. Огляд
  2. Глибоке занурення
  3. Реалізація в реальному світі
  4. Майбутнє перенесення стану оптимізатора на процесор і NVMe
  5. Застосування на практиці
  6. Продовжуйте досліджувати
  7. Часті запитання

Огляд

It lets people train far larger models than their GPU's memory would otherwise allow.

Глибоке занурення

Коли ви тренуєте нейронну мережу за допомогою такого оптимізатора, як Адам, кожен параметр несе додатковий багаж: дві поточні статистики (імпульс і дисперсія), а також копію ваги з повною точністю та її градієнт. У тренуванні зі змішаною точністю це може становити приблизно 16 байтів на параметр, що заважає 2 байтам для самої ваги. Розвантаження переміщує цей багаж з GPU. Розвантаження процесора передає стани оптимізатора в звичайну системну оперативну пам’ять через шину 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, які розмивають межі CPU-GPU, а також розумніші планувальники, які передбачають, які стани попередньо вибирати. Архітектури уніфікованої пам’яті, такі як Grace Hopper, зменшують покарання за PCIe, а фреймворки прагнуть зробити багаторівневе розвантаження майже прозорим, щоб любителі могли точно налаштовувати великі моделі на скромному обладнанні.

Застосування на практиці

Чому це важливо

  • Вартість і бюджет. Архітектурні рішення збільшують продуктивність і експлуатаційні витрати протягом багатьох років.
  • Чіткіші рішення. Технічна освіта допомагає командам вибрати правильний стек, а не лише найновіший.
  • Контроль якості. Кращий інженерний вибір зменшує проблеми з надійністю у виробництві.

Зверніть увагу на

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

Наступні кроки

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

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

Безплатний розсилок

Отримуйте щоденне зведення новин про ШІ

Три перевірені історії про ШІ щоробочого ранку, написані простою мовою. Безплатно назавжди, без реклами.

Один лист щотижня з понеділка по п'ятницю. Відписатися в один клік. Ми ніколи не продаємо та не передаємо вашу адресу.

Перевір себе

Take the Optimizer State Offloading to CPU and NVMe quiz

Миттєва зворотна связь на кожну відповідь та сертифікат із перевіреним ідентифікатором, яким можна поділитися, після проходження курсу.

Розпочати вікторину

Підтримайте безплатну освіту у сфері ШІ. AI Understanding — це некомерційна організація 501(c)(3) — без реклами, без платних стін, назавжди. Зробіть пожертву

Часті запитання

What is Optimizer State Offloading to CPU and NVMe?

Трюк для економії пам’яті, який зберігає важкий облік навчання (стани оптимізатора, градієнти, іноді ваги) в оперативній пам’яті ЦП або на NVMe SSD замість дефіцитної пам’яті графічного процесора. Це дозволяє людям тренувати набагато більші моделі, ніж дозволила б пам’ять їхнього графічного процесора.

Яка основна мета перенесення станів оптимізатора на ЦП або 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?

Переміщення станів за межі GPU означає передачу даних через PCIe або NVMe, що повільніше, ніж пам’ять на GPU, тому пропускна здатність падає, якщо не накладається на обчислення.

Як системи розвантаження приховують значну частину затримки передачі?

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

Продовжуйте вчитися

Пов'язані посібники

Інші посібники, вибрані для цієї теми

Отримайте безкоштовний сертифікат зі ШІКороткий безкоштовний курс та іспит. Безкоштовно, без картки. Близько 2,5 години.Почати безкоштовно →