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

Повністю розділені дані паралельно

Fully Sharded Data Parallel (FSDP) — це методика розподіленого навчання, яка розділяє параметри моделі, градієнти та стани оптимізатора між багатьма графічним процесором, щоб кожен пристрій зберігав лише фрагмент.

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

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

Огляд

It makes training huge models possible on hardware that could never fit the whole model in one GPU's memory.

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

Традиційний паралелізм даних зберігає повну копію моделі на кожному GPU, що витрачає пам’ять і обмежує розмір моделі. FSDP, популяризований PyTorch Meta та натхненний ZeRO Microsoft, натомість розподіляє три речі на пристрої: параметри, градієнти та стани оптимізатора. Під час прямого проходу кожен графічний процесор тимчасово збирає повні ваги для рівня, який він обчислює, за допомогою збірки всіх даних, запускає обчислення, а потім негайно звільняє зібрану копію. Зворотний перехід працює аналогічно, після чого слід зменшення розсіювання, яке розподіляє градієнтні фрагменти назад до їхніх графічних процесорів. Оскільки кожен пристрій постійно зберігає лише частину моделі, використання пам’яті падає приблизно лінійно з кількістю графічних процесорів, що дозволяє командам тренувати моделі з десятками чи сотнями мільярдів параметрів.

Реалізація в реальному світі

Точне налаштування моделі Llama із 70 мільярдами параметрів на 8 графічних процесорах, які окремо не можуть підтримувати повну вагу.

Попереднє навчання великих мовних моделей у лабораторіях штучного інтелекту шляхом розподілу станів оптимізатора (які домінують у пам’яті в Адамі) на сотні прискорювачів.

Дослідники використовують оболонку FSDP від ​​PyTorch для навчання трансформаторів зору в університетському кластері, не купуючи флагманських графічних процесорів на 80 ГБ.

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

Майбутнє повністю розділених паралельних даних

FSDP стає стандартним для відкритого навчання великої моделі, а FSDP2 у PyTorch покращує зручність використання та сегментування за параметрами. Очікуйте тіснішої інтеграції з тензорним і конвеєрним паралелізмом для моделей із трильйонами параметрів, кращою підтримкою змішаної точності та fp8, а також розумнішою автоматичною упаковкою, яка вибирає для вас межі сегментування. Оскільки з’єднання між графічним процесором, такі як NVLink і InfiniBand, стають швидшими, вартість зв’язку шардингу продовжує зменшуватися, що робить його практичним у все більших масштабах.

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

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

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

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

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

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

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

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

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

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

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

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

Перевір себе

Take the Fully Sharded Data Parallel quiz

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

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

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

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

What is Fully Sharded Data Parallel?

Fully Sharded Data Parallel (FSDP) — це методика розподіленого навчання, яка розділяє параметри моделі, градієнти та стани оптимізатора між багатьма графічним процесором, щоб кожен пристрій зберігав лише фрагмент. Це робить можливим навчання величезних моделей на обладнанні, яке ніколи не зможе вмістити всю модель в пам’ять одного GPU.

Що FSDP розподіляє між GPU, а стандартний паралелізм даних НІ?

FSDP розподіляє параметри моделі, градієнти та стани оптимізатора на пристрої, тоді як стандартний паралелізм даних відтворює повну модель на кожному GPU.

Яку колективну операцію використовує FSDP для реконструкції повних ваг шару безпосередньо перед його обчисленням?

Перед запуском шару FSDP виконує збірку даних, щоб тимчасово зібрати повні параметри з усіх сегментів, а потім звільняє їх.

Чому FSDP звільняє зібрані повні ваги відразу після обчислення рівня?

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

Яким попереднім підходом до оптимізації пам’яті в основному був натхненний FSDP?

Шардинг параметрів, градієнтів і станів оптимізатора FSDP точно відповідає ідеям, представленим у ZeRO Microsoft з бібліотеки DeepSpeed.

Як FSDP приховує значну частину затримки мережі від збору ваг?

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

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

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

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

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