Локальная большая лингвистическая модель на Windows 11: выбор среды, модели и пошаговое развёртывание

от автора

Это третья статья в рамках проекта «Ситуационная осведомленность 24/7». С нее мы начинаем подготовку к развертыванию своей локальной системы круглосуточной ситуационной осведомленности. В данном материале пойдет доклад о том, как поднять свою локальную большую лингвистическую модель (далее — БЛМ).

Приступим.

Зачем вообще запускать БЛМ локально

Локальная БЛМ — это модель, которая работает на вашем компьютере, а не где-то в облаках. Она не требует постоянной отправки запросов на внешние серверы, может использоваться без подписки, а главное может стать фундаментом для автономных AI-проектов: локальный помощник, анализатор документов, мониторинг новостей, подготовка сводок, RAG-поиск по собственной базе знаний. В нашем случае, мы хотим создать мультиагентную систему круглосуточной осведомлённости, которая будет использовать собственную БЛМ.
Для тестов мы будем использовать следующую сборку:

  • ОС: Windows 11;

  • Видеопамять: 4 ГБ VRAM

  • Оперативная память: 16 ГБ RAM

  • Модели-кандидаты: Gemma и Qwen;

  • Среды-кандидаты: LM Studio и Ollama.

Небольшой спойлер: финальной рабочей сборкой будет Ollama как backend/runtime для дальнейшей автоматизации, Qwen3.5-4B как основная модель и Gemma 4 как резервная модель. LM Studio будет использоваться как удобная среда с графическим пользовательским интерфейсом (далее — ГПИ) для первичной диагностики, тестирования и сравнения моделей.

Какие бывают системы для локального запуска БЛМ

Перед тем как перейдем к установке важно понять: Ollama, LM Studio и похожие им программы — это не сами модели. Модель — это файл с весами и конфигурацией нейросети. А среда запуска, в свою очередь, — это программа, которая загружает модель в память, распределяет нагрузку между процессором и видеокартой, принимает запрос пользователя, управляет параметрами модели и возвращает ответ.

Условно такие решения можно разделить на четыре класса.

Первый класс — программы с ГПИ. К ним относятся LM Studio, GPT4All и Jan. Их главное преимущество — простой старт при работе с ними. Пользователю достаточно просто скачать приложение, выбрать модель, открыть чат и сразу проверить модель. Такие программы особенно удобны на этапе знакомства с локальными БЛМ, потому что они позволяют удобно посмотреть, какая модель скачана, какое квантование выбрано, поменять параметры и проверить насколько быстро модель отвечает. Недостаток — они меньше подходят для постоянной автоматической работы по расписанию.

Второй класс — программы для запуска моделей без ГПИ. Сюда относятся Ollama, llama.cpp и LocalAI. Они используются через командную строку, локальный сервис и API. Такой подход менее нагляден и удобен для обывателей, зато намного практичнее для автоматизации. Например, если в будущем нужно будет подключить агентов, скрипты, планировщик задач или систему мониторинга источников.

Третий класс — веб-панели. Пример — Open WebUI. Это браузерное приложение, которое обычно подключается к уже запущенной локальной модели. Оно удобно, когда нужен привычный интерфейс в браузере, история диалогов, разделение доступа и работа с несколькими моделями.

Четвёртый класс — единые среды с документацией и поиском по базе знаний. Пример — AnythingLLM и подобные решения. Они объединяют чат, документы, поиск по локальным материалам и дополнительные функции. Это удобно для органихации рабочего места пользователя, но для нашей задачи сначала важнее понять базовый уровень. А именно где запускается модель, сколько памяти она потребляет, как настраиваются параметры и как к ней обращаться программно.

Краткое сравнение основных вариантов

  • LM Studio — лучший вариант для первого запуска. Ее сильная сторона — удобный ГПИ. В нём удобно искать GGUF-модели, выбирать квантование, запускать чат, менять параметры, смотреть нагрузку, поднимать локальный сервер и быстро понимать, хватает ли памяти для модели. Для компьютера с 4 ГБ VRAM (как в нашем случае) это серьёзное преимущество: когда ресурсов не очень много, важно видеть, как они расходуются.

