8 (800) 302-34-73

Запуск LLM локально: llama.cpp и подбор железа под модели 7B–70B

30 июня 2026 г.

Как поднять LLM локально через llama.cpp: какие модели на CPU, какие на GPU, сколько VRAM и ОЗУ нужно для 7B, 13B, 34B и 70B.

Запуск LLM локально: llama.cpp и подбор железа под модели 7B–70B

Компания хочет внедрить LLM-ассистента для отдела поддержки или внутреннего поиска по документации. Облачные API (OpenAI, Anthropic, Google) закрыты политикой безопасности или недоступны из России без обходных схем. Данные клиентов, переписку и внутренние обращения нельзя передавать наружу: этого требуют служба безопасности и 152-ФЗ о персональных данных. Запуск LLM локально через llama.cpp - рабочий путь: всё остаётся внутри контура, никаких внешних запросов. llama.cpp не единственный вариант, но самый низкопороговый: не требует CUDA-окружения в full-stack, работает на CPU и GPU, разворачивается за день без DevOps-инфраструктуры.

Главный вопрос - на каком оборудовании это работает без компромиссов по скорости и качеству. В статье разбираем требования для моделей 7B, 13B, 34B и 70B: сколько VRAM и ОЗУ нужно, когда достаточно CPU, а когда без GPU класса NVIDIA A100 не обойтись.

Что такое llama.cpp и почему он стал стандартом локального инференса

llama.cpp - open-source движок для запуска LLM в формате GGUF на CPU, GPU и Apple Silicon. Родился как порт модели LLaMA на C++ для запуска на Mac без видеокарты. Сегодня поддерживает десятки архитектур и работает на Linux, Windows и macOS без сложных зависимостей.

  1. Квантизация (Q4_K_M, Q5_K_M, Q6_K, Q8_0). Уменьшает модель в 2–4 раза без значимой потери качества: 26 ГБ в float16 помещаются в 8 ГБ при Q4_K_M.
  2. Минимум зависимостей и кросс-платформенность. Снимают головную боль администрирования: работает на CPU, GPU и Apple Silicon.
  3. Встроенный OpenAI-совместимый API через llama-server. Прозрачная интеграция с кодом, который раньше ходил в облако: меняется только endpoint, логика остаётся нетронутой.

Применяют там, где данные не должны покидать периметр: прототипы LLM-функций, on-premise чат-боты для поддержки и HR, RAG-системы по внутренней документации, инференс дообученных компанией моделей.

Открытый ноутбук с кодом в IDE, рядом иконки GPU и сервера, синий свет от экрана, атмосфера разработки локального ИИ

Сколько ресурсов нужно по размерам моделей

Запуск на CPU + ОЗУ

Модели 7B и 13B в квантизации Q4_K_M помещаются в 8–16 ГБ ОЗУ и выдают 5–8 токенов/сек на EPYC 9354P (32 ядра) и 12–18 токенов/сек на EPYC 9754 (128 ядер) или Xeon Platinum 8480+. Этого хватает для офлайн-обработки документов, ночных пайплайнов классификации обращений, batch-генерации описаний. Инженер ML запускает задачу на ночь - утром получает размеченный датасет.

Модель 34B на CPU потребует 24–32 ГБ ОЗУ и выдаёт 1–3 токена/сек. Для интерактивного чата неприемлемо: пользователь ждёт ответа минутами. Инференс LLM на CPU оправдан там, где скорость вторична, а экономия на оборудовании принципиальна.

Запуск с GPU

NVIDIA RTX 4090 с 24 ГБ VRAM запускает 13B Q5_K_M или Q6_K со скоростью 40–80 токенов/сек - уровень живого чата. Та же модель в Q8_0 может не влезть полностью и потребует офлоада части слоёв на CPU с падением скорости.

Модель 34B уже упирается в VRAM на одной RTX 4090: либо офлоад части слоёв - скорость падает до 10–20 токенов/сек, либо два GPU.

Для локального запуска 70B модели в квантизации Q4 потребуется 40–48 ГБ VRAM. Варианты: две RTX 4090, NVIDIA RTX 6000 Ada (48 ГБ), NVIDIA A100 (40 или 80 ГБ), NVIDIA H100 или две NVIDIA Tesla V100 32 ГБ. Ориентировочная скорость на A100/H100 - 15–40 токенов/сек в зависимости от квантизации и контекста. Для более крупных моделей нужно отдельно определить, какой сервер нужен для DeepSeek, и сопоставить его память с доступной конфигурацией.

Для прототипа достаточно 13B на одном GPU уровня RTX 4090. Для продакшн-нагрузки с моделями 70B+ нужен сервер с H100/A100 или конфигурация на 2–4 NVIDIA RTX 6000 Ada. Модели 34B - компромисс: офлоад или два GPU.

