Локальная модель: Ollama по-настоящему
Все задания этого курса проходят без сети — но на FakeLLM. Когда захочется живых прогонов без облака — ни подписок, ни ключей, ни «код улетел на чужие серверы», — есть третий путь: модель, которая целиком живёт на вашей машине. При настройке окружения вы уже ставили Ollama и делали первый запрос; этот урок — про понимание: почему модель занимает столько памяти, как выбрать её под своё железо и чего ждать по скорости и качеству.
Главное правило: модель — это файл
Языковая модель — это веса: миллиарды чисел, упакованные в файл. Когда вы «запускаете модель», файл грузится в память целиком — и он там живёт, пока вы ей пользуетесь. Отсюда арифметика, которая объясняет всё остальное.
Веса по умолчанию хранятся в 16-битном формате — по два байта на параметр. Модель на 8 миллиардов параметров: 8 млрд × 2 байта ≈ 16 гигабайт памяти — до того, как она обработала хоть один токен. Плюс место под контекст (он растёт с длиной запроса — ещё гигабайт-другой на типичные наши промпты с диффами).
Квантизация — трюк, который делает локальный запуск реальным: веса округляются и упаковываются в 4–5 бит на параметр вместо 16. Файл худеет примерно вчетверо, качество проседает немного (не «вчетверо хуже», а «на ощущаемый шажок»), скорость растёт — меньше данных гонять по памяти. Формат с пометкой Q4 в имени модели — это оно. Та же 8-миллиардная модель в Q4 — около 5 ГБ: влезает в обычный ноутбук с запасом.
Подбор под железо
Считать надо свободную память — операционная система, браузер и IDE уже съели свою часть. Ориентиры для Q4:
Свободной памяти | Комфортный класс модели |
|---|---|
6–8 ГБ | 3–4 млрд параметров |
12–16 ГБ | 7–8 млрд (наш основной случай) |
24 ГБ и больше, или GPU с 8–12 ГБ видеопамяти | 13–14 млрд |
Конкретные имена моделей смотрите в библиотеке Ollama — семейства вам уже знакомы по уроку о выборе модели (Qwen, Llama, DeepSeek); для каждого есть версии разного размера, в имени зашит и вес файла. Mac с унифицированной памятью — отдельная песня: там «видеопамять» и обычная — одна и та же, и 16-гигабайтовый MacBook тянет 7–8B лучше многих ноутбуков с дискретной видеокартой.
Главная ошибка здесь — «возьму покрупнее ради качества» на 8 гигабайтах: модель не влезает, система уходит в своп, и токен генерируется секунды. Медленная модель не просто раздражает — она ломает лимиты шагов агента. Меньшая модель, которая честно влезла в память, почти всегда полезнее большей, которая жертвует собой в свопе.
Ollama: пять команд и один суффикс
Практическая часть — короткая, потому что инструмент честный:
ollama pull <модель> # скачать; файл ляжет в ~/.ollama/models
ollama list # что скачано и сколько весит
ollama run <модель> # чат прямо в терминале — быстрая проверка «жива ли»
ollama ps # что прямо сейчас загружено в памятьСервер (ollama serve) обычно уже работает как служба после установки и поднимает OpenAI-совместимый API на localhost:11434. Подключение вашего LLMClient вы видели при настройке окружения — повторю с акцентом на самой частой ошибке:
export LLM_BASE_URL=http://localhost:11434/v1 # суффикс /v1 обязателен
export LLM_API_KEY=ollama # локальному серверу всё равно, но поле не пустое
export LLM_MODEL=<имя из ollama list>Пропущенный /v1 — причина номер один «соединение есть, а ответы нет» (номер два — ключ, заданный не в той сессии терминала, привет промо-модулю). Ещё одна особенность: Ollama выгружает модель из памяти после простоя — первый запрос после паузы медленный, пока файл грузится обратно. Для агента это лечится прогревочным запросом при старте.
Из альтернатив того же жанра — LM Studio: графический интерфейс, свой OpenAI-совместимый эндпоинт, те же модели; кому комфортнее мышкой, чем терминалом. Взаимозаменяемо с Ollama для всего курса.
Чего ждать
Качество. Модель на 7–8 миллиардов параметров — крепкий середняк: черновики текстов, простые ревью, разбор трейсов из практики — уверенно; сложные рассуждения и тонкий код — заметно слабее облачных флагманов. В терминах урока о выборе модели: это дешёвый ярус, только бесплатно. Роутинг отсюда напрашивается сам: локальная модель на поток рутины, облачная — на эскалацию спорных случаев.
Скорость. По порядку величины: на CPU — единицы-десятки токенов в секунду, на GPU — десятки-сотни. Для ночного ревью в CI скорость почти неважна (вспомните критерии выбора); для интерактивного диалога с агентом медленная модель — обуза.
Экономика. Арифметика меняется по сравнению с облаком зеркально: кэш-скидки не существует (нечего тарифицировать — токены бесплатные), зато каждый прогон стоит электричества и вашего железа. Локально выгодно, когда объёмы постоянные и большие, а железо уже куплено; облачно — когда потребность рваная или нужна выпечка флагманского качества.
И отдельно — приватность: при работе с локальной моделью код не покидает машину. Для репозиториев под NDA, корпоративных данных и просто осторожных людей это не «бонус», а единственный приемлемый вариант — и сильный аргумент в пользу навыка «агент на локальной модели», когда вас спросят про AI-инструменты на собеседовании.
Практика без домашки
Железо у всех разное, поэтому вместо тестов — чек-лист «поднять локальный мозг»:
ollama pullмодель класса под вашу свободную память (таблица выше).ollama run— задайте пару вопросов, почувствуйте скорость.Экспортируйте три переменные окружения и прогоните любой живой режим из заданий курса (первый запрос из окружения, слепой бенчмарк).
Сравните с бесплатной облачной моделью на тех же задачах: где локальная справилась, где нет. Вывод из трёх строк — ваш личный вердикт по роутингу.
Когда в следующем модуле появится агент-разведчик, он заработает на локальной модели без единой правки кода — в этом и был смысл провайдер-нейтрального LLMClient.
Что запомнить
Модель — файл весов, грузится в память целиком: 16 бит на параметр → 8 млрд ≈ 16 ГБ; Q4-квантизация сжимает примерно вчетверо при несущественной потере качества.
Подбор по свободной памяти: 6–8 ГБ → 3–4B, 12–16 ГБ → 7–8B, 24+ ГБ → 13–14B. Меньшая, но влезшая, лучше большей в свопе.
Ollama: pull/list/run/ps; эндпоинт
localhost:11434/v1— суффикс/v1обязателен; после простоя модель «прогревается».Локальная модель — дешёвый ярус бесплатно: рутина — ей, эскалация — облаку; токены бесплатны, кэш-скидок нет.
Код не покидает машину: для приватных репозиториев это не бонус, а требование.
Дополнительно
ollama.com — библиотека моделей и документация по командам.
Как устроены LLM: токены, контекст, цена
10 мин
Домашка: токен-калькулятор
4 мин
Квиз: Как устроены LLM: токены, контекст, цена
8 мин
Промпты как код: шаблоны и переменные
8 мин
Домашка: промпт ревьюера
3 мин
Квиз: Промпты как код: шаблоны и переменные
7 мин
Структурированный вывод: JSON вместо прозы
6 мин
Домашка: парсер ревью
3 мин
Квиз: Структурированный вывод: JSON вместо прозы
7 мин
Выбор модели: GPT, Claude, открытые
7 мин
Домашка: бенчмарк вслепую
4 мин
Квиз: Выбор модели: GPT, Claude, открытые
7 мин
HARD-задача: смета агента
3 мин
Локальная модель: Ollama по-настоящему
8 мин
Квиз: Локальная модель: Ollama по-настоящему
6 мин