GPU, ускорители и инфраструктура LLM

ZeRO

Определение

ZeRO — способ параллельного обучения по данным, который уменьшает дублирование состояний модели, распределяя их между участниками. Стадия определяет, какие состояния делятся: состояния оптимизатора, градиенты или также параметры.

Также ищут: Zero Redundancy Optimizer · оптимизатор ZeRO · ZeRO-1 · ZeRO-2 · ZeRO-3

Зачем это знать

Размер файла весов не равен памяти обучения. Стадия ZeRO определяет, какие состояния делятся между участниками. Рассчитайте их объём, отдельно учтите активации и временные буферы, затем измерьте пик памяти полного шага.

Доказательная часть

Что подтверждено

  1. В ZeRO-DP стадии последовательно расширяют набор разделяемых состояний: стадия 1 распределяет состояния оптимизатора между участниками параллельного обучения по данным; стадия 2 также распределяет градиенты; стадия 3 — ещё и параметры.

    Граница применимости: Стадии ZeRO-DP в статье 2020 года и обзоре DeepSpeed. Разделение состояний само по себе не означает применения тензорного параллелизма внутри слоя.

  2. В учёте статьи ZeRO для P параметров схема Adam со смешанной точностью даёт 16P байт состояний модели: параметры FP16 — 2P, градиенты FP16 — 2P, копия параметров FP32 — 4P и два состояния Adam FP32 — по 4P каждое.

    Граница применимости: Схема §3.1 статьи: параметры и градиенты FP16, копия параметров и два состояния Adam FP32. Это учёт перечисленных состояний, а не полный пик памяти; другие схемы точности и оптимизаторы сюда не входят.

  3. В учебном расчёте P=2×10⁹ параметров схемы Adam из статьи ZeRO при равном разделении между четырьмя участниками состояния модели занимают на участника: 32 ГБ без разделения, 14 ГБ на стадии 1, 11 ГБ на стадии 2 и 8 ГБ на стадии 3. Формулы в байтах: 16P; 4P+12P/4; 2P+2P/4+12P/4; 16P/4 соответственно. Здесь 1 ГБ = 10⁹ байт.

    Граница применимости: Редакторский расчёт по §3.1 и §§5.1–5.3 статьи и стадиям из обзора DeepSpeed. Учтены параметры и градиенты FP16, копия параметров и два состояния Adam FP32. Это объём перечисленных состояний, а не пик памяти GPU.

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

    Граница применимости: Граница расчёта по §3.2 статьи ZeRO; дополнительный расход памяти зависит от модели, запуска и устройства.

Перед спецификацией

Что проверить

  1. Зафиксируйте число параметров, точность параметров и градиентов, оптимизатор и число участников параллельного обучения по данным.
  2. Назовите стадию ZeRO и состояния, которые в ней разделяются.
  3. Учтите активации, временные буферы и фрагментацию памяти. Измерьте пик полного шага: расчёт состояний модели не заменяет замер.
Открытые основания

Первоисточники

  • Исследование1
  • Документация1
  • Первичная публикация
    ZeRO: Memory Optimizations Toward Training Trillion Parameter Models Microsoft Research · arXiv:1910.02054v3, 13 мая 2020; §§3.1–3.2, 5.1–5.3, 7.1–7.2 · проверено

    §3.1: состояния Adam со смешанной точностью; §3.2: активации, временные буферы и фрагментация; §5: разделение состояний оптимизатора, градиентов и параметров; §7: обмены в модели анализа статьи.

    Утверждения: 01 · 02 · 03 · 04

  • Официальная документация
    Zero Redundancy Optimizer DeepSpeed · Раздел ZeRO Overview; дата редакции не указана; прочитано 2026-10-26 · проверено

    Стадии 1–3 разделяют состояния оптимизатора, затем также градиенты и параметры. Перенос состояний в память CPU или на накопители описан отдельно и не приписывается каждой стадии.

    Утверждения: 01 · 03

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

В каталоге

  • GPU для распределённого обучения — Сравните объём памяти GPU с расчётом состояний и измеренным пиком полного шага обучения. Стадия ZeRO сама по себе не подтверждает достаточность оборудования.
Подтвердите действие