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

Полностью сегментированный параллелизм данных

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

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

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

Обзор

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

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

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

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

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

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

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

Сочетание FSDP с bfloat16 смешанной точности позволяет примерно вдвое сократить объем памяти и повысить производительность обучения на мультимодальных моделях.

Будущее полностью сегментированного параллельного обмена данными

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

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

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

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

Следите за

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

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

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

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

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

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

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

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

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

Take the Fully Sharded Data Parallel quiz

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

Начать тест

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

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

Что такое полностью сегментированный параллелизм данных?

Fully Sharded Data Parallel (FSDP) — это метод распределенного обучения, который распределяет параметры модели, градиенты и состояния оптимизатора по множеству графических процессоров, поэтому каждое устройство содержит только часть. Это делает возможным обучение огромных моделей на оборудовании, которое никогда не сможет поместить всю модель в память одного графического процессора.

Что FSDP распределяет между графическими процессорами, чего НЕ делает стандартный параллелизм данных?

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

Какую коллективную операцию использует FSDP для восстановления полных весов слоя непосредственно перед его вычислением?

Перед запуском слоя FSDP выполняет сбор всех параметров, чтобы временно собрать полные параметры из всех сегментов, а затем освобождает их.

Почему FSDP освобождает собранные полные веса сразу после вычисления слоя?

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

Какой более ранний подход к оптимизации памяти во многом вдохновил FSDP?

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

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

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

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

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

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

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