Недостаток LM Studio — она больше ориентирована на интерактивную работу. API есть, сервер есть, но для будущей мультиагентной системы, которая должна работать постоянно, та же Ollama проще документируется, переносится и управляется через консоль.

  • Ollama — лучший вариант для backend-слоя. Он запускается как локальный сервис, предоставляет CLI и REST API, работает на Windows, macOS и Linux, умеет хранить модели локально и позволяет создавать собственные профили моделей через Modelfile. Для будущей мультиагентной системы это критично: агентам нужен стабильный endpoint, например http://localhost:11434/api/chat.

Недостаток Ollama — часть настройки приходится делать через командную строку. Для новичка это менее комфортно, чем в LM Studio. Но именно командная строка делает среду воспроизводимой: если что-то сломалось, можно удобно посмотреть параметры и логи.

  • GPT4All — простой вариант для частного локального чата на компьютере. Он хорош для пользователей, которым нужен минимум технической настройки. Но для нашего сценария он менее интересен: будущая мультиагентная система требует API-ориентированности, гибкой интеграции и чётко воспроизводимой конфигурации.

  • Jan — современная open-source альтернатива ChatGPT с локальными моделями и подключением облачных провайдеров. Он удобен как рабочая лошадка для обычного пользователя, но в рамках этой статьи не выбирается как основной сервис, потому что наша цель — не просто локальный чат, а фундамент для автоматизированной системы.

  • Open WebUI — интерфейс поверх Ollama. Его стоит рассматривать на следующем этапе, когда потребуется браузерный интерфейс, разделение доступа, история, документы и RAG. Но начинать с него не нужно: сначала должен стабильно заработать базовый сервис.

  • AnythingLLM — удобная all-in-one-среда для документов, RAG и агентов. Для наших задач она является слишком высокоуровневой.

  • llama.cpp — фундаментальный низкоуровневый движок для запуска GGUF-моделей. Он очень важен, потому что многие инструменты используют идеи и форматы из него. Но для пользователя Windows 11, который хочет получить локальную БЛМ без сборки из исходников, Ollama и LM Studio будут практичнее.

  • KoboldCpp — удобный десктопгый вариант для запуска GGUF-моделей, особенно когда нужен быстрый старт без сложной установки. Но он больше популярен в чатовых сценариях. Для нашей архитектуры Ollama будет лучше.

  • LocalAI — API-ориентированный сервис с открытым исходным кодом, совместимый с OpenAI API и разными модальностями. Он лучше подходит для серверной эксплуатации, но для ноубука на Windows или домашнего ПК Ollama проще в установке и сопровождении.

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

Итоговый выбор:

Основной среда: Ollama
Среда для диагностики и тестов: LM Studio
Основная модель: Qwen3.5-4B Q4_K_M
Резервная модель: Gemma 4 E2B Q4
Базовое окно контекста: 4096 токенов
Экспериментальное окно контекста: 8192 токенов

Почему мы выбрали не LM Studio в качестве основной среды? Потому что мы разрабатываем локальную мультиагентную систему круглосуточной осведомлённости. Для нее важны не только удобный чат и наличие возможности удобной ручной настройки, но и автоматизация: агенты должны отправлять запросы к модели, получать ответы, повторять операции, работать по расписанию и логировать результат. Ollama здесь надежнее.

Почему LM Studio не исключается полностью, а остается в качестве дополнительной? Потому что на этапе подбора модели он удобнее. Через него проще быстро проверить несколько GGUF-вариантов, посмотреть поведение модели и убедиться, что выбранное квантование не влияет на качество ответов.

