Запускаю Gemma 4 локально в LM Studio: 51 токен/с и Claude Code без интернета

Запускаю Gemma 4 локально в LM Studio: 51 токен/с и Claude Code без интернета

Ещё вчера для запуска 26-миллиардной нейросети требовался дата-центр. Сегодня достаточно ноутбука и одной консольной команды.

Представляем Google Gemma 4 26B-A4B — модель, которая ломает старые правила. Архитектура mixture-of-experts (128 экспертов, 8 активных на токен) позволяет ей работать на скромных 48 ГБ объединённой памяти, выдавая качество, сопоставимое с гигантами вроде Qwen 3.5 на 397 млрд параметров.

LM Studio 0.4.0 сделала запуск таких моделей по-настоящему удобным. Фоновый демон llmster, консольная утилита lms, непрерывный батчинг и — главное — эндпоинт, совместимый с Anthropic. Это значит, что вы можете направить Claude Code на свою локальную Gemma 4.

Хотите узнать, как заставить эту связку работать на максимуме? Как рассчитать память под контекст в 256K токенов и почему спекулятивное декодирование — плохая идея для MoE? А главное — сколько это всё потребляет энергии и греет ли ваш Mac?

Зачем запускать модели локально?

Gemma 4 особенно интересна для домашнего использования благодаря архитектуре mixture-of-experts (MoE). Хотя в модели 26 млрд параметров, при каждом проходе активируются лишь 4 млрд. Это позволяет ей работать на оборудовании, которому не по силам полноценная 26-миллиардная модель.

На MacBook Pro с чипом M4 Pro и 48 ГБ объединённой памяти она выдаёт около 51 токена в секунду. Правда, в связке с Claude Code скорость заметно падает.

Семейство моделей Gemma 4

Google выпустила Gemma 4 не как одну модель, а как семейство из четырёх вариантов, охватывающих разные классы устройств:

  • E2B, E4B — используют послойные эмбеддинги для эффективного запуска на гаджетах; поддерживают аудио.
  • 31B — самая мощная, плотная модель: 85,2% в MMLU Pro и 89,2% на AIME 2026.

Почему выбрана 26B-A4B? Благодаря MoE-архитектуре при обработке каждого токена активируются лишь 8 из 128 экспертов. Это эквивалентно 3,8 млрд параметров. Качество такой модели приближается к плотной модели с 10 млрд параметров, но при этом она потребляет ресурсы, как 4-миллиардная.

В бенчмарках Gemma 4 26B-A4B показывает 82,6% на MMLU Pro и 88,3% на AIME 2026 — почти на уровне 31B, но работает в разы быстрее. На графике рейтинга Эло она уверенно держится в левом верхнем углу — зоне высокой производительности и малого «отпечатка».

Для сравнения: Qwen 3.5 397B-A17B или GLM-5 требуют сотни миллиардов параметров для сопоставимых результатов. Kimi-K2.5 переваливает за триллион. Gemma 4 26B-A4B достигает схожего уровня Эло при минимальных требованиях к памяти и высокой скорости генерации.

Это делает MoE-модели революционными для персонального использования. Больше не нужны серверные кластеры — достаточно ноутбука с 48 ГБ памяти.

Для Mac с 48 ГБ это золотая середина. Плотная 31B съедает больше ресурсов и работает медленнее. E4B легче, но слабее. 26B-A4B даёт всё: контекст до 256K, поддержку зрения, нативную работу с инструментами и настраиваемые режимы рассуждений — на скорости 51 токен/с.

Что нового в LM Studio 0.4.0

LM Studio 0.4.0 кардинально изменила архитектуру: движок инференса выделен в отдельный сервер llmster. Теперь приложение можно использовать без графического интерфейса — через консоль или API.

Ключевые новшества:

  • Демон llmster — фоновая служба для загрузки моделей и инференса.
  • Консоль lms — интерфейс для скачивания, запуска и общения с моделями.
  • Параллельная обработка — непрерывный батчинг позволяет нескольким процессам обращаться к модели одновременно.
  • Stateful REST API — эндпоинт /v1/chat хранит историю переписки.
  • Интеграция с MCP — поддержка Model Context Protocol с управлением доступом по ключам.

Загрузка Gemma 4

После запуска демона можно загрузить модель:

Утилита покажет доступные варианты (по умолчанию — квантованная версия Q4_K_M, 17,99 ГБ) и запросит подтверждение. Если модель уже есть, система предложит команду для запуска.

Инвентаризация: что в арсенале?

Список всех моделей:

Многие из них (Gemma 4, Qwen 3.5, GLM 4.7 Flash) — MoE-архитектуры. Это преимущество для локального запуска: при генерации активируется лишь часть параметров, что повышает эффективность.

Интерактивный чат

Запуск чата с отображением статистики:

