⚡️ Кратко: ключевые факты и быстрый ответ
- Ollama — это бесплатный open-source рантайм поверх llama.cpp, который поднимает локальную LLM одной командой ollama run: установка занимает 5–10 минут, интернет нужен лишь на этапе скачивания весов.
- Ключевое отличие от облачных флагманов (GPT-6.1 Sol, Claude 5.5, DeepSeek-V4 в API) — данные не покидают вашу машину, а генерация не зависит от лимитов и блокировок провайдера.
- На практике ориентируйтесь на правило: 7–9B в Q4_K_M комфортно живут в 8–10 ГБ видеопамяти, 14B требуют 12–16 ГБ, а 32B и выше имеет смысл ставить только на 24 ГБ VRAM или на CPU с 32–64 ГБ RAM.
- Главный подводный камень — не размер модели, а контекст: длинное окно съедает VRAM быстрее весов, и при переполнении Ollama молча уводит часть слоёв на CPU, роняя скорость в 5–10 раз.
- Зачем держать LLM на своём ПК: приватность, офлайн и экономика
- Ollama под капотом: как рантайм работает с вашим железом
- Сравнение моделей: что реально влезает в вашу видеопамять
- Пошаговая установка на Windows, macOS, Linux и в Docker
- Modelfile и переменные окружения: тонкая настройка под задачу
- GUI и рабочие сценарии: Open WebUI, RAG и локальные агенты
- Частые ошибки, узкие места и диагностика производительности
- Часто задаваемые вопросы (FAQ)
- Сколько нужно видеопамяти и какая модель вообще влезет на мой ПК?
- Ollama выдаёт 3–5 токенов в секунду и вентилятор воет. Как ускорить?
- Можно ли подцепить локальную модель к Cursor, VS Code и своему коду вместо облака?
- Данные точно не утекают? И насколько локальная модель слабее GPT-6.1 Sol или Claude 5.5?
- 💡 В сухом остатке: главное
Зачем держать LLM на своём ПК: приватность, офлайн и экономика
Локальная LLM на своём ПК закрывает три задачи: работу с чувствительными данными, генерацию в изолированном контуре без интернета и предсказуемые расходы вместо токенной тарификации облака.
Сценарий первый — приватность. Договоры под NDA, медицинские выписки, клиентские базы, зарплатная ведомость. Любой запрос в чужой дата-центр уходит в логи, а иногда и в обучающие выборки.
Зависит от политики провайдера, но проверить это снаружи невозможно. Локальная модель такой роскоши не позволяет: веса лежат на диске, наружу уходит ноль байт. Факт легко подтвердить обычным монитором трафика.
Сценарий второй — изолированный контур. Сеть без выхода в интернет, выезд на объект, командировка без связи, самолёт. Модель на 7–9B параметров в 4-битной квантизации занимает 5–7 ГБ и спокойно живёт на ноутбуке с 16 ГБ памяти.
Сценарий третий — экономика. Топовый облачный тариф стоит около 200 $ в месяц, то есть 180–220 тыс ₽ за год. Видеокарта на 16 ГБ — 65–90 тыс ₽ разово плюс 4–5 тыс ₽ на электричество за год при 8 часах работы в день.
| Вариант | Первый год | Что получаете |
|---|---|---|
| Топовый облачный тариф | 180–220 тыс ₽ | Флагманская логика, но лимиты и выгрузка данных наружу |
| Видеокарта 16 ГБ + свет | 70–95 тыс ₽ | Модели до 32B в квантизации, полный офлайн |
| Локально + API по факту | 90–120 тыс ₽ | Рутина на своём железе, сложное — в облако |
Разрыв в первый год — примерно вдвое. Со второго года видеокарта уже отбита, и вы платите только за киловатты. Методику расчёта окупаемости под свой объём задач я разбирал в материале про ROI внедрения ИИ.
💡 Инсайт: Локальная модель выгодна не «вместо» облака, а как второй контур для рутины — суммаризация, теги, черновики, извлечение полей из PDF, классификация тикетов. Сложные рассуждения, длинный контекст и агентные цепочки по-прежнему логичнее отдавать флагманским API вроде GPT-6.1 Sol или Claude 5.5. Считайте не «или-или», а разделение потоков: 70–80% запросов дешёвые и повторяемые, их и забирает ПК.
Честно про качество: на многошаговой логике, работе с большим контекстом и вызове инструментов флагманы заметно впереди. Локальная 14B-модель там сыпет ошибками, и делать вид, что это не так, смысла нет.
Актуальные лимиты, цены за миллион токенов и набор моделей провайдеры публикуют в открытой документации — линейку OpenAI удобно сверять в официальном описании моделей.
Итог простой: приватность и офлайн нельзя купить по подписке ни за какие деньги. А вот экономию — можно, если честно разделить задачи между своим железом и облаком.
Ollama под капотом: как рантайм работает с вашим железом
Ollama — это демон-оркестратор: Go-бинарник, который держит REST API на порту 11434, управляет библиотекой моделей и вызывает под капотом llama.cpp для инференса GGUF-файлов. Сам инференс делают C++ и CUDA/Metal — Ollama только дирижирует.
Разделение простое: llama.cpp — это движок, GGUF — формат упаковки весов, Ollama — удобная обёртка с CLI, автозагрузкой моделей, менеджером версий и Modelfile. Последний работает как Dockerfile: базовый образ, системный промпт, параметры сэмплинга, температурные настройки.
Что реально происходит при ollama run qwen3:8b? Сначала идёт проверка манифеста в ~/.ollama/models: есть ли нужный тег, совпадают ли SHA256-хэши слоёв. Если модели нет — качаются блобы. Дальше начинается интересное: слои подгружаются в RAM и по возможности offload-ятся на GPU.
Параметр num_gpu решает, сколько слоёв уедет в VRAM, остальное добирает CPU. На 8 ГБ видеопамяти модель на 7–8 млрд параметров в Q4 уходит на GPU целиком, 30-миллиардная — только частично, и скорость падает с 45–60 токенов/с до 6–10. Второй пожиратель памяти — KV-кэш контекста: 8192 токена на 8B-модели съедают ещё около 1 ГБ.
| Квант GGUF | Бит на вес | 7B-модель | Потеря качества |
|---|---|---|---|
| FP16 | 16 | ~14 ГБ | эталон |
| Q8_0 | 8,5 | ~7,6 ГБ | почти нет |
| Q4_K_M | 4,5 | ~4,4 ГБ | 1–3% |
| Q3_K_S | 3,5 | ~3,3 ГБ | заметно |
📌 Важно: именно квантование GGUF определяет, влезет ли модель в вашу память, — движок лишь исполнитель. Q4_K_M против FP16 экономит около 68% памяти при потере качества в пределах 1–3%. Выбирайте квант под железо, а не модель под хайп.
Форматы вроде Safetensors Ollama конвертирует внутри — при импорте через Modelfile она прогоняет веса через конвертер в GGUF и раскладывает по слоям. Так что скачанные с репозиториев исходники тоже заведутся, просто подготовка займёт лишние 5–15 минут.
Хорошая новость: популярные открытые семейства — Qwen, Llama, Gemma, Mistral и открытые веса DeepSeek — уже лежат в GGUF в официальной библиотеке. Тянуть их в оригинальном формате почти никогда не нужно.
💡 Инсайт: держите OLLAMA_KEEP_ALIVE=30m, если гоняете одну модель постоянно. Ollama выгружает веса из VRAM через 5 минут простоя, и каждый следующий запрос платит полную цену загрузки — на 8B-модели это 3–8 секунд впустую.
Если хочется поднять локальный инференс до уровня агентных сценариев без терминала, посмотрите наш разбор DeepSeek Harness: десктопные агенты без терминала и кода — там как раз про то, что делать поверх готового рантайма.
Сравнение моделей: что реально влезает в вашу видеопамять
Короткий ответ: 8 ГБ VRAM — это модели 7–9B в Q4_K_M, 16 ГБ — 14B, 24 ГБ — 24–32B или MoE с 3B активных параметров. Всё крупнее требует 48 ГБ+ памяти и заметно проседает по скорости.
Главная ловушка новичка — путать размер файла с реальным потреблением. К весам добавляется KV-кэш контекста: на 32K токенов модель 14B съедает сверху ещё 2–4 ГБ, а 32B — уже 6–8 ГБ. Ollama и llama.cpp честно печатают расход в логах при загрузке, так что смотрите туда, а не на число в названии тега.
| Модель и размер | Квантование | Память (VRAM/RAM) | Скорость, ток/с | Под какие задачи брать |
|---|---|---|---|---|
| Qwen3 4B / Llama 3.2 3B | Q4_K_M | 2,5–3 ГБ | 70–110 | Автодополнение, классификация, короткие ответы бота |
| Qwen3 8B / Mistral 7B / Llama 3.1 8B | Q4_K_M | 5–6 ГБ | 40–70 | Универсальная лошадка: тексты, RAG, простой код |
| То же, 7–9B | Q5_K_M | 6,5–7,5 ГБ | 35–60 | Когда Q4 начинает «тупеть» на сложных инструкциях |
| То же, 7–9B | Q8_0 | 9–10 ГБ | 20–35 | Почти эталонное качество, нужна карта на 12 ГБ+ |
| Qwen3 14B | Q4_K_M | 9–10 ГБ | 25–45 | Аналитика, длинные инструкции, код-ревью |
| Qwen3 14B | Q5_K_M | 11–12 ГБ | 20–38 | Оптимум «качество/память» на 12–16 ГБ |
| Qwen3 14B | Q8_0 | 16–17 ГБ | 12–18 | 24 ГБ карта, работа почти без потерь |
| Qwen3 32B / Gemma 3 27B / Mistral Small 3.2 24B | Q4_K_M | 17–20 ГБ | 12–25 | Агенты, длинный контекст, тяжёлый код |
| То же, 24–32B | Q5_K_M | 21–24 ГБ | 10–18 | Предел для 24 ГБ, контекст придётся экономить |
| То же, 24–32B | Q8_0 | 34–36 ГБ | — | В одну карту не влезает: нужно 2×24 ГБ или 48 ГБ unified |
| Qwen3 30B-A3B (3B активных) | Q4_K_M | 18–20 ГБ | 60–120 | Быстрые чаты и агенты в реальном времени |
| MoE 100B+ (Llama 4 Scout, Mixtral 8x22B) | Q4_K_M | 40–65 ГБ | 15–35 | Только при наличии двух карт или 64 ГБ RAM |
Квантование — это компрессия весов. Q4_K_M — рабочая лошадка: минус около 70% объёма против FP16 при деградации в пределах статистической погрешности. Q5_K_M — компромисс: плюс 1–2 ГБ за заметно более чистые ответы на коде и математике. Q8_0 — уже роскошь, оправданная только на 24 ГБ и выше.
⚠️ Подводный камень: MoE-модель на 100B+ в Q4 может весить 40–65 ГБ, но генерировать быстрее, чем плотная 14B — ведь на каждый токен активируется лишь 3–13B параметров. Халявы нет: всю память всё равно надо где-то разместить. Если она не влезает в VRAM, лишнее уезжает в RAM, и скорость падает в разы — быстрый MoE превращается в самого медленного участника таблицы.
💡 Инсайт: не гонитесь за размером. Разница между 14B и 32B в Q4 на бытовых задачах — проценты, а по скорости — двукратный разрыв. Часто выгоднее взять 14B в Q5_K_M и отдать освободившиеся гигабайты под контекст.
Для справки: облачные флагманы уровня GPT-6.1 Sol или Claude 5.5 по-прежнему обходят любую домашнюю сборку — актуальный список моделей OpenAI это наглядно показывает, — но они требуют интернета и оплаты за токены.
А если хочется не просто чата, а агента, который сам разбирает файлы на диске, загляните в разбор DeepSeek Harness: десктопные агенты без терминала и кода — там как раз объясняется, почему под такие сценарии разумный минимум начинается с 14B.
Пошаговая установка на Windows, macOS, Linux и в Docker
Установка Ollama занимает 2–5 минут: на Windows через winget, на macOS через brew, на Linux через curl-скрипт, а в Docker запуском официального образа с обязательным пробросом GPU.
Дальше логика одинаковая на всех платформах: поднять демон, скачать веса, проверить, что модель реально ушла на GPU. Ниже — рабочий чек-лист без воды.
Windows. Одна команда в PowerShell:
winget install Ollama.Ollama
Инсталлятор сам поднимает демон в трее и прописывает его в автозагрузку. Отдельный ollama serve тут не нужен.
macOS. Через Homebrew:
brew install ollama
ollama serve # если ставили только CLI, без фонового сервиса
Linux. Скрипт создаёт пользователя и systemd-юнит, всё поднимается само:
curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl status ollama
Docker. Здесь важны ровно два флага: проброс видеокарты и монтирование тома под веса.
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Без --gpus=all модель молча уедет на CPU и потеряет 10–20 раз в скорости генерации. Без -v ollama:/root/.ollama каждый пересозданный контейнер будет качать те же 20–40 ГБ весов заново.
⚠️ Подводный камень: в докере для NVIDIA нужен nvidia-container-toolkit. Если после запуска внутри контейнера нет /dev/nvidia0, флаг --gpus=all просто игнорируется, и вы получите CPU-инференс без единой ошибки в логах.
Проверка после установки. Пять команд, которые закрывают 90% вопросов:
ollama --version # CLI на месте
ollama pull qwen3:32b # скачать веса (~20 ГБ в Q4)
ollama run qwen3:32b # чат прямо в терминале
ollama list # что уже лежит на диске
ollama ps # что загружено в память сейчас
ollama ps показывает реальное потребление VRAM и метку «100% GPU» или «CPU/GPU split». Это первое место, куда смотреть, когда ответы ползут по 2 токена в секунду.
💡 Инсайт: папку с моделями можно унести с системного диска переменной OLLAMA_MODELS=/mnt/models — достаточно задать её до старта демона. На практике это спасает SSD от 100–300 ГБ весов, а на Linux путь по умолчанию вообще лежит в /usr/share/ollama/.ollama/models, где места обычно меньше всего.
Apple Silicon — отдельная история. У M-чипов unified memory: CPU и GPU видят один пул памяти. Поэтому 32B в Q4 (около 20 ГБ) спокойно живёт на Mac с 32–64 ГБ ОЗУ, тогда как на дискретной карте с 12 ГБ он бы не влез без офлоада и просадки скорости.
И про трезвость ожиданий: локальная 32B не обгонит флагманские облачные модели вроде GPT-6.1 Sol или Claude 5.5 на сложных рассуждениях. Зато она бесплатна, работает без сети и не отдаёт ваши данные наружу. А если консоль мозолит глаза, есть десктопные агенты без терминала и кода.
Modelfile и переменные окружения: тонкая настройка под задачу
Modelfile — это текстовый конфиг, которым Ollama собирает кастомную модель из готовых весов: там задаются системный промпт, температура, размер контекста и шаблон чата. Переменные окружения управляют уже самим сервером: портами, параллелизмом и памятью.
Минимальный рабочий Modelfile выглядит так:
FROM qwen3:8b
PARAMETER temperature 0.3
PARAMETER num_ctx 8192
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1
SYSTEM """Ты — технический ассистент. Отвечай по-русски, кратко, без воды."""
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
Собирается одной командой: ollama create my-assistant -f Modelfile. Дальше запуск — как у обычной модели, только имя своё.
Поле TEMPLATE трогают редко: у базовых весов он уже прописан и заточен под конкретный токенизатор. Переопределять его стоит, только если вы льёте свои дообученные веса или притащили GGUF из другого проекта. А вот SYSTEM и temperature — рабочая лошадка: для кода и извлечения данных ставьте 0.1–0.3, для брейншторма 0.7–0.9.
📌 Важно: снижение num_ctx — самый быстрый способ вытащить модель из свопа, если генерация внезапно стала медленной. Дефолт в Ollama — 4096 токенов, и его вполне хватает для 90 % задач. Контекст 32 768 у модели на 8B съедает примерно 4 ГБ только под KV-кэш.
Теперь про сам сервер. Ключевые переменные окружения:
| Переменная | По умолчанию | Что делает |
|---|---|---|
OLLAMA_HOST |
127.0.0.1:11434 | Адрес и порт API. 0.0.0.0:11434 открывает доступ из локальной сети |
OLLAMA_NUM_PARALLEL |
1–4 (авто) | Сколько запросов крутится одновременно. Каждый съедает свой кусок KV-кэша |
OLLAMA_MAX_LOADED_MODELS |
3 × число GPU | Сколько моделей держать в памяти разом |
OLLAMA_KEEP_ALIVE |
5m | Сколько модель висит в памяти после ответа. -1 — вечно, 0 — выгрузить сразу |
OLLAMA_FLASH_ATTENTION |
авто | Ускоряет генерацию и открывает квантование KV-кэша |
OLLAMA_KV_CACHE_TYPE |
f16 | q8_0 режет память KV-кэша вдвое, q4_0 — вчетверо |
Комбо OLLAMA_FLASH_ATTENTION=1 + OLLAMA_KV_CACHE_TYPE=q8_0 на модели 8B экономит около 0.5 ГБ при контексте 8192 — и почти без потери качества ответов. На gpt-oss:20b выигрыш уже 1.5–2 ГБ, что часто и решает, влезет модель в 12 ГБ VRAM или нет.
💡 Инсайт: OLLAMA_NUM_PARALLEL=4 и OLLAMA_MAX_LOADED_MODELS=3 звучат заманчиво, но делят одну и ту же память. Для одиночного ПК честнее выставить NUM_PARALLEL=1 и MAX_LOADED_MODELS=1 — модель получит всю VRAM и будет заметно быстрее.
Подключение к своему скрипту — это обычный HTTP:
curl http://localhost:11434/api/chat -d '{
"model": "my-assistant",
"messages": [{"role": "user", "content": "Что такое KV-кэш?"}],
"stream": false
}'
А вот то же самое на Python с переопределением параметров на лету:
import requests
r = requests.post("http://localhost:11434/api/chat", json={
"model": "my-assistant",
"messages": [{"role": "user", "content": "Что такое KV-кэш?"}],
"options": {"temperature": 0.2, "num_ctx": 8192},
"stream": False,
})
print(r.json()["message"]["content"])
Отдельный бонус: Ollama отдаёт OpenAI-совместимый эндпоинт /v1/chat/completions. Значит, официальный SDK подхватит локальную модель сменой одной строки base_url — удобно, когда прототип на облачном GPT-6.1 Sol нужно перевести на свои железки или наоборот. Подробнее про сами модели можно свериться в документации OpenAI.
Дальше эту ручку легко превратить в агента: примеры уже разбирали в материале про десктопные агенты без терминала и про SEO-агента на n8n. Локальный сервер на OLLAMA_HOST подключается туда точно так же, как любой внешний API.
GUI и рабочие сценарии: Open WebUI, RAG и локальные агенты
Open WebUI — оптимальная оболочка для локальных LLM на домашнем ПК: она даёт чат, встроенный RAG, агентные цепочки и OpenAI-совместимый API поверх Ollama, поднимаясь одной командой в Docker за 30–60 секунд.
Но это не единственный путь. Терминал быстрее и не жрёт RAM на веб-морду, LM Studio удобнее для первого старта, а встраивание в редактор кода — вообще отдельный жанр. Расклад по четырём сценариям:
| Оболочка | Плюсы | Минусы | Кому |
|---|---|---|---|
| Терминал (ollama run) | 0 накладных, полный контроль флагов | Нет истории, RAG руками | Скриптам и пайплайнам |
| Open WebUI | Чат, RAG, агенты, API, мультиюзер | ~1,5 ГБ образ, нужен Docker | Основной рабочий стол |
| LM Studio | GUI-выбор модели, замер tok/s | Слабее в агентных цепочках | Новичкам и бенчмаркам |
| Continue / Cline | Подсказки прямо в IDE | Контекст режется до 8–16k | Кодингу на закрытом контуре |
Самый сочный сценарий — локальный RAG на своих документах. Схема простая: эмбеддинги (bge-m3 или nomic-embed-text), нарезка на чанки по 500–1000 токенов с перехлёстом 10–15%, векторный индекс (ChromaDB, Qdrant) и подача top-k фрагментов в промпт.
Сотня PDF превращается примерно в 10–15 тысяч чанков. На CPU индекс строится 3–8 минут, дальше поиск летает за 50–150 мс.
Когда это оправдано? Когда данные нельзя выносить наружу: договоры, медкарты, внутренняя документация под NDA. Если же вопрос разовый — облако дешевле и точнее.
⚠️ Подводный камень: RAG и агентные цепочки дают кратную нагрузку на контекст. Один запрос с поиском, реранкером и двумя шагами агента сжигает 4–6 тысяч токенов — это 60–75% окна у модели на 8k. Модели на 3–4B в такой схеме начинают «плыть», терять инструкции и галлюцинировать. Либо апгрейд железа до 7–14B (Q4/Q5), либо упрощение пайплайна до одного шага поиска без агентов. Полумеры не работают.
Гибридный поиск плюс реранкер bge-reranker-v2 поднимают точность на 15–25%, но добавляют 200–400 мс и ещё пару гигабайт VRAM. На RTX 3060 12 ГБ модель 7–8B в Q4 выдаёт 30–45 токенов/с — комфортно для чтения, но не для автодополнения кода.
Про кодинг честно: локальные модели пока уступают специализированным облачным инструментам вроде Claude Code CLI и Cursor на базе Claude 5.5 Opus или GPT-6.1 Sol — особенно на многофайловых рефакторингах. Это нормальный компромисс: вы платите скоростью и качеством за полную приватность. Для сравнения возможностей современных облачных линейк полезно держать под рукой официальную документацию OpenAI.
Если терминал и Docker — не ваш путь, есть готовые десктопные агенты: разбирали их в материале DeepSeek Harness: десктопные агенты без терминала и кода.
Частые ошибки, узкие места и диагностика производительности
Пять граблей убивают локальный запуск: медленный диск, выгрузка слоёв на CPU, неподхваченные драйверы GPU, занятый порт 11434 и нехватка места при pull. Диагностика — ollama ps и ollama logs.
Начнём с самого обидного. Модель грузится «вечно», хотя железо вроде бы нормальное. Виноват диск: 7B в Q4_K_M весит около 4,5 ГБ. На HDD со скоростью 100–150 МБ/с только чтение съест 40–60 секунд. На NVMe Gen4 (5–7 ГБ/с) та же модель поднимается за 2–4 секунды. Разница в 10–20 раз, и это чистый проигрыш в ожидании.
💡 Инсайт: Замеряйте не «ощущения», а токены в секунду на своём промпте — ollama run --verbose показывает eval rate. Заведите табличку: модель, квант, размер контекста, ток/с, время до первого токена. Без этих цифр выбор модели превращается в гадание на кофейной гуще.
Вторая классика — часть слоёв уходит на CPU. Ollama сама решает, сколько влезет в VRAM. Модель 8B в Q4 требует ~5,5 ГБ, а на карте свободно 4 ГБ, и половина слоёв уезжает в оперативку. Скорость при этом падает с 40–60 ток/с до 3–8 ток/с. Признак: CPU загружен под 100%, GPU простаивает.
Третья напасть — драйверы. При первом запуске ищите в логе строку no compatible GPUs were detected. Если она есть, nvidia-smi тоже не увидит карту: старый драйвер, разъехавшаяся CUDA или WSL без проброса. Обновите драйвер и перезапустите службу, прежде чем винить модель.
| Симптом | Причина | Что делать |
|---|---|---|
| Загрузка 40–60 с | Модель на HDD | Перенести на NVMe, задать OLLAMA_MODELS |
| 3–8 ток/с вместо 50 | Слои выгружены на CPU | Квант Q4 → Q3_K_M, освободить VRAM |
no compatible GPUs |
Драйвер или CUDA | Обновить драйвер, проверить nvidia-smi |
address already in use |
Порт 11434 занят | OLLAMA_HOST=127.0.0.1:11435 |
| Pull падает на 80% | Нет места | Освободить 15–25 ГБ в ~/.ollama/models |
⚠️ Подводный камень: Рост num_ctx с 4K до 32K раздувает KV-кэш на 2–4 ГБ для 8B. Модель снова частично уезжает на CPU, и вы теряете всю выгоду от длинного контекста.
Финальная проверка автономности — самая честная. Выдерните сетевой кабель и прогоните три сценария. Чат в терминале, запрос к API (curl http://localhost:11434/api/tags) и RAG-контур на локальных эмбеддингах вроде nomic-embed-text плюс векторная БД на том же диске. Если все три отвечают — контур действительно ваш, а не арендованный.
Для сравнения с облачными флагманами держите под рукой официальную документацию моделей OpenAI: локальная 8B в Q4 проигрывает им в reasoning, но выигрывает в приватности и нулевой цене за токен. А если хочется собрать агента поверх такого контура, посмотрите наш разбор десктопных агентов без терминала и кода.
Часто задаваемые вопросы (FAQ)
Сколько нужно видеопамяти и какая модель вообще влезет на мой ПК?
Рабочая формула для квантизации Q4_K_M: примерно 0,55–0,6 ГБ на каждый миллиард параметров плюс 1–2 ГБ на контекст и служебные буферы. То есть 8B занимает около 4,5–5 ГБ, 14B — около 9 ГБ, 32B — порядка 20 ГБ, а 70B уже просит 40+ ГБ.
Отсюда простые ориентиры. 8 ГБ VRAM — комфортно живут модели класса 7–8B: суммаризация, перевод, письма, простой RAG по своим документам. 12–16 ГБ — открывается 14B, а 32B пойдёт только частично, с выгрузкой слоёв в оперативку и заметным падением скорости. 24 ГБ (условная RTX 4090 или RTX 5090) — 32B в Q4_K_M работает бодро, это сегодня самый разумный «сладкий» сетап для локальных LLM. 48 ГБ и выше — можно смотреть в сторону 70B.
Проверить фактическое распределение очень легко: запустите модель и сразу выполните ollama ps. Там будет колонка PROCESSOR — если видите 100% CPU, значит на GPU ушло ноль слоёв, и все ваши 24 ГБ видеопамяти простаивают. Также помогает ollama list (что уже скачано) и флаг --verbose при запуске, который печатает скорость генерации.
Ollama выдаёт 3–5 токенов в секунду и вентилятор воет. Как ускорить?
Первый подозреваемый — модель не на GPU. Начните с ollama ps: если там CPU, копайте драйверы и бэкенд. Для NVIDIA нужны свежие драйверы с CUDA, для AMD — ROCm или Vulkan, для Mac — Metal работает из коробки на чипах Apple Silicon. Второй шаг: убедиться, что в Modelfile выставляно PARAMETER num_gpu на максимум возможных слоёв.
Дальше начинается самое интересное. Главный пожиратель VRAM в инференсе — не веса, а KV-кеш контекста. Каждая лишняя тысяча токенов контекста стоит памяти, поэтому ставить num_ctx «на максимум из жадности» — классическая ошибка. Компрессия кеша через OLLAMA_KV_CACHE_TYPE=q8_0 экономит память почти без потери качества, а OLLAMA_FLASH_ATTENTION=1 заметно оживляет длинные контексты.
И не забывайте про холодный старт: параметр OLLAMA_KEEP_ALIVE=-1 держит модель в памяти постоянно. Если модель хранится на HDD, загрузка 20-гигабайтного файла каждый раз с нуля — это десятки секунд мёртвого ожидания. NVMe здесь не роскошь, а необходимость.
Можно ли подцепить локальную модель к Cursor, VS Code и своему коду вместо облака?
Да, и это, пожалуй, главная киллер-фича Ollama. Демон поднимает не только нативный /api/chat, но и полностью OpenAI-совместимый эндпоинт на http://localhost:11434/v1. То есть в любом инструменте, который умеет работать с OpenAI-совместимым API, вы просто меняете base URL, вписываете в поле ключа любую заглушку вроде ollama — и всё работает. Continue.dev, Cline, LangChain, LlamaIndex, n8n, свои скрипты на Python — всё это цепляется без единой строчки костылей.
Но честно про ограничения. Для автодополнения, объяснения кода, рефакторинга отдельной функции и генерации тестов модели класса 14–32B вполне достаточны. А вот автономные агентные сценарии уровня Cursor или Claude Code CLI, где нужно многошаговое планирование и стабильный вызов инструментов, локальная модель на 7–32B пока потянет слабо. Ошибётся в цепочке вызовов, потеряет контекст, зациклится. Так что локальные LLM оллама — это про «быстро и приватно», а не про «заменить агента целиком».
Данные точно не утекают? И насколько локальная модель слабее GPT-6.1 Sol или Claude 5.5?
По умолчанию демон слушает только localhost, а веса после скачивания лежат у вас на диске. Отсюда и нулевая стоимость за токен, и отсутствие лимитов, и полная приватность — ни один запрос физически не покидает машину. Если выключить телеметрию движка и не ставить сомнительные плагины, утечке просто неоткуда взяться.
Но есть подводный камень, о котором забывают. Переменная OLLAMA_HOST=0.0.0.0 открывает API всей локальной сети, а встроенной аутентификации в Ollama нет вообще. Любой, кто в вашем Wi-Fi, сможет гонять запросы через вашу видеокарту. Проверяйте ss -tlnp или netstat, держите порт 11434 закрытым файрволом и не пробрасывайте его наружу.
Теперь про качество. Модель 70B-класса в Q4-квантизации действительно уступает флагманам вроде GPT-6.1 Sol или Claude 5.5 в сложном ризонинге, длинном контексте и агентных задачах — это факт, и спорить с ним бессмысленно. Зато на типовой рабочей рутине (суммаризация встреч, черновики писем, перевод, извлечение данных, RAG по внутренней базе знаний) разница на практике стирается. Вы получаете 90% результата за 0 рублей и без отправки корпоративных документов на чужой сервер.
Здоровая стратегия — гибрид. Чувствительные данные и потоковые задачи гоняем локально, а сложные аналитические запросы отдаём облачным флагманам. Не «или-или», а разумное разделение труда.
💡 В сухом остатке: главное
Рынок технологий движется с бешеной скоростью. Не ведитесь на маркетинговый хайп: всегда тестируйте модели на реальных сценариях вашей команды и замеряйте финальную окупаемость.
Чек-лист для внедрения на практике:
- ✅ Проверьте железо: объём VRAM (nvidia-smi) или unified memory у Apple Silicon, а также свободное место на SSD — квантованные веса занимают 4–40 ГБ.
- ✅ Установите Ollama под свою ОС (Windows, macOS, Linux или Docker) и убедитесь, что демон слушает порт 11434 локально.
- ✅ Скачайте 2–3 модели разного класса через ollama pull и сравните их на своих задачах, а не по чужим бенчмаркам.
- ✅ Настройте OLLAMA_NUM_PARALLEL, OLLAMA_KEEP_ALIVE и параметры Modelfile (temperature, num_ctx) под реальную нагрузку.
- ✅ Поставьте GUI вроде Open WebUI или LM Studio, если нужен чат с историей, RAG и файлами вместо терминала.
- ✅ Отключите автообновление и телеметрию, проверьте работу в режиме без интернета — это и есть финальный тест автономности.
Обсудить материал и поделиться своими бенчмарками можно в комментариях к блогу.







