> · · 6 мин

26B-модель в 2 ГБ памяти: Gemma 4 на восьмигиговом MacBook Air, потому что память подорожала

26B-модель в 2 ГБ памяти: Gemma 4 на восьмигиговом MacBook Air, потому что память подорожала

«Память подорожала. Поэтому я дал модели на 26 миллиардов параметров бюджет в 2 гигабайта». С этой фразы начинается README проекта TurboFieldfare, который сегодня висит на главной Hacker News. Автор — Андрей Михайлов, iOS- и Metal-инженер — написал свой рантайм на Swift и Metal, чтобы Gemma 4 26B работала на восьмигиговом MacBook Air.

TL;DR: TurboFieldfare держит в памяти общее ядро модели на 1,35 ГБ и FP16 KV-кеш, а экспертов под каждый токен стримит с SSD. В итоге Gemma 4 26B-A4B укладывается примерно в 2 ГБ оперативной памяти вместо 14,3 ГБ. Замеры автора: 5,1–6,3 токена в секунду на 8 ГБ M2 MacBook Air и 31–35 на 24 ГБ M5 Pro. Apache-2.0, требуется macOS 26 и Metal 4.

Что делает TurboFieldfare

Проект запускает инструкционную версию Gemma 4 26B-A4B, не загружая всю модель в память. 26 миллиардов параметров всего, около 3,88 миллиарда активных на токен — это MoE-архитектура, и именно она делает трюк возможным.

Идея простая по формулировке и мучительная в реализации. В памяти постоянно живёт только общее ядро на 1,35 ГБ плюс KV-кеш в FP16. Эксперты, которые нужны конкретному токену, подтягиваются с SSD по мере надобности и лежат в ограниченном по размеру кеше. Полная модель на диске занимает 14,3 ГБ, в памяти — около двух.

Это не обёртка над MLX или llama.cpp. Рантайм, Metal-ядра, CLI, установщик и нативное Mac-приложение написаны с нуля на Swift и Metal, и всё заточено под одну конкретную модель. Автор выложил журнал экспериментов со 103 измеренными результатами по ядрам, кешированию, вводу-выводу, префиллу и декодингу — включая идеи, которые звучали разумно и не сработали.

Насколько это быстро на самом деле

Честные цифры из бенчмарков автора: 5,1–6,3 токена в секунду на 8 ГБ M2 MacBook Air и 31–35 токенов в секунду на 24 ГБ M5 Pro.

Шесть токенов в секунду — это медленно. Примерно скорость чтения вслух не торопясь. Для чата в терминале терпимо, для агента, который гоняет десять инструментальных вызовов подряд, — нет.

Но сравнивать надо не с облачным API, а с альтернативой на том же железе. На восьмигиговом Air альтернатива — не запускать 26B вообще. Автор честно оговаривает, что измерение это опорная точка, а не потолок: на пропускную способность влияют длина промпта, длина генерации, состояние page cache и само железо. Есть гайд для контрибуции своих замеров, и на редких конфигурациях цифр пока нет.

Как устроена установка

Установщик заслуживает отдельного абзаца, потому что решает проблему, о которую спотыкаются все локальные раннеры: он никогда не материализует полный исходный чекпоинт.

Вместо этого он тянет нужные диапазоны байт с закреплённой ревизии Hugging Face и на лету перепаковывает их прямо в формат .gturbo. Никакой второй копии чекпоинта на диске, ограниченная память под временные данные. Первая установка прокачивает около 15 ГБ, итоговая установка занимает 14,3 ГБ и принимается только после проверки манифеста и хешей файлов. Загрузка модели в память при установке не происходит.

Поставить и запустить из командной строки:

swift run -c release TurboFieldfareRepack \
  --output scratch/gemma4.gturbo \
  --overwrite

swift run -c release TurboFieldfareCLI \
  --model scratch/gemma4.gturbo \
  --messages-file messages.json

Пакет отдаёт шесть продуктов: библиотеку с рантаймом и Metal-ядрами, нативное Mac-приложение, CLI для чата и сырых дополнений, экспериментальный OpenAI-совместимый сервер на loopback и установщик-репакер. Модельную директорию .gturbo они делят, но запускать одновременно можно только один процесс, владеющий моделью.

Дефолты генерации: температура 0.2, Top-K 64, Top-P 0.95. Для детерминированного жадного вывода ставьте температуру в 0.

Подводные камни

macOS 26 и Metal 4 обязательны, откатов нет. Пакет только под arm64, нужны Xcode 26 и Swift 6.2 или новее. Старые версии macOS и Metal не поддерживаются в принципе, так что на MacBook, который вы не обновляли, это не поедет.

Стриминг экспертов с SSD означает постоянные чтения. Каждый токен тянет свой набор экспертов с диска. На производительность это влияет предсказуемо, на ресурс SSD при долгих сессиях — вопрос, который в документации не рассматривается вообще.

Только текст и только одна модель. Ни картинок, ни аудио. Приложение и CLI не дают модели инструментов; loopback-сервер принимает объявления function-tool и возвращает вызовы инструментов, но выполнять и авторизовывать их должен клиент. И запускается ровно Gemma 4 26B-A4B с закреплённого чекпоинта, подставить свою модель нельзя — рантайм модель-специфичный.