Почему Qwen3.5-4B Q4_K_M? Потому что это разумный выбор для 4 ГБ VRAM. Модель класса 4B в Q4-квантовании способна давать содержательные ответы, работать с русским и английским текстом, выполнять инструкции и использоваться в агентном контуре. Более крупные модели будут чаще уходить в RAM из-за чего может случиться резкая просадка по скорости.

Почему Gemma 4 E2B как резерв? Потому что Gemma ориентирована на запуск на слабом железе. E2B легче, быстрее и безопаснее для него. Её можно использовать для быстрых классификаций, коротких резюме, маршрутизации задач и предварительной фильтрации данных. В мультиагентной системе это важно для того, чтобы не отправлять каждую задачу на более тяжёлую модель.

Что такое квантование и почему нужен Q4

Модели могут храниться с разной точностью весов. Полноразмерные варианты FP16/BF16 дают хороший результат, но требуют много памяти. Q8 занимает меньше, но всё ещё не годится для 4 ГБ VRAM. Q4 — практический компромисс: веса сжимаются примерно до 4-битного представления, модель помещается в существенно меньший объём памяти, а качество остаётся приемлемым для большинства аналитических задач.

Для нашей конфигурации мы следуем правилу:

Не использовать FP16/BF16.
Не начинать с Q8.
Не выбирать модели 9B, 12B и выше как основные.
Начинать с Q4_K_M.
Если не помещается или работает медленно — перейти на E2B/Q4 или уменьшить окно контекста.

Важно понимать, что файл модели размером 3.4 ГБ не означает, что вся сессия потребует только 3.4 ГБ VRAM. Дополнительно нужна память под KV-cache, контекст, системный промпт, буфер и служебные структуры. Поэтому на 4 ГБ VRAM нельзя ставить слишком длинное контекстное окно.

Настройка

Сначала создадим каталог для нашего проекта. Откройте PowerShell.

mkdir D:\AI
mkdir D:\AI\OllamaModels
mkdir D:\AI\LMStudioModels
mkdir D:\AI\Configs
mkdir D:\AI\Logs

Проверим свободное место:

Get-PSDrive

Желательно иметь минимум 25–30 ГБ свободного места.

Установка LM Studio для диагностики

Скачаем LM Studio с официального сайта и установим как обычное Windows-приложение. После запуска укажим папку моделей:

D:\AI\LMStudioModels

В поиске найдем модель:

qwen3.5-4b

Выбираем GGUF-вариант с квантованием:

Q4_K_M

После скачивания откроем чат и загрузим модель.
В настройках выставим следующее:

Context length: 4096
Temperature: 0.7
Top P: 0.9
Top K: 20
Repeat penalty:
1.05–1.10
Max tokens: 512–1024
GPU offload: Auto

Установка Ollama

Откроем PowerShell и выполним:

irm https://ollama.com/install.ps1 | iex

Проверим список моделей:

ollama list

Если команда работает, Ollama установлен.

Теперь выберем отдельную папку для хранения моделей. Для диска D:

setx OLLAMA_MODELS “D:\AI\OllamaModels”

Важно: setx применяет переменную только к новым процессам. Поэтому закройте PowerShell и откройте его заново заново.

Установка Qwen

Скачаем Qwen3.5-4B:

ollama pull qwen3.5:4b-q4_K_M

Запустим модель:

ollama run qwen3.5:4b-q4_K_M

Проверим модель:

ollama ps

В выводе необходимо проверить, работает ли модель на GPU или переходит CPU/RAM. Если всё работает медленно, первым делом уменьшайте контекстное окно, а не сразу меняйте модель.

Создание стабильного профиля модели через Modelfile

Нам нужен не просто одноразовый запуск модели, а воспроизводимый профиль. Это особенно важно для будущей мультиагентной системы, в которой агенты должны будут обращаться к модели с настроенными параметрами.

Перейдите в папку конфигураций:

cd D:\AI\Configs

Создадим Modelfile:

notepad .\qwen35-4b-4k.Modelfile

Вставим следующее :

FROM qwen3.5:4b-q4_K_M

