Локальные модели: полный обзор

Открытые языковые модели на своём сервере: семь семейств, память под каждый размер, локальная модель или облако, три примера с Ollama, ошибки и правила для рабочего проекта.

Стек и технологии Обновлено

Коротко

Локальные модели — открытые языковые модели, которые работают на вашем сервере или компьютере, а не в облаке провайдера: Qwen, Llama, Mistral, Gemma, gpt-oss и другие. Данные не покидают ваш периметр, счёта за каждый запрос нет, и модель работает без интернета. Плата за это — железо и качество: модель, которая помещается на обычный сервер, слабее лучших облачных, поэтому локальные модели берут для понятных повторяющихся задач — классификации, извлечения данных из документов, поиска по смыслу, коротких ответов по базе знаний. Инструменты вроде Ollama и llama.cpp запускают модель одной командой и дают ей тот же API, что у облака.

Локальные модели коротко

Главные факты одной таблицей: что имеется в виду, что нужно и как это запускается.

Что это
Языковые модели с открытыми весами, которые работают на вашем железе
Семейства
Qwen, Llama, Mistral, Gemma, gpt-oss, DeepSeek, Phi
Размеры
От 1 до сотен миллиардов параметров; для сервера обычно 4–32 миллиарда
Квантование
Веса, сжатые до 4–8 бит: в разы меньше памяти, небольшая потеря качества
Чем запускать
Ollama, llama.cpp, vLLM, LM Studio
API
OpenAI-совместимый — код переходит между облаком и локальной моделью сменой адреса
Лицензии
От Apache 2.0 и MIT до лицензий с условиями — читать до коммерческого применения

Семейства открытых моделей

Семь семейств, которые чаще всего запускают локально. Новые версии выходят каждые несколько месяцев, поэтому выбирают на своих примерах, а не по рейтингам.

СемействоАвторЛицензияСильная сторона
Qwen Alibaba в основном Apache 2.0 много размеров, много языков
Llama Meta своя, с условиями самая большая экосистема
Mistral Mistral AI Apache 2.0 у многих моделей компактные и быстрые
Gemma Google своя, с условиями маленькие модели, картинки на входе
gpt-oss OpenAI Apache 2.0 рассуждения и инструменты
DeepSeek DeepSeek MIT у многих моделей рассуждения, код
Phi Microsoft MIT очень маленькие модели

Сколько памяти нужно модели

Примерная память для моделей, сжатых до 4 бит, плюс запас на контекст. С видеокартой это видеопамять; без неё — обычная память, и ответ в разы медленнее.

Размер моделиПамятьПодходит для
1–4 миллиарда около 2–4 ГБ классификации, короткого извлечения, телефонов
7–9 миллиардов около 6–8 ГБ ответов по базе знаний, пересказов
12–14 миллиардов около 10–12 ГБ более сложных текстов и инструкций
27–32 миллиарда около 20–24 ГБ близко к облачному качеству на многих задачах
70 миллиардов и больше от 40 ГБ отдельного сервера с видеокартами
Модели эмбеддингов около 0,5–2 ГБ поиска по смыслу, даже без видеокарты

Локальная модель или облачный API

Выбор делают под задачу: в одном проекте часто используются оба варианта.

КритерийЛокальная модельОблачный API
Куда уходят данные никуда провайдеру
Качество на сложных задачах ниже лучшее из доступного
Стоимость железо, дальше почти бесплатно за каждый запрос
Большие объёмы выгодно счёт растёт вместе с объёмом
Скорость зависит от вашего железа высокая и стабильная
Без интернета работает не работает
Обслуживание на вас: обновления, мониторинг на провайдере

Как запускают локальную модель: 3 примера

Запуск модели через Ollama, один клиент для облачной и локальной модели и настройки для рабочего сервера.

Запуск через Ollama

Две команды до работающей модели и та же модель по HTTP для приложений.

start.sh
# Скачать модель и задать ей вопрос — всё на своём сервере
ollama pull qwen3:8b
ollama run qwen3:8b "Перескажи условия доставки в двух предложениях"

# Та же модель по HTTP: OpenAI-совместимый API на порту 11434
curl http://localhost:11434/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model": "qwen3:8b", "messages": [{"role": "user", "content": "Привет"}]}'

Один клиент для обоих

Код не знает, где модель: адрес и название приходят из настроек.

llm.ts
// Один клиент для облачной и локальной модели: меняются только адрес, ключ и модель
const LLM_URL = process.env.LLM_URL ?? 'http://localhost:11434/v1';
const LLM_MODEL = process.env.LLM_MODEL ?? 'qwen3:8b';

export async function complete(prompt: string): Promise<string> {
  const res = await fetch(`${LLM_URL}/chat/completions`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: `Bearer ${process.env.LLM_KEY ?? 'local'}`,
    },
    body: JSON.stringify({
      model: LLM_MODEL,
      messages: [{ role: 'user', content: prompt }],
      temperature: 0.2, // меньше неожиданностей в деловых ответах
    }),
  });
  if (!res.ok) throw new Error(`LLM: HTTP ${res.status}`);
  const data = (await res.json()) as { choices: { message: { content: string } }[] };
  return data.choices[0].message.content;
}

Настройки для сервера

Закрыта снаружи, тёплая между запросами и ограничена по памяти, чтобы не мешать сайтам рядом.

override.conf
# /etc/systemd/system/ollama.service.d/override.conf — Ollama на рабочем сервере
[Service]
# Слушать только приложения на этом сервере, а не интернет
Environment="OLLAMA_HOST=127.0.0.1:11434"
# Держать модель в памяти между запросами — без холодного старта
Environment="OLLAMA_KEEP_ALIVE=24h"
# Сколько запросов одна модель обслуживает одновременно
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_MAX_LOADED_MODELS=1"
# Потолок: модель не сможет занять память всего сервера
MemoryMax=24G

Частые ошибки с локальными моделями

  1. Ждать облачного качества

    Модель, которая помещается на один сервер, не заменит лучшую облачную на сложных задачах.

  2. Выбирать по рейтингам

    Публичные тесты мало говорят о ваших документах и вашем языке.

  3. API, открытый в интернет

    Сервер модели без авторизации становится бесплатными вычислениями для чужих.

  4. Нет потолка памяти

    Большая модель, загруженная рядом с сайтами, забирает их память, и они начинают падать.

  5. Не читать лицензию

    У части открытых моделей есть условия для коммерческого применения и больших аудиторий.

  6. Одна модель на всё

    Маленькая модель для сортировки и сильная для сложных ответов дешевле и лучше одного компромисса.

6 правил локальных моделей в рабочем проекте

  1. 01

    Сначала проверочный набор

    30–50 настоящих задач с ожидаемыми ответами — на них сравнивают каждую модель.

  2. 02

    Самая маленькая, что справляется

    Быстрее ответы, меньше памяти, больше параллельных запросов.

  3. 03

    Тот же API, что у облака

    Модель можно поменять в любую сторону, не переписывая код.

  4. 04

    Закрыта снаружи

    Достучаться до неё могут только приложения на сервере или во внутренней сети.

  5. 05

    Лимиты на память и процессор

    Модель делит сервер с другой работой и не должна забирать всё.

  6. 06

    Версии закреплены

    Точная версия модели, а новая — только после прогона на проверочном наборе.

Вопросы о локальных моделях

Что такое локальная языковая модель?

Открытая модель, которая работает на вашем сервере или компьютере, а не в облаке провайдера.

Нужна ли видеокарта?

Для быстрых ответов моделей от 7 миллиардов параметров — да; маленькие модели и эмбеддинги работают на процессоре.

Так ли они хороши, как Claude или GPT?

На узких понятных задачах приближаются; в сложных рассуждениях и длинных текстах облако сильнее.

Это правда бесплатно?

Бесплатна модель; сервер, электричество и обслуживание — нет. Окупается на больших объёмах.

Ollama или vLLM?

Ollama — простой старт и умеренная нагрузка; vLLM — много одновременных пользователей на видеокартах.

Можно ли дообучить локальную модель?

Да, открытые веса это позволяют; но для знания ваших документов обычно хватает RAG.

Можно ли запустить на ноутбуке?

Да, модели примерно до 8 миллиардов параметров работают на современном ноутбуке с 16 ГБ памяти.

Форма

ИИ внутри
периметра

Подбираю модель под задачу: Claude или GPT там, где важнее всего качество, локальные — там, где данные не могут покидать ваши серверы. Расскажите о задаче — отвечу в течение рабочего дня.

Или пишите на [email protected]