Запуск требует ручной подготовки. Документация советует перед прогоном закрыть тяжёлые приложения и проверить memory_pressure -Q, а если свободной памяти мало — отложить запуск. Одновременно должен работать только один процесс с моделью: приложение, CLI, сервис декодинга, сервер или тесты. Для восьмигиговой машины это не придирка, а условие работы.

Проект новый и маленький. Репозиторий создан 17 июля, двенадцать коммитов, один автор. Валидированная цель — 8 ГБ M2 MacBook Air, всё остальное железо в статусе «померьте и пришлите». Модель может зациклиться или ответить неверно, автор об этом предупреждает прямым текстом.

Альтернативы

Ollama и llama.cpp — универсальны, поддерживают сотни моделей и работают на любой платформе. Но 26B на восьмигиговой машине они не запустят: там нет стриминга экспертов с диска, модель должна поместиться в память.

MLX от Apple — родной фреймворк под Apple Silicon с хорошей производительностью и большим выбором моделей. Требует, чтобы веса влезли в unified memory, то есть на 8 ГБ вы остаётесь в классе моделей до 7–8B.

Модель поменьше — Gemma 4 в младших размерах или Qwen на 4–8B пойдут на том же Air быстрее и без танцев с версиями macOS. Вопрос в том, устраивает ли вас качество 8B там, где вы хотели 26B.

Вердикт

Ставьте, если у вас Apple Silicon с 8–16 ГБ памяти, macOS 26 и желание гонять модель локально без облака: это единственный известный способ запустить 26B на такой машине, и шесть токенов в секунду лучше, чем ноль. Не ставьте, если нужен агент с инструментами и быстрым циклом — на этой скорости он не работает, берите API. И отдельно стоит прочитать журнал экспериментов, даже если запускать не собираетесь: 103 измеренных результата с описанием того, что не сработало и какие ранние выводы развалились под нормальной проверкой, — редкий жанр в мире локального инференса, где обычно публикуют только победы.

Как попробовать

  1. Проверьте требования: Apple Silicon, macOS 26 с Metal 4, Xcode 26, Swift 6.2+, около 15 ГБ свободного места. Без macOS 26 дальше можно не читать.
  2. Склонируйте drumih/turbo-fieldfare и поставьте модель через TurboFieldfareRepack либо через Mac-приложение, если хотите графический установщик.
  3. Перед первым прогоном закройте браузер и всё тяжёлое, проверьте memory_pressure -Q. На восьмигиговой машине это влияет на результат больше, чем настройки сэмплирования.
  4. Замерьте свою скорость по гайду сообщества и пришлите результат: по 16 ГБ M4 Mac mini и другим 8-гиговым конфигурациям цифр пока нет.
  5. Если хотите подключить модель к своему коду, поднимайте loopback-сервер с OpenAI-совместимым Chat Completions и просто перенаправьте туда base URL.
$ ls ./related/

Похожие статьи

codex-cli-147-skills-import.md
Codex CLI 0.147 забирает скиллы прямо из Cursor и умеет сам себе одобрять команды. В том же релизе ужесточают песочницу
> · 7 мин

Codex CLI 0.147 забирает скиллы прямо из Cursor и умеет сам себе одобрять команды. В том же релизе ужесточают песочницу

Codex CLI 0.147.0 импортирует скиллы, которыми управляет Cursor, синхронизирует диалоги Claude и Cursor без дублей и добавляет флаг --approve-for-me с автоматически проверяемыми одобрениями. Плюс поддержка финальной спеки MCP 2026-07-28 и десяток правок песочницы. Команды export наружу по-прежнему нет.

ai cursor agents codex
openai-astra-critical-cyber.md
OpenAI не может исключить, что её будущая модель находит 0-day сама. Часть работ по Astra остановлена
> · 7 мин

OpenAI не может исключить, что её будущая модель находит 0-day сама. Часть работ по Astra остановлена

OpenAI объявила, что предварительные замеры Astra не позволяют исключить уровень Critical по кибербезопасности в её собственном Preparedness Framework. Это первый такой случай: все прежние модели, включая GPT-5.6 Sol, проходили уровнем ниже. Активности, не дотягивающие до усиленных требований, приостановлены, а мониторы теперь читают цепочку размышлений.

ai llm openai security
databricks-ai-coding-costs.md
Databricks выложила свою математику расходов на кодинг-агентов: минус 50% токенов от тюнинга харнесса, а Opus 5 вышел дороже Opus 4.8
> · 8 мин

Databricks выложила свою математику расходов на кодинг-агентов: минус 50% токенов от тюнинга харнесса, а Opus 5 вышел дороже Opus 4.8

Соучредитель Databricks с коллегами описал четыре рычага снижения расходов на агентный кодинг: тюнинг харнесса и кеша дал почти минус 50% токенов, роутер между моделями минус 30% средней цены задачи. Самое неприятное в статье: Stripe отказалась выдавать разработчикам Opus 4.7, а Databricks увидела рост стоимости при переходе с Opus 4.8 на Opus 5.

ai agents llm developer-tools
subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe