Память — главный враг обучения
Создание больших языковых моделей (LLM) проходит через четыре этапа: предобучение, дообучение, оптимизация инференса и развертывание. Первый этап, предобучение, часто упускают из виду, считая его просто «математикой». На деле это борьба с «стеной памяти» (Memory Wall). Для Llama 3 405B с 405 миллиардами параметров проблема кроется не в вычислительной мощности, а в объеме данных, которые нужно удержать в видеопамяти.
Ключевая цифра: 16 байт на один параметр. Это не вес модели, а полный «тренировочный статус» (training state). Прежде чем модель начнет обучаться, системе нужно хранить:
- Сами веса (weights).
- Градиенты (gradients).
- Копию весов высокой точности (master weights) для стабильности.
- Две статистики оптимизатора AdamW (momentum и variance).
Математика дефицита: 6,5 ТБ против 80 ГБ
Давайте посчитаем. 405 миллиардов параметров × 16 байт = ~6,5 терабайт только для хранения состояния. Лучшая доступная видеокарта NVIDIA H100 имеет 80 ГБ памяти. Это означает, что для удержания модели в памяти требуется минимум 81 GPU (6500 / 80 ≈ 81,25), и это еще без учета активаций (промежуточных результатов вычислений), которые съедают память динамически.
| Компонент состояния | Размер на параметр | Роль в обучении |
|---|---|---|
| Weight (вес) | 2 байта (FP16/BF16) | Текущее значение нейрона |
| Gradient (градиент) | 2 байта (FP16/BF16) | Направление обновления веса |
| Master Weight (мастер-копия) | 4 байта (FP32) | Высокоточная версия для предотвращения ошибок округления |
| AdamW Stats (1 и 2) | 4 байта + 4 байта (FP32) | Мomentum и Variance для адаптивного шага обучения |
| Итого | 16 байт | Полный объем на один параметр |
Почему это важно для индустрии
Понимание этой математики меняет взгляд на архитектуру ИИ. Почти все современные техники оптимизации (такие как ZeRO, Tensor Parallelism, Pipeline Parallelism) сводятся к одной цели: перемещать меньше байтов. Арифметика на современных GPU происходит быстро, но ожидание передачи данных между чипами (communication overhead) — это узкое горлышко.
Для сравнения: модель на 1 миллиард параметров требует всего ~16 ГБ состояния, что легко помещается в одну карту. Llama 3 405B требует распределения по тысячам устройств. Успех обучения зависит от того, насколько эффективно инженеры могут «разрезать» модель и синхронизировать её части, минимизируя трафик между GPU.
Что дальше?
В следующих частях серии рассматриваются конкретные методы параллелизма (Data, Model, Pipeline), которые позволяют «разрезать» модель на куски и распределить их по кластерам, а также оптимизация инференса для вывода результатов в продакшен.
Источник: Towards AI pub ↗