PARAMETER num_ctx 4096
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER top_k 20
PARAMETER repeat_penalty 1.08
PARAMETER num_predict 768

SYSTEM «»» Ты локальная большая лингвистическая модель, работающая на Windows 11 с ограниченными ресурсами: 4 ГБ VRAM и 16 ГБ RAM. Отвечай на русском языке. Давай конкретные, проверяемые и технически правильные ответы. Если задача требует длинного контекста, больших вычислений или внешнего доступа к данным, прямо укажи ограничение. «»»

Сохраним файл и создадим локальный профиль:

ollama create qwen35-4b-4k -f .\qwen35-4b-4k.Modelfile

Запустим:

ollama run qwen35-4b-4k

Проверка локального API Ollama

Для будущей мультиагентной системы наличие API является очень важным моментом. Проверим локальный endpoint через PowerShell.

$body = @{
model = «qwen35-4b-4k»
messages = @(
@{ role = «user»; content = «Ответь кратко: локальный API Ollama работает?» }
)
stream = $false
} | ConvertTo-Json -Depth 5

$response = Invoke-RestMethod -Method Post -Uri «http://localhost:11434/api/chat» -Body

$body -ContentType «application/json» $response.message.content

Если вы получили ответ, то всё отлично.

Установка Gemma

Gemma 4 E2B нужна как лёгкая резервная модель. Её можно использовать для задач, где не требуется максимальное качество, например, классификация входящих сообщений, первичное резюмирование, определение тематики, фильтрация источников, генерация коротких служебных ответов.

Выполним в PowerShell:

ollama pull gemma4:e2b-it-q4_K_M

Запустим:

ollama run gemma4:e2b-it-q4_K_M

Создадим профиль:

notepad .\gemma4-e2b-4k.Modelfile

Вставим следующее :

FROM gemma4:e2b

PARAMETER num_ctx 4096
PARAMETER temperature 0.5
PARAMETER top_p 0.9
PARAMETER top_k 20
PARAMETER repeat_penalty 1.08
PARAMETER num_predict 512

SYSTEM «»»Ты лёгкая локальная модель для быстрых служебных задач: классификация, краткое резюме, фильтрация, выделение ключевых фактов. Отвечай кратко, структурно и без лишних рассуждений.»»»

Сохраним файл и создадим локальный профиль:

ollama create gemma4-e2b-4k -f .\gemma4-e2b-4k.Modelfile

За что отвечает каждый параметр модели

Теперь разберем те параметры, которые мы выставили моделям. Их нужно понимать для лучшей, а главное корректной настройки БЛМ.

num_ctx — размер контекстного окна. Это максимальный объём текста, который модель видит в рамках текущей сессии: системный промпт, история диалога, пользовательский запрос и промежуточные данные. Чем больше num_ctx, тем больше модель может учитывать, но тем выше расход памяти. На 4 ГБ VRAM базовое значение — 4096. Значение 8192 можно пробовать выставить, но не рекомендуется использовать как значение по умолчанию для работы.

temperature — степень случайности генерации ответа. Низкая температура делает ответы более стабильными и предсказуемыми. Высокая — более разнообразными, но менее контролируемыми. Для технических задач разумно использовать 0.2-0.5. Для обычного диалога — 0.6-0.8. Для будущих агентов мониторинга мы будем держать 0.2-0.5, потому что агентам нужна воспроизводимость, а не творческий стиль.

top_p — это параметр, ограничивающий выбор токенов наиболее вероятной группой, суммарная вероятность которой равна заданному порогу. Значение 0.9 означает, что модель выбирает из достаточно широкого, но не бесконечного набора вариантов. Если ответы слишком хаотичные, рекомендуется снизить до 0.8-0.85.

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

repeat_penalty — штраф за повторы. Если модель начинает повторять фразы или использовать однотипные конструкции параметр нужно слегка повысить. Нормальный диапазон — 1.05-1.15. Слишком высокий штраф может ухудшить связность текста, потому что модель начнёт избегать нужных повторов.

