Сколько VRAM реально нужно для запуска LLM на 70 миллиардов параметров?
Запуск большой языковой модели на 70 миллиардов параметров на своем ПК — задача, которая требует не просто мощной видеокарты, а точного понимания, куда уходит видеопамять.
Количество параметров модели не равняется объему требуемой VRAM — это лишь первая переменная в сложном уравнении.
Мысль о запуске мощной нейросети у себя на компьютере захватывает. 70 миллиардов параметров — это, по меркам индустрии, серьезная модель, способная решать сложные задачи. Но как только вы открываете спецификации, энтузиазм сталкивается с реальностью железа. «У меня карта на 24 гигабайта, а модель на 70 миллиардов параметров — потянет?» Ответ, как правило, разочаровывает: параметры — только верхушка айсберга.
Чтобы реально оценить, влезет ли модель в вашу GPU, нужно сложить четыре слагаемых: веса модели, квантизацию, кеш KV и служебные расходы среды выполнения. Если модель не помещается целиком, в игру вступают варианты с выгрузкой на центральный процессор и распределением между несколькими видеокартами. Разберем каждый пункт.
Арифметика, которая обманывает
Начнем с базовой формулы. Чтобы посчитать память под веса модели, нужно умножить количество параметров на число бит на параметр и разделить на 8 (чтобы перевести биты в байты).
Для модели в 70 миллиардов параметров цифры выглядят так:
| Точность (квантизация) | Примерный объем весов |
|---|---|
| FP16 / BF16 | 140 ГБ |
| INT8 (8 бит) | 70 ГБ |
| 6 бит | 52.5 ГБ |
| 5 бит | 43.75 ГБ |
| 4 бит | 35 ГБ |
| 3 бит | 26.25 ГБ |
Эти цифры — стартовая точка, а не истина в последней инстанции. Запись «4 бита» не означает, что модель займет ровно 35 ГБ. В форматы квантизации часто включаются шкалы, метаданные, тензоры повышенной точности и другой служебный «хвост». Поэтому две модели, обе заявленные как «4-битные», могут отличаться по реальному потреблению памяти на несколько гигабайт.
Квантизация: спаситель и предатель
Без квантизации модель на 70 миллиардов параметров — фантастика для обычного пользователя. В точности FP16 она весит 140 ГБ, что не вместит даже профессиональный ускоритель на 80 ГБ.
Квантизация — это, по сути, сжатие весов модели с потерей (или почти без потери) качества. Перевод весов из FP16 в INT8 сразу делит объем пополам — до 70 ГБ. А более агрессивное сжатие до 4 бит снижает теоретический вес до 35 ГБ.
Именно квантизация превратила запуск больших моделей дома из экзотики в реальность. Вместо нескольких серверных ускорителей можно обойтись одной мощной рабочей станцией или двумя игровыми картами.
Однако здесь кроется компромисс. Чем сильнее сжимаем модель, тем больше риск потерять в качестве ее ответов. Поэтому цель — не «выбрать самую мелкую модель», а «выбрать самую качественную квантизацию, которая комфортно влезает в ваше железо».
24 ГБ VRAM: почему этого недостаточно
Игровые флагманы последних лет (NVIDIA RTX 4090, например) имеют 24 ГБ видеопамяти. Это отличный показатель для игр и даже для многих ИИ-задач. Но для 70B-модели в 4-битной квантизации, чьи веса теоретически занимают 35 ГБ, этого категорически не хватает.
Значит, нужно что-то жертвовать:
- Применить еще более агрессивную квантизацию (3 бита и ниже), что может заметно ударить по качеству.
- Выгрузить часть слоев модели в оперативную память (CPU offloading).
- Разделить модель на две видеокарты.
- Использовать модель поменьше.
Выгрузка на CPU — вариант, но нужно понимать, что она превращает вопрос из «поместится ли?» в «насколько быстро будет работать?». Пропускная способность между GPU и системной RAM на порядки ниже, чем у внутренней видеопамяти. Каждый генерируемый токен может требовать повторного доступа к весам, и если они лежат в «медленной» памяти, генерация может замедлиться до нескольких токенов в секунду. Работать — будет. Удобно пользоваться — не факт.
32 ГБ VRAM: средний путь
32 ГБ — это уже куда интереснее. Карта с таким объемом, например профессиональная NVIDIA RTX A6000, подходит гораздо ближе к заветным 35 ГБ для 4-битной 70B-модели.
Однако «подходит ближе» все еще не значит «помещается». После загрузки весов нужно место для всего остального. Поэтому такие карты открывают путь для более агрессивных квантизаций (например, 3.5 бита), которые могут уместиться целиком, сохраняя приемлемое качество. Это компромисс, но для многих сценариев он вполне жизнеспособен.
Невидимый пожиратель: кеш KV
Вот о чем часто забывают, делая первые расчеты. Помимо самих весов, при обработке диалога модель хранит информацию о предыдущих токенах в структуре, называемой KV cache (кеш ключей и значений). Чем длиннее контекст (диалог, документ, код), тем больше памяти он съедает.
Это источник классической ошибки: человек скачивает модель, видит, что веса занимают 22 ГБ, и уверенно грузит ее на свою 24-гигабайтную карту. А среда выполнения загружает веса, кеш KV, временные тензоры, ядра CUDA — и памяти не хватает.
Потребность в памяти может радикально отличаться в зависимости от длины контекста. Пользователь А с контекстом в 4K токенов и одним запросом и Пользователь Б с контекстом в 128K токенов и четырьмя параллельными запросами — это два разных мира по объему нужной VRAM, даже если они используют одну и ту же модель.
48 ГБ и больше: зона комфорта
Порядка 48 ГБ VRAM — это рубеж, где запуск 70B-моделей в локальном инференсе становится заметно проще и надежнее. Те же 35 ГБ под 4-битные веса оставляют более 13 ГБ на кеш KV, служебные расходы и работу с длинным контекстом.
Здесь проявляется интересный парадокс: старые профессиональные карты с большим запасом памяти (например, NVIDIA A100 на 80 ГБ) могут оказаться полезнее для этой задачи, чем более новые и «быстрые» игровые флагманы с 24 ГБ. Для инференса LLM карта, которая помещает модель целиком, часто оказывается ценнее более быстрой карты, которая этого сделать не может.
Две карты по 24 ГБ: это не равно одной на 48 ГБ
Распространенный вопрос. На первый взгляд, математика сходится: 24 + 24 = 48. Но это не так.
Распределение слоев модели между двумя GPU возможно, и это действительно позволяет загрузить модель, которая не влезла бы в одну карту. Однако память у каждой карты своя. Данные между ними передаются через PCI Express (или NVLink, если он есть), что создает дополнительные задержки и ограничения. Две карты — это расширение возможностей, но не превращение в один монолитный ускоритель.
Главный вывод: как выбирать GPU для LLM
Вместо вопроса «какая самая быстрая видеокарта?» правильнее задать серию вопросов:
- Какую модель я хочу запустить? (8B? 32B? 70B? Mixture-of-Experts?)
- Какую квантизацию я готов использовать? (FP16? INT8? Q4? Q3?)
- Какой длины контекст мне нужен? (4K? 32K? 128K?)
- Поместится ли модель целиком в VRAM? Если нет, готов ли я к выгрузке на CPU или использованию нескольких карт?
- Какая скорость генерации для меня приемлема? (2 токена/сек для пакетной обработки или 50 токенов/сек для комфортного интерактива?)
Пройдя этот чек-лист, вы поймете, что 24 ГБ — это начало компромиссов для 70B-моделей, 32 ГБ — рабочий вариант с оговорками, а 48 ГБ — более надежная цель. А 80 ГБ снимает многие вопросы, но и цена там соответствующая.
Не покупайте GPU, глядя только на параметры нейросети. Сначала посчитайте, сколько на самом деле нужно памяти вашему сценарию использования.