Причин запускать языковую модель у себя обычно две. Первая - данные: договоры, переписку с клиентами или исходный код нельзя или не хочется отправлять в чужое облако. Вторая - предсказуемость: локальная модель не меняется без вашего ведома, не уходит с рынка и не считает токены. Платить за это приходится железом и качеством ответов, и размер этой платы лучше понимать до покупки видеокарты.
Здесь собрано то, что нужно знать перед первым запуском: как посчитать память, какую программу выбрать и где локальные модели подводят. Команды - пример для Ubuntu Server 26.04 LTS.
Память: главный и почти единственный вопрос к железу
Языковая модель - это файл с весами, который целиком загружается в память. Если он помещается в память видеокарты, модель отвечает быстро. Если не помещается, часть слоёв считает процессор, и скорость падает в разы. Поэтому выбор железа сводится к арифметике.
Размер файла зависит от двух чисел: количества параметров модели и точности, с которой каждый параметр хранится. В исходном виде параметр занимает 16 бит. Для домашних и небольших серверов модели сжимают до 4-5 бит, эта операция называется квантизацией. Самый ходовой вариант, Q4_K_M, в среднем даёт около 5 бит на параметр. Проверим на примере: у модели с 12 миллиардами параметров получается 12 × 5 / 8 = 7,5 ГБ. Файл gemma4:12b в библиотеке Ollama весит 7,6 ГБ, расчёт сходится. Подробно о том, что означают Q4, Q5 и Q8 и чем приходится платить за сжатие, рассказано отдельно.
К размеру файла добавляется память под контекст, то есть под текст диалога, который модель держит «в уме». Чем длиннее контекст, тем больше надбавка. У модели llama3.3:70b файл занимает 43 ГБ, при коротком контексте ей нужно около 48 ГБ, а при контексте в 32 тысячи токенов уже 56 ГБ. Отсюда рабочее правило: к размеру файла прибавляйте 1-2 ГБ для коротких диалогов и 20-30% для работы с длинными документами.
Таблица 1. Размер моделей и видеокарта, в которую они помещаются
| Модель | Параметры | Размер файла | Память видеокарты |
|---|---|---|---|
phi4-mini | 3,8 млрд | 2,5 ГБ | работает и на процессоре |
qwen3.5:9b | 9 млрд | 6,6 ГБ | 8 ГБ |
gemma4:12b | 12 млрд | 7,6 ГБ | 12 ГБ |
qwen3.8:27b | 27 млрд | 17 ГБ | 24 ГБ |
llama3.3:70b | 70 млрд | 43 ГБ | 48 ГБ и больше |
Таблица показывает три практических ступени. Карта на 8-12 ГБ запускает модели до 12 миллиардов параметров, которых хватает для пересказа, классификации обращений, черновиков писем и простого кода. Карта на 24 ГБ открывает класс 27-35 миллиардов, это уже уверенная работа с инструкциями и длинными текстами. Всё, что крупнее, требует двух карт или серверного ускорителя, и здесь расчёт окупаемости против облачного API нужно делать особенно внимательно.
Цифра с источником: файл модели llama3.3:70b занимает 43 ГБ, при коротком контексте ей требуется около 48 ГБ памяти, а при контексте в 32 тысячи токенов - 56 ГБ. Надбавка за длинный контекст составляет почти треть от размера файла. Источник: сводная таблица моделей Ollama на computingforgeeks.com, обновление от 25 сентября 2026 года.
Без видеокарты модели тоже работают. Маленькие, до 4 миллиардов параметров, отвечают на обычном серверном процессоре с терпимой скоростью. Модель на 12 миллиардов на процессоре годится для фоновых задач вроде ночной обработки документов, но не для диалога: ответа придётся ждать. Скорость на процессоре упирается в пропускную способность оперативной памяти, поэтому восемь быстрых ядер с двухканальной памятью полезнее тридцати двух медленных. Обычной оперативной памяти в любом случае должно быть не меньше, чем весит файл модели, с запасом на систему.
Производитель карты тоже имеет значение. Лучше всего в Linux поддержаны видеокарты NVIDIA: под них пишутся и проверяются почти все инструменты. Установка драйвера на сервер без графики имеет свои тонкости, им посвящён материал про драйверы NVIDIA и CUDA в Linux.
Программы: Ollama, llama.cpp и vLLM
Сама модель - только файл. Чтобы с ней работать, нужна программа, которая загрузит веса и примет запросы. Распространённых вариантов три, и они рассчитаны на разные ситуации.
Ollama устроена по образцу Docker: модель скачивается одной командой по имени, сервис сам решает, какие слои положить на видеокарту, и отдаёт API по HTTP. На Linux она устанавливается как служба systemd, слушает адрес 127.0.0.1:11434 и умеет отвечать в формате, совместимом с API OpenAI. Последнее важно на практике: n8n, Open WebUI и большинство библиотек для агентов подключаются к ней без доработок. Это правильная отправная точка, если модель нужна вам и нескольким коллегам.
llama.cpp - движок, на котором выросла вся экосистема локальных моделей, и формат файлов GGUF пришёл из него. Он даёт прямой контроль: сколько слоёв отправить на карту, сколько потоков занять, какой размер контекста выделить. В комплекте есть llama-server с веб-интерфейсом и таким же совместимым API. Его выбирают, когда нужно выжать максимум из слабого железа или собрать решение без лишних прослоек.
vLLM решает другую задачу: много одновременных пользователей на видеокарте с большим объёмом памяти. Он объединяет запросы разных клиентов в общие пакеты, и суммарная производительность на загруженном сервере получается выше, чем у двух предыдущих. Плата за это - требования: модели обычно берутся в исходном формате без сильного сжатия, а настройка сложнее.
Таблица 2. Что выбрать под свою ситуацию
| Ситуация | Программа | Почему |
|---|---|---|
| Первое знакомство, один сервер | Ollama | установка одной командой, готовая библиотека моделей |
| Чат для команды до десятка человек | Ollama и веб-интерфейс | хватает встроенной очереди запросов |
| Слабое железо, работа на процессоре | llama.cpp | точная настройка под конкретную машину |
| Десятки одновременных запросов, карта от 24 ГБ | vLLM | пакетная обработка запросов |
| Встраивание в своё приложение | llama.cpp или Ollama | совместимый с OpenAI интерфейс |
Начинать с vLLM «на вырост» не стоит. Переход с Ollama на другой движок позже обходится дёшево, потому что клиентские программы общаются с ними по одному и тому же протоколу и меняется только адрес.
Первый запуск за десять минут
Проверить, на что способен ваш сервер, проще делом, чем расчётами. Установка Ollama и запуск модели занимают три команды:
curl -fsSL https://ollama.com/install.sh | sh
ollama run gemma4:12b
ollama ps
Первая ставит программу и создаёт службу. Вторая скачивает модель и открывает диалог в терминале, выйти из него можно командой /bye. Третья нужна, чтобы увидеть главное: в колонке PROCESSOR написано, где модель работает на самом деле. Значение 100% GPU означает, что она целиком поместилась в видеопамять. Запись вида 45%/55% CPU/GPU говорит о том, что модель не влезла и делится между процессором и картой. В этом случае возьмите модель меньше или вариант с более сильным сжатием: разделённая модель работает заметно медленнее, чем меньшая, но целиком лежащая на карте.
Запускать скрипт из интернета через curl | sh на рабочем сервере - привычка сомнительная. Если на машине есть что-то ценное, сначала скачайте скрипт в файл и прочитайте. Полный разбор с ручной установкой, выбором модели и обращением по API есть в инструкции установка Ollama на Ubuntu Server.
Запрос к модели из своей программы выглядит так:
curl http://127.0.0.1:11434/api/generate -d '{
"model": "gemma4:12b",
"prompt": "Назови три причины, по которым сервис может не стартовать после перезагрузки",
"stream": false
}'
Ответ приходит в формате JSON, текст лежит в поле response. В том же ответе есть счётчики токенов и времени, по ним считают реальную скорость на вашем железе: количество токенов из eval_count делят на время из eval_duration, которое указано в наносекундах.
Ограничения, о которых узнают после покупки железа
Качество. Модель на 12 или 27 миллиардов параметров уступает большим облачным моделям, и разница видна на сложных задачах: многошаговые рассуждения, большой незнакомый код, длинные цепочки действий агента. На узких задачах с понятной инструкцией разница невелика. Перед покупкой железа соберите двадцать-тридцать примеров своих настоящих запросов и прогоните их через кандидатов. Аренда сервера с видеокартой на несколько часов обойдётся дешевле ошибки с выбором.
Контекст. Модель может поддерживать окно в сотни тысяч токенов, но память под него выделяется на вашем сервере. В Ollama размер окна по умолчанию намного меньше максимума модели и задаётся параметром num_ctx. Последствие неприятное: длинный документ молча обрезается, и модель отвечает по его части, не сообщая об этом. Если ответы по большим файлам выглядят так, будто модель не дочитала, причина почти наверняка здесь.
Одновременная работа. Одна видеокарта обрабатывает запросы по очереди или небольшими группами. Пять человек, которые одновременно попросили пересказать по документу, будут ждать дольше, чем каждый по отдельности. Для команды это терпимо, для публичного сервиса нет.
Безопасность. У API Ollama нет встроенной проверки доступа. Пока служба слушает 127.0.0.1, это не страшно. Но как только вы меняете адрес на 0.0.0.0, чтобы подключиться с другого компьютера, любой, кто достучится до порта 11434, сможет пользоваться вашей видеокартой и скачивать на сервер модели. Открывать порт наружу нельзя: доступ дают через VPN, SSH-туннель или обратный прокси с авторизацией.
Лицензии. «Открытые веса» не означают «делай что хочешь». Часть моделей выпускается под лицензией Apache 2.0 без ограничений на коммерческое применение, у других собственные условия с оговорками. Если модель пойдёт в продукт для клиентов, прочитайте лицензию в её карточке до начала работ.
Устаревание. Новые модели выходят каждые несколько месяцев, и модель, которая была лучшей в своём размере весной, к осени уступает нескольким новым. Это аргумент не привязывать код к одной модели: держите имя модели в настройках и храните набор проверочных запросов, чтобы оценить кандидата за час.
Предупреждение: API Ollama не требует ни пароля, ни ключа. По умолчанию служба слушает только 127.0.0.1:11434, и менять этот адрес на 0.0.0.0 без файрвола или прокси с авторизацией нельзя. Источник: руководство по установке Ollama на Ubuntu, linuxize.com, июнь 2026 года.
Кому это подходит
Локальная модель оправдана в трёх случаях. Данные нельзя отдавать наружу по закону, договору или здравому смыслу. Объём обработки велик и однообразен: тысячи обращений, документов или записей в сутки, где счёт от облачного API выходит выше стоимости электричества и амортизации карты. Или нужна независимость от внешнего сервиса: работа в закрытом контуре, на объекте без стабильного интернета, в продукте с долгим жизненным циклом.
Если ни одно из условий не выполняется, а нужен просто умный помощник для нескольких человек, облачная модель окажется и дешевле, и сильнее. Попробовать локальный вариант всё равно полезно: это один вечер, и после него разговор о «своём ИИ» в компании идёт с цифрами, а не с ожиданиями.
Последнее замечание касается порядка действий. Частая ошибка - начинать с покупки видеокарты под конкретную модель из обзора. Правильнее идти от задачи: собрать примеры запросов, проверить две-три модели разного размера на арендованном железе, замерить скорость и качество и только потом выбирать конфигурацию. Модель из обзора через полгода сменится, а требования вашей задачи к памяти и скорости останутся.
Требует проверки:
- Имена и размеры моделей в таблице 1 сверить с ollama.com/library в день публикации: набор моделей меняется быстро, а источник 1 вторичный. Особенно
qwen3.8:27bиgemma4:12b. - Пункты 3-5 источников я не открывал в этой сессии. Перед публикацией выполните на сервере с Ollama три команды из раздела о первом запуске и запрос к API и убедитесь, что поля
response,eval_count,eval_durationи колонкаPROCESSORназываются так же. - Утверждения о скорости на процессоре и о разнице в качестве с облачными моделями даны без цифр намеренно: измерений на своём железе у меня нет. Если есть свои замеры, добавьте их, это усилит статью.
- Адрес репозитория llama.cpp (организация ggml-org) проверить переходом по ссылке.
- Наличие узлов Ollama в n8n и поддержку Ollama в Open WebUI проверить по документации этих продуктов.