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

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
Во время инференса память используется в основном для хранения параметров модели и небольшого количества активаций. Однако при дообучении появляются дополнительные компоненты, требующие значительных ресурсов памяти:
Основные компоненты:
- Параметры модели: Основные данные вашей LLM.
- FP32 требует 4 байта на параметр.
- FP16 требует 2 байта.
- Состояния оптимизатора: Обычно это самый большой потребитель памяти. Например, AdamW хранит несколько копий параметров.
- Градиенты: Необходимы для обратного распространения ошибки (backpropagation). Они обычно имеют ту же точность, что и веса модели.
- Активации: Зависит от размера батча, длины последовательности и архитектуры модели. Их объем можно уменьшить с помощью таких техник, как 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
Метод | Точность | 1B | 7B | 14B | 70B |
---|---|---|---|---|---|
Полный | FP16 | 10 ГБ | 67 ГБ | 134 ГБ | 672 ГБ |
LoRA | FP16 | 2 ГБ | 15 ГБ | 30 ГБ | 146 ГБ |
QLoRA | FP8 | 1.3 ГБ | 9 ГБ | 18 ГБ | 88 ГБ |
QLoRA | FP4 | 0.7 ГБ | 5 ГБ | 10 ГБ | 46 ГБ |
Заключение
При обучении модели скорость GPU имеет меньшее значение по сравнению с требованиями к VRAM и используемыми методами экономии памяти. Почти всегда выгоднее выбирать варианты с меньшими требованиями к VRAM за счет компромиссов в скорости и технической сложности — это позволит существенно снизить стоимость обучения.