Gemma 4 локально: AI API больше не стоит ни копейки

Разработчик отказался от $10/день на облачные API, запустив Gemma 4 локально на ноутбуке с RTX 3070 Ti. Секрет: двухуровневая архитектура, которая отправляет простые задачи бесплатной локальной модели, а сложную работу оставляет дорогостоящим облачным сервисам.

Я заменил $10 в день на облачных API бесплатной локальной моделью — вот как — theAIcatchup

Key Takeaways

  • Gemma 4 8B запускается на потребительском игровом ноутбуке (RTX 3070 Ti) с частичной выгрузкой из VRAM, генерируя 19-27 токенов в секунду для задач классификации и извлечения
  • Отключение режима рассуждений (think=false) даёт 4.7x-7.7x ускорение на структурированных задачах без потери качества — локальное рассуждение это ненужная надстройка для классификации
  • Двухуровневая архитектура (локальная модель для маршрутизации/классификации, облачные API для сложного рассуждения) режет $10/день на API, при этом улучшая latency и отзывчивость системы

Бесплатный интеллект побеждает дорогие API.

Последние недели я разрабатывал MasterCLI — мультимодульную AI-нативную десктоп-платформу на Go, React и PostgreSQL — и смотрел, как растёт счёт в облаке. Десять баксов в день звучит смешно, пока не поймёшь, откуда они берутся: классификация запросов, извлечение структурированных данных, препроцессинг сообщений. Работа, которая совсем не требует мощи GPT-4o-mini — просто что-то вменяемое.

Затем Google выпустил Gemma 4 8B, и я решил протестировать её локально на реальных production-нагрузках. То, что я обнаружил, было не просто неожиданным — оно перестроило мои представления об архитектуре AI-систем.

Может ли игровой ноутбук запустить модель с рассуждениями?

Давайте разберёмся с реальностью. Это не облачный бенчмарк на GPU. Всё по-настоящему:

  • Ноутбук: стандартный RTX 3070 Ti с 8GB VRAM
  • Модель: Gemma 4 8B, квантизация Q4_K_M (9,6GB на диске)
  • Runtime: Ollama v0.20.0 на Windows 11

Модель не влезает целиком в VRAM. Часть выгружается в системную память. И работает.

Одна команда ollama pull gemma4 — и 9,6GB уже на рабочем столе, готовы к работе. Скорость генерации держалась стабильно на всех задачах — где-то между 19 и 27 токами в секунду в зависимости от нагрузки. Обработка промпта достигала 120-850 токов/с. Не быстро, но абсолютно годится для классификации и извлечения, которые обычно отправляют в облако.

“Модель вообще не влезает в VRAM целиком — часть выгружается в системную память. Это реальный тест, а не облачный бенчмарк на GPU.”

Итак, ноутбук может это запустить. Реальный вопрос был другой: будет ли это полезно?

Почему Gemma 4 работает как модель рассуждения?

Большой шок пришёл с первым тестом. Ответы казались пустыми. Токены генерировались — метрики скорости это доказывали — но в JSON поле content приходило ничего.

После часа отладки потоковых выходов я понял, что происходит: Gemma 4 это модель рассуждений. Как DeepSeek-R1 или OpenAI o1, она сжигает токены на цепочку рассуждений перед ответом.

Только эти токены лежали в отдельном поле thinking.

Ответ выглядел так:

{"message":{"role":"assistant","content":"","thinking":"Вот процесс рассуждения..."}}
{"message":{"role":"assistant","content":"","thinking":" чтобы прийти к..."}}
// ... куча токенов рассуждения ...
{"message":{"role":"assistant","content":"Три основных паттерна это..."}}

Модель сначала рассуждала, потом отвечала. Для классификации и извлечения это чистая бюрократия — получаешь качественный результат, но с задержкой в 4-7 раз выше.

Потом я нашёл волшебную кнопку: "think": false.

Зачем вообще отключать рассуждения?

Отключение рассуждений дало 7.7x ускорение на классификации, 4.5x на JSON-извлечении, 2x на генерации кода. Качество выхода не изменилось. Просто быстрее.

Задача think=true think=false Ускорение
Классификация 6.9s 0.9s 7.7x
JSON извлечение 19.4s 4.3s 4.5x
Генерация кода 26.7s 13.3s 2x

Для структурированной работы, когда вы знаете формат и ограничения с самого начала, рассуждения это просто мёртвый груз. На открытых вопросах теряешь немного тонкости. Компромисс очевиден, когда платишь задержкой — а на ноутбуке это убивает UX.

Две ловушки, в которые я угодил

Эндпойнт /api/generate в Ollama работает криво с Gemma 4. Поле response приходит пустым, хотя токены стримятся как надо. Переходишь на /api/chat — и всё работает. В документации об этом ни гу-гу.

Вторая подводная граница: function calling требует num_predict >= 2048. При маленьком лимите токенов рассуждение съедает весь бюджет и модель никогда не вызывает функцию. При достаточном резерве она умная настолько, чтобы пропустить рассуждения и выплюнуть вызов за 34 токена, 1.3 секунды.

Я дал ей это:

```json { “name”: “search_contracts”, “parameters”: { “query”: {“type”: “string”}, “min_budget”: {“type”: “number”}, “category”: {“type”: “string”, “enum”: [“IT”,”construction”,

Sarah Chen
Written by

AI research editor covering LLMs, benchmarks, and the race between frontier labs. Previously at MIT CSAIL.

Worth sharing?

Get the best AI stories of the week in your inbox — no noise, no spam.

Originally reported by Dev.to