Выбор GPU для дообучения LLM (гид по VRAM)
От 7B до 70B: считаем VRAM, необходимый для полного дообучения и LoRA; объясняем влияние batch size, длины последовательности и квантования на бюджет.
01
Почему VRAM решает?
При дообучении в памяти одновременно находятся веса модели, градиенты, состояние оптимизатора (для Adam — примерно двойной объём от весов) и активации. Если эта сумма не помещается в VRAM, обучение не начнётся; если помещается впритык, нагрузки на пределе проваливаются в свопинг, и эффективность GPU рушится.
Поэтому выбор GPU — это вопрос памяти раньше, чем вычислительной мощности: среднескоростная карта с правильным VRAM всегда эффективнее быстрой карты с недостаточным VRAM.
02
Реалистичные потребности по размеру модели
Значения ниже — практические диапазоны для обучения в bf16 и типичных длин последовательности; с ростом длины последовательности и batch size вы приближаетесь к верхней границе.
- Полное дообучение 7B: веса ~14 ГБ + состояние Adam ~56 ГБ + градиенты ~14 ГБ → на практике 2 × 80 ГБ комфортно, 1 × 80 ГБ впритык.
- Полное дообучение 13B: рекомендуется 2 × 80 ГБ.
- Полное дообучение 34B: требуется класс 4 × 80 ГБ.
- Полное дообучение 70B: класс 8 × 80 ГБ (A100/H100) и многокартный параллелизм обязательны.
- LoRA/QLoRA: модель 7–13B возможна на одной карте 24–48 ГБ; для 70B QLoRA на одной карте 80 ГБ — распространённая практика.
03
Бюджет с LoRA и квантованием
LoRA замораживает матрицы весов и обучает только небольшие матрицы обновления низкого ранга; доля обучаемых параметров обычно в диапазоне 0,1–1%. Это устраняет большую часть состояния оптимизатора и памяти градиентов.
QLoRA идёт на шаг дальше: базовая модель квантуется в 4 бита (NF4), а вычисления избирательно выполняются с повышением до 16 бит. Это стандарт дообучения моделей класса 70B на одной карте для относительно небольших команд; потеря качества зависит от задачи и качества данных и всегда должна измеряться.
04
Влияние batch size и длины последовательности
Память активаций растёт примерно линейно с длиной последовательности, а в слоях внимания — квадратично. Увеличение последовательности с 2048 до 8192 токенов заметно повышает память обучения, не меняя весов модели.
Эффективный batch size = batch на карту × шаги накопления градиентов. Когда память не помещается, сначала снижайте длину последовательности и batch на карту, затем возвращайтесь к целевому эффективному batch через накопление градиентов.
05
Практические рекомендации по выбору
- Класс 24 ГБ (напр. RTX 4090): дообучение 7–13B с QLoRA; идеально для быстрых экспериментов и цикла разработки.
- Класс 48 ГБ (напр. L40S/A6000): полное дообучение 7B или QLoRA 13–34B.
- Класс 80 ГБ (A100/H100): QLoRA 70B, полное дообучение 13B; стандарт на ноду для многокартных задач.
- Если нужно мультикартное обучение, арендуйте не карты по отдельности, а одну ноду/кластер целиком; NVLink и малозадержная сеть критичны.
06
Чек-лист
- Количество параметров модели и целевой метод (полное / LoRA / QLoRA).
- Максимальная длина последовательности и целевой эффективный batch size.
- Размер датасета и потребность в постоянном хранении на диске.
- Измерьте реальное использование памяти короткой тестовой арендой; проверьте расчётную таблицу в поле.
Статьи на этой странице — примерный контент; до подключения CMS они помечены как неопубликованные черновики.