ДаліНаступний посібник
Адам і адаптивні оптимізатори
технічний
Технічний КЕРІВНИЦТВО
Трюк для економії пам’яті, який зберігає важкий облік навчання (стани оптимізатора, градієнти, іноді ваги) в оперативній пам’яті ЦП або на NVMe SSD замість дефіцитної пам’яті графічного процесора.
Послухайте цей посібникШІ-розказаний · ~2 min
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.
Оскільки пам’ять графічного процесора зростає, багаторівневе розвантаження стає стандартом, а не екзотикою. Очікуйте тіснішої інтеграції з швидшими з’єднаннями, як-от пули пам’яті NVLink-C2C і CXL, які розмивають межі CPU-GPU, а також розумніші планувальники, які передбачають, які стани попередньо вибирати. Архітектури уніфікованої пам’яті, такі як Grace Hopper, зменшують покарання за PCIe, а фреймворки прагнуть зробити багаторівневе розвантаження майже прозорим, щоб любителі могли точно налаштовувати великі моделі на скромному обладнанні.
Безплатний розсилок
Три перевірені історії про ШІ щоробочого ранку, написані простою мовою. Безплатно назавжди, без реклами.
Один лист щотижня з понеділка по п'ятницю. Відписатися в один клік. Ми ніколи не продаємо та не передаємо вашу адресу.
Перевір себе
Миттєва зворотна связь на кожну відповідь та сертифікат із перевіреним ідентифікатором, яким можна поділитися, після проходження курсу.
Підтримайте безплатну освіту у сфері ШІ. AI Understanding — це некомерційна організація 501(c)(3) — без реклами, без платних стін, назавжди. Зробіть пожертву
Трюк для економії пам’яті, який зберігає важкий облік навчання (стани оптимізатора, градієнти, іноді ваги) в оперативній пам’яті ЦП або на NVMe SSD замість дефіцитної пам’яті графічного процесора. Це дозволяє людям тренувати набагато більші моделі, ніж дозволила б пам’ять їхнього графічного процесора.
Розвантаження переміщує важкі стани оптимізатора з графічного процесора в оперативну пам’ять центрального процесора або NVMe, звільняючи пам’ять графічного процесора, щоб більші моделі можна було навчити на тому самому обладнанні.
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 у масштабі.
Переміщення станів за межі GPU означає передачу даних через PCIe або NVMe, що повільніше, ніж пам’ять на GPU, тому пропускна здатність падає, якщо не накладається на обчислення.
Планувальники попередньо вибирають необхідні розділи через PCIe, поки графічний процесор ще виконує обчислення, перекриваючи зв’язок з обчисленнями, щоб маскувати затримку.
Продовжуйте вчитися
Інші посібники, вибрані для цієї теми
ДаліНаступний посібник
Адам і адаптивні оптимізатори
технічний