После каждого ответа выводятся метрики: 51 токен/с — достойный результат для 26B-модели на M4 Pro. Время до первого токена — 1,5 секунды — обеспечивает комфортный диалог.

Ревизия памяти и активных моделей

Проверка текущего состояния:

Модель занимает 17,99 ГБ ОЗУ, использует окно контекста 48K и поддерживает два параллельных запроса. Параметр TTL (time-to-live) автоматически выгружает модель через час бездействия, освобождая память.

Метаданные модели в JSON:

  • Архитектура: gemma4, квантование Q4_K_M.
  • Возможности: vision: true, trainedForToolUse: true.
  • Контекст: максимум 262 144 токена (256K), текущий — 48 000.
  • Параллелизм: parallel: 2 — поддержка двух одновременных запросов.

Расчёт памяти: сколько весит контекст?

Перед загрузкой стоит оценить потребление памяти. Флаг --estimate-only позволяет это сделать:

Сама модель занимает около 17,6 ГиБ. Каждое удвоение контекста добавляет 3–4 ГиБ. При 48K — нужно около 21 ГиБ. На Mac с 48 ГБ можно использовать полный контекст 256K (37,48 ГиБ), оставляя 10 ГБ для системы.

Даже на 36 ГБ ОЗУ можно комфортно работать с контекстом 200K. Это полезно при планировании ресурсов, особенно при одновременной работе с тяжёлыми приложениями.

Настройка загрузки под ваше железо

Длина контекста: соотносим с объемом памяти

Вычтите из общей памяти накладные расходы системы (4–6 ГБ на macOS) — и вы поймёте, какой контекст вам доступен.

Загрузка с заданным контекстом:

Всегда проверяйте потребление с --estimate-only — особенно при использовании flash attention или визуальных функций.

Распределение нагрузки (GPU offloading)

На Apple Silicon CPU и GPU используют общую память. Флаг --gpu определяет долю вычислений на GPU. Режим auto обычно работает хорошо, но можно использовать --gpu=max для максимальной загрузки графики.

На системах с дискретными GPU (NVIDIA) важно учитывать VRAM. Если модель не влезает в видеопамять, частичный перенос (--gpu=0.5) распределит слои между GPU и CPU — медленнее, но зато запустится.

Параллельные запросы и непрерывный батчинг

LM Studio поддерживает параллельную обработку через непрерывный батчинг. Это важно при работе с несколькими клиентами или параллельными вызовами инструментов. Функция работает на движке llama.cpp (v2.0.0+) и пока недоступна для MLX.

Настройка — через графический интерфейс: в Advanced settings найти Max concurrent predictions (по умолчанию 4). В консоли прямого флага пока нет.

Каждый поток требует дополнительной памяти. При нехватке ОЗУ лучше уменьшить число потоков или контекст. Для Gemma 4 на 48 ГБ оптимально — 2 потока при 48K.

TTL: автовыгрузка простаивающих моделей

Параметр TTL автоматически выгружает модель при бездействии:

По умолчанию — 1 час. Для сервера с несколькими моделями короткий TTL (например, 30 минут) помогает эффективно управлять памятью. Чтобы модель оставалась в памяти всегда, установите 0 или -1.

Предустановки для моделей

Чтобы не вводить параметры каждый раз, сохраните их в приложении. В разделе My models нажмите на шестерёнку и задайте настройки GPU, контекста и flash attention. Эти значения будут применяться даже при запуске через lms load.

Спекулятивное декодирование

Эта функция ускоряет генерацию для плотных моделей: малая модель предлагает токены, большая — проверяет. Но для MoE-моделей вроде Gemma 4 26B-A4B это не работает.

При проверке основной модели приходится загружать разных экспертов для разных токенов. Это создаёт огромную нагрузку на память и приводит к тормозам. Тесты на Mixtral показали: +39% к скорости в коде, но -54% в математике. Универсального выигрыша нет.

Исследователи работают над решениями (MoE-Spec, SP-MoE), но пока для Gemma 4 спекулятивное декодирование лучше отключить и полагаться на родную скорость MoE.

Flash attention

Технология оптимизирует KV cache, позволяя использовать больший контекст при той же памяти. Включается в настройках LM Studio для каждой модели. На Apple Silicon это помогает сэкономить гигабайты при длинных контекстах. Флаг --estimate-only учитывает включение flash attention — можно сравнивать цифры до и после.

Десктопное приложение LM Studio

Графический интерфейс полезен для мониторинга и быстрых экспериментов. На скриншотах видно:

  • Статус сервера: «Running», эндпоинт доступен по http://192.168.1.121:1234.
  • Загруженные модели: активная модель, статистика — 29 генераций, 1087 токенов, 17,99 ГБ в памяти.
  • Поддерживаемые эндпойнты: LM Studio, OpenAI, Anthropic (POST /v1/messages).
  • Логи разработчика: реальное время обработки промптов — удобно при анализе длинного кода.