Серверный стойка с видеокартами NVIDIA, зелёные индикаторы, провода питания, профессиональный дата-центр
Рекомендации по ресурсам для моделей
МодельVRAMОЗУGPUТиповой сценарий
7B Q4_K_M—8 ГБCPU (Xeon/EPYC) или RTX 4060Batch-обработка, классификация текстов
13B Q4/Q5_K_M10–12 ГБ16–32 ГБNVIDIA RTX 4090 (24 ГБ)Интерактивный чат, RAG по документам
34B Q4_K_M20–24 ГБ32–64 ГБRTX 4090 (офлоад) / 2×RTX 4090Сложные генерации, код-ассистент
70B Q4_K_M40–48 ГБ64–128 ГБA100 80 ГБ / H100 / 2×RTX 6000 AdaПродакшн-чат, прод-RAG, код высокой сложности

RTX 4060 (8 ГБ VRAM) — только при контексте до 4k токенов; для RAG-сценариев с контекстом 8k+ нужна RTX 4070/4080 или CPU-режим.

Подбор железа под целевую нагрузку

Решение строится вокруг четырёх параметров.

  1. Размер модели (7B / 13B / 34B / 70B). Определяет качество ответов, поддержку русского и сложность решаемых задач.
  2. Уровень квантизации (Q4_K_M / Q5_K_M / Q6_K / Q8_0). Чем выше, тем больше памяти, но стабильнее ответы на длинном контексте.
  3. Длина контекста (4k–32k токенов). Влияет на VRAM через KV-cache: у Llama 3 70B переход с 4k на 32k добавляет около 9 ГБ.
  4. Целевая скорость (токенов/сек) с учётом числа параллельных пользователей. Для интерактивного чата комфортно от 30 токенов/сек на пользователя.

Базовое правило для оценки VRAM: к размеру модели в GGUF добавьте KV-cache и 1–2 ГБ накладных расходов. KV-cache зависит от модели и длины контекста: для Llama 3 70B в FP16 это около 1,25 ГБ на 4k контекста и 10 ГБ на 32k, а формулу для других моделей дает разбор, как рассчитать VRAM под модель и контекст. Под одного пользователя и модель 13B Q4_K_M уверенно работает рабочая станция с NVIDIA RTX 4090 и 32–64 ГБ ОЗУ. Под 10 параллельных пользователей для llama.cpp подбор железа уже означает сервер с двумя RTX 4090 или одним GPU класса NVIDIA A100/H100.

Для 70B в продакшне с десятками одновременных запросов выбирают сервер на HGX-платформе с 4–8 GPU и быстрым NVLink между ними. Для прототипов и задач небольшого отдела достаточно одной мощной рабочей станции - это в разы дешевле и быстрее в развёртывании.

Если задача - поднять пилот быстро, ориентируйтесь на рабочие станции для AI: под одного-трёх пользователей и модели до 13B они закрывают задачу без избыточного бюджета.

Ориентировочный бюджет на железо

Порядок цифр, не смета: рабочая станция с RTX 4090 для моделей до 13B — бюджет уровня мощного инженерного ПК. Сервер с одной A100/H100 для 70B — уже единицы миллионов рублей, основная часть — GPU. Мульти-GPU конфигурация под 50+ одновременных пользователей — бюджет проекта, а не закупки: счёт идёт на десятки миллионов с учётом резервирования и СХД. Цены на GPU волатильны — перед защитой бюджета запрашивайте актуальные котировки у поставщиков.

Как запустить llama.cpp на Windows и на нескольких машинах

Частый сценарий пилота: основная машина на Windows с видеокартой и один-два сервера на Linux без GPU, ресурсы которых хочется отдать той же модели. llama.cpp закрывает оба вопроса без сборки специального окружения.

  1. Запуск на Windows. Собирать llama.cpp из исходников не обязательно: в разделе Releases репозитория проекта выкладываются готовые сборки под Windows для CPU, CUDA и Vulkan. Достаточно скачать архив под свою видеокарту, распаковать его и запустить llama-server или llama-cli с путем к GGUF-файлу.
  2. Подключение дополнительных машин. На каждом сервере, который отдает свои ресурсы, запускают rpc-server из сборки llama.cpp, а на основной машине llama-server или llama-cli запускают с параметром --rpc и адресами серверов в формате адрес:порт через запятую. Версии llama.cpp на всех машинах лучше держать одинаковыми.
  3. Распределение слоев. Слои модели делятся между машинами, поэтому модель, которая не помещается в память одного сервера, может работать на нескольких. Скорость при этом ограничена сетью: данные между машинами передаются на каждом токене, и медленный канал сразу снижает число токенов в секунду.
  4. Безопасность. У rpc-server нет аутентификации, поэтому его запускают только в изолированной сети или отдельном VLAN и не открывают порт наружу.

Программная экосистема вокруг llama.cpp

Что обычно собирается рядом

В реальном проекте llama.cpp редко стоит в одиночку, и движок подбирают по нагрузке:

Пилот на 1–3 пользователя: llama.cpp и Ollama;

GUI для экспериментов ML-команды: LM Studio;

10–50 параллельных запросов на GPU: vLLM.

Чем эти инструменты различаются по производительности, форматам и работе с несколькими GPU, собрано в статье Ollama, vLLM и LM Studio: подробное сравнение.

Поверх инференс-движка строится прикладной слой. Для RAG-систем по внутренней документации - LangChain или LlamaIndex. Для эмбеддингов под векторный поиск - sentence-transformers и модели типа bge или e5. Для отладки промптов - text-generation-webui. За наблюдаемостью следят Prometheus и Grafana: задержки, очередь запросов, утилизация GPU.

Когда стек определён, следующий шаг - подобрать оборудование для AI-нагрузок под реальный профиль: число GPU, объём ОЗУ, пропускная способность NVLink.

Типичные ошибки при локальном запуске

  1. Попытка запустить 70B на одной RTX 4090, потому что «работает на потребительском GPU». Технически работает с офлоадом большей части слоёв на CPU со скоростью 1–3 токена/сек. Для интерактивного чата неприемлемо.
  2. Слишком агрессивная квантизация - Q2_K или Q3_K_M, ради экономии VRAM. Качество ответов и устойчивость к длинному контексту резко проседают. Безопасный коридор для продакшна - Q4_K_M и выше.
  3. Расчёт VRAM без учёта KV-cache: у Llama 3 70B при контексте 32k кэш занимает около 10 ГБ против 1,25 ГБ на 4k, и модель падает по OOM в самый неудобный момент.
  4. Сборка llama.cpp без поддержки CUDA/cuBLAS на машине с GPU: производительность падает в десятки раз. При компиляции нужен флаг GGML_CUDA=ON или аналогичный для текущей версии.
  5. Русский язык без проверки совместимости. Не все модели работают с русским одинаково. Для русскоязычных задач выбирают модели с явной поддержкой ru-сабсета - Saiga, Qwen, Mistral-семейство в правильных версиях. И сразу закладывают цикл обновления: экосистема меняется быстро.

Что предусмотреть до запуска в продакшн

Запуск LLM внутри периметра не означает автоматической безопасности. Инференс-сервер - это отдельный сервис, к которому применяют те же стандарты, что к любому внутреннему API.

Сетевая изоляция. llama-server по умолчанию слушает на всех интерфейсах. В продакшене его ограничивают localhost или внутренним сетевым интерфейсом и закрывают iptables или firewalld. Тестовый контур с экспериментальными моделями держат отдельно от боевого: риск нестабильности и смешения данных между средами реален.

Контроль доступа. API-ключ к llama-server обязателен даже во внутренней сети. llama-server не имеет встроенной поддержки LDAP — авторизацию реализуют через reverse proxy: nginx с LDAP Auth Daemon или Keycloak в роли OIDC-провайдера перед эндпойнтом. Каждый запрос к модели логируют вместе с промптом и ответом: это требование для аудита и расследования инцидентов.

Ограничения конфигурации. Максимальная длина контекста ограничивается не только по VRAM, но и как защита от prompt injection с гигантскими входными данными. Rate-limit на запросы в минуту предотвращает перегрузку сервера одним процессом. В средах с требованиями ФСТЭК или ЦБ весь стек - llama.cpp, OS, GPU-драйверы, фиксируется по версиям и проходит проверку перед выкаткой.

Закрытый замок на экране компьютера, зелёный щит безопасности, синий и чёрный фон, символы кода позади, кибербезопасность

Заключение

Алгоритм выбора простой и состоит из четырёх шагов. Сначала определите целевой размер модели - 7B, 13B, 34B или 70B, исходя из требований к качеству ответов, поддержке русского языка и сложности задач. Дальше оцените число параллельных пользователей и допустимую задержку: интерактивный чат требует минимум 20–30 токенов/сек, офлайн-пайплайн работает и при 5–10. Третий шаг - посчитайте VRAM и ОЗУ по правилу «размер модели в GGUF плюс KV-cache для нужной длины контекста плюс 1–2 ГБ накладных». И последнее - подберите оборудование под получившиеся требования.

Для пилота достаточно рабочей станции с NVIDIA RTX 4090 и моделью 13B: запуск LLM локально в таком варианте занимает день-два от получения оборудования. Для продакшна с десятками пользователей и моделями 70B нужен сервер с GPU класса NVIDIA H100 или A100 либо конфигурация на нескольких NVIDIA RTX 6000 Ada. Рассчитайте всё заранее: апгрейд GPU на действующем сервере сложнее и дороже, чем правильный выбор с первого раза.

{ свяжитесь с нами }

Задайте свой вопрос эксперту

Расскажите о задаче — специалист Serverzilla уточнит детали, поможет разобраться в требованиях и подскажет дальнейшие шаги.