Как выбрать GPU для обучения моделей: VRAM, скорость и экономия бюджета?

MLPops

MLPops / February 19, 2025

4 мин.

При выборе спецификации GPU для обучения или дообучения модели вам, скорее всего, придется использовать вычислительный кластер (pod) в течение нескольких часов или даже дней. Даже небольшая разница в стоимости за час может существенно сказаться на бюджете, особенно если он ограничен. С другой стороны, важно убедиться, что у вас достаточно видеопамяти (VRAM) в вашем pod, чтобы обучение вообще могло начаться. Вот информация, которая поможет сделать осознанный выбор при аренде GPU.


Скорость обучения — важна ли она?

При выборе между двумя GPU по разным ценам (например, A5000 и A6000) можно приблизительно оценить их производительность по количеству ядер:

Влияние архитектуры CUDA-ядер:

  • A6000: 10 752 CUDA-ядер
  • A5000: 8 192 CUDA-ядер
    Это дает ~31% больше ядер для параллельной обработки.

Влияние тензорных ядер:

  • A6000: 336 тензорных ядер
  • A5000: 256 тензорных ядер
    Это также дает ~31% больше ядер, специализированных для машинного обучения.

Однако стоит учитывать, что реальный прирост производительности будет меньше из-за накладных расходов и других факторов. Тем не менее, можно рассчитывать на примерно три четверти от указанного прироста. На данный момент A5000 стоит в два раза дешевле A6000 в Secure Cloud, поэтому экономически более выгодно выбрать A5000, если вам не требуется дополнительная VRAM A6000. Это показывает, что использование более мощной карты для ускорения обучения часто не оправдано с точки зрения затрат.

Таким образом, скорость GPU имеет значение, но важнее техники оптимизации. Основное внимание следует уделить VRAM, что подводит нас к следующему разделу.


Понимание уравнения VRAM

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

Основные компоненты:

  1. Параметры модели: Основные данные вашей LLM.
    • FP32 требует 4 байта на параметр.
    • FP16 требует 2 байта.
  2. Состояния оптимизатора: Обычно это самый большой потребитель памяти. Например, AdamW хранит несколько копий параметров.
  3. Градиенты: Необходимы для обратного распространения ошибки (backpropagation). Они обычно имеют ту же точность, что и веса модели.
  4. Активации: Зависит от размера батча, длины последовательности и архитектуры модели. Их объем можно уменьшить с помощью таких техник, как gradient checkpointing.

В совокупности эти компоненты приводят к правилу “16 ГБ на 1B параметров”. Это много, но можно сократить объем памяти с помощью таких методов, как flash attention (экономия 10–20%) или gradient checkpointing (экономия до половины VRAM при увеличении времени обучения на 20–30%).


Подводя итоги

Правило “16 ГБ на 1B” — хороший ориентир для определения максимальных требований к VRAM. Например:

  • Для небольшой модели (1.5B параметров) использование gradient checkpointing может быть невыгодным.
  • Для больших моделей этот метод почти всегда оправдан экономически.

LoRA и QLoRA

Если ваш бюджет ограничен и вы готовы справляться с техническими сложностями дополнительных файлов, можно использовать LoRA и QLoRA для значительного снижения затрат:

LoRA

  • Замораживает веса оригинальной модели (требуется около 14 ГБ для модели 7B в FP16).
  • Добавляет небольшие матрицы ранговой декомпозиции (меньше 1% от числа параметров).
  • Состояния оптимизатора и градиенты нужны только для этих матриц.
  • Итоговые требования к VRAM: около 16–20 ГБ.

QLoRA

  • Квантует оригинальную модель до точности 4-бита (требуется ~3.5 ГБ).
  • Использует подход LoRA для обновления параметров.
  • Часть данных сохраняется в более высокой точности для стабильности.
  • Итоговые требования к VRAM: около 8–10 ГБ.

Эти методы делают дообучение LLM доступным даже на потребительских GPU. Например, QLoRA позволяет дообучать модель с 13B параметрами на одной RTX 4090.


Пример сравнения требований VRAM

МетодТочность1B7B14B70B
ПолныйFP1610 ГБ67 ГБ134 ГБ672 ГБ
LoRAFP162 ГБ15 ГБ30 ГБ146 ГБ
QLoRAFP81.3 ГБ9 ГБ18 ГБ88 ГБ
QLoRAFP40.7 ГБ5 ГБ10 ГБ46 ГБ

Заключение

При обучении модели скорость GPU имеет меньшее значение по сравнению с требованиями к VRAM и используемыми методами экономии памяти. Почти всегда выгоднее выбирать варианты с меньшими требованиями к VRAM за счет компромиссов в скорости и технической сложности — это позволит существенно снизить стоимость обучения.