Визуальные возможности Gemma 4 раскрываются в десктопной версии. Модель корректно анализирует скриншоты: заголовки, карты, сетки расписаний, иконки. Пример: 504 токена со скоростью 54,51 ток/с, первый токен — через 3,15 секунды.

Системный монитор показывает нагрузку на M4 Pro:

  • Память: 46,69 ГБ из 48 ГБ занято, 38,07 ГБ — wired, swap — 27,49 ГБ.
  • GPU: 90% загрузки, частота — 1,45 ГГц.
  • CPU: E-ядра — 82,42%, P-ядра — 35,96%.
  • Температура: 91 °C (CPU), 92,46 °C (GPU) — штатный режим для M4 Pro.
  • Энергопотребление: 23,56 Вт (CPU 11,06 Вт + GPU 13,32 Вт) — скромно для 26B-модели.

Главное преимущество Apple Silicon — объединённая память. Модель загружается один раз и доступна всем ядрам без копирования между ОЗУ и VRAM.

Раздача моделей через API

После загрузки модель можно раздавать через API:

Эндпоинт http://localhost:1234/v1 совместим с OpenAI. Инструменты вроде Continue или Cursor будут работать с локальной моделью. Поддержка Anthropic (POST /v1/messages) позволяет использовать софт под «Клода» без прослоек.

Порт можно сменить: lms server start --port 8080.

Поддерживается JIT-загрузка: модель подгружается при первом запросе и выгружается по истечении TTL. Можно использовать множество моделей, не держа все в памяти.

Логи в реальном времени:

Выводит запросы, ответы, скорость, задержки. Для анализа — --json. Для системных событий — --source server.

С фоновым демоном можно выделить отдельную машину и раздавать модели по сети. Для безопасности включите Require authentication и используйте API-токены. Доступ — через Authorization: Bearer $LM_API_TOKEN.

Gemma 4 на службе Claude Code: настраиваем бэкенд

Совместимость с Anthropic позволяет запускать Claude Code локально — без интернета и бесплатно.

В файл ~/.zshrc добавляется функция claude-lm(), которая перенаправляет Claude Code на локальный сервер:

  • ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN — указывают на http://localhost:1234 и используют заглушку lmstudio.
  • ANTHROPIC_MODEL, DEFAULT_*_MODEL — заставляют использовать Gemma 4 вместо Opus/Sonnet/Haiku.
  • CLAUDE_CODE_SUBAGENT_MODEL — дочерние агенты тоже работают через локальную модель.
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW, CLAUDE_AUTOCOMPACT_PCT_OVERRIDE — сжатие контекста на 90% при окне 48K.
  • API_TIMEOUT_MS — увеличен до 8 часов из-за медленного локального инференса.
  • BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS — до 42 минут на выполнение команд.
  • CLAUDE_CODE_MAX_OUTPUT_TOKENS — ограничение в 8000 токенов.
  • CLAUDE_CODE_DISABLE_1M_CONTEXT, CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING — отключение неподдерживаемых функций.

После source ~/.zshrc сессия запускается командой claude-lm. Всё работает как в облаке, но данные не покидают устройство. 51 ток/с — медленнее облачных API, но достаточно для код-ревью, правок и анализа проектов.

Что я вынес из этого опыта

  • MoE — идеальна для локального запуска. Gemma 4 26B-A4B (26 млрд, 4 млрд активных) даёт качество 10B-модели при потреблении как у 4B.
  • Консольный демон меняет подход. lms daemon up работает в фоне, открывая путь к серверам и SSH.
  • Контекст — главный рычаг управления памятью. Модель — 17,6 ГиБ, контекст растёт линейно. Можно точно балансировать между объёмом и глубиной.
  • Флаг --estimate-only спасает от OOM. Всегда проверяйте потребление памяти перед загрузкой.
  • Совместимость с Anthropic — прорыв. Простой алиас позволяет переключаться между облаком и локальным сервером. Плюсы: приватность, работа без интернета, экономия на API.

С чем возникли сложности

  • Gemma 4 не узнаёт себя в lms chat. На вопрос «Кто ты?» отвечает: «ИИ-помощник». Решается кастомным системным промптом.
  • Стандартный контекст 48K — слишком мало. При достаточной памяти лучше сразу ставить выше — особенно для анализа документации или репозиториев.
  • Локальный Claude Code — не полная замена облаку. Сложные задачи с глубокими размышлениями упираются в лимиты локальной архитектуры. Связка лучше всего подходит для чётких, локальных задач.
  • Нагрузка на 48 ГБ Mac ощутима. Система использует 46,69 ГБ и 27 ГБ swap. При параллельной работе с тяжёлыми приложениями возможны тормоза. Для комфортной эксплуатации лучше иметь 64 ГБ и выше.
Читать оригинал