num_predict — максимальное количество токенов, которое модель может сгенерировать в ответе. Если поставить слишком мало, ответы будут обрываться. Если слишком много, модель будет дольше занимать память. Для локального чата можно ставить 512-1024. Для агентнов достаточно 64-256. Для длинного текста — 1024-2048, но на слабом железе это уже нужно использовать осторожно.

SYSTEM — системная инструкция. Это не параметр производительности, но ключевой элемент поведения модели. Через SYSTEM задаётся роль, стиль, ограничения, язык, формат ответа и правила отказа от фантазий. Для мультиагентной системы системный промпт должен быть коротким и функциональным. Его не нужно перегружать длинной философией, так как каждый лишний токен системного промпта занимает часть контекста.

seed — фиксатор случайности. Если среда и модель поддерживают seed, одинаковый seed помогает получать более воспроизводимые ответы при одинаковых настройках. Для тестов это полезно. Для обычного чата не обязательно.

stop — стоп-последовательности. Они указывают модели, где нужно прекратить генерацию. Это полезно, если агент должен вернуть только JSON или только одну строку.

format — формат ответа, например JSON. Для будущей агентной системы это один из самых важных инструментов. Агентам неудобно читать свободный текст. Им нужен структурированный ответ: категория, оценка важности, список фактов, ссылка на источник, уровень уверенности.

stream — потоковая выдача ответа. Если stream = true, ответ приходит частями по мере генерации. Для пользовательского интерфейса это удобно. Для автоматического пайплайна лучше ставить stream = false, чтобы агент получил цельный JSON или текст.

keep_alive — время удержания модели в памяти после ответа. Для круглосуточной системы это важно: если модель выгружается после каждого запроса, первый ответ будет медленным. Если держать модель постоянно, то она будет занимать память. На 4 ГБ VRAM нужно искать баланс.

GPU offload — количество слоёв модели, которые выполняются на GPU. Чем больше слоёв помещается в VRAM, тем выше скорость. Но если VRAM переполнена, Windows начнёт использовать оперативную память, и производительность может просесть. В LM Studio этот параметр удобно настраивать. В Ollama он чаще управляется автоматически, поэтому важно правильно выбрать размер модели и контекст.

batch size — размер пакета обработки токенов. Этот параметр влияет на скорость обработки входного промпта. Большие значения могут ускорять работу, но требуют больше памяти. На слабой видеокарте лучше не выкручивать batch size вручную без необходимости.

threads — количество CPU-потоков. Если модель частично работает на CPU, число потоков влияет на скорость. Слишком много потоков может перегрузить систему и вызвать зависание компьютера.

Диагностика проблем

Если модель зависла, остановите её.

ollama stop qwen35-4b-4k

Если ответы стали очень медленными, проверьте, не разросся ли контекст. Начните новый чат или вернитесь к профилю num_ctx 4096.

Если модель даёт слишком длинные ответы, уменьшите:

num_predict
temperature

Если модель повторяется, увеличьте:

repeat_penalty

Если модель отвечает слишком сухо, увеличьте:

temperature
top_p
num_predict

Итоги третьей части

Таким образом, мы не пытаемся наш ПК в сервер уровня дата-центра. Мы стараемся добиться другого — создать устойчивую локальную систему, которую можно использовать каждый день и постепенно расширять. Следующим шагом — надо юудет подключить к этой системе агентов: сборщика информации, классификатора, суммаризатора, редактора, контролёра качества и модуль публикации.

А больше интересного материала, затрагивающего не только технологии, но и военно-политическую обстановку в мире, вы можете найти в нашем канале Global Insight Plus на площадках Telegram и MAX:

https://t.me/Global_Insight_official_all

https://max.ru/join/aGgfthqkdUEJ1G4L87xnvPw1mtLQRWbnK200NdeKpQY

ссылка на оригинал статьи https://habr.com/ru/articles/1054556/