drumih/turbo-fieldfare

Инференс Gemma 4 26B-A4B в ~2 ГБ ОЗУ на любом MacBook с чипом серии M

Инференс⭐ 6 789Swiftпоследний релиз: 0.8.1
Открыть на GitHub ↗

Что это за инструмент

TurboFieldfare — это кастомный рантайм на Swift + Metal для запуска модели Gemma 4 26B-A4B на Apple Silicon с потреблением всего ~2 ГБ ОЗУ за счет потоковой загрузки экспертов с SSD.

Зачем нужен

Инструмент решает проблему запуска больших языковых моделей (LLM) на устройствах с ограниченной памятью (например, MacBook с 8 ГБ RAM), не загружая всю модель в оперативную память. Он полезен для локального инференса на Mac без необходимости в мощных GPU или большом объеме VRAM, обеспечивая работу через динамическую подгрузку весов.

Что можно реализовать

  • Запуск 26B LLM на MacBook Air M2 с 8 ГБ ОЗУ
  • Локальная генерация текста через нативное Mac-приложение или CLI
  • Использование модели в качестве локального сервера с API, совместимым с OpenAI
  • Эксперименты с оптимизацией инференса и кэшированием на Apple Silicon

Ключевые возможности

  • Потребление ~2 ГБ ОЗУ при запуске модели на 26B параметров
  • Потоковая загрузка экспертов с SSD вместо полной загрузки весов в память
  • Нативная реализация на Swift и Metal (не обертка над MLX или llama.cpp)
  • Поддержка macOS 26+, Metal 4 и Swift 6.2
  • Наличие CLI, Mac-приложения и OpenAI-совместимого сервера

👤 Кому подойдёт: разработчики, исследователи, энтузиасты локальных LLM, использующие Apple Silicon Mac

Релизы

0.8.1minor
🕐 2 дн назад · релиз на GitHub ↗

В Mac-приложении Turbo Fieldfare v0.8.1 добавлена настройка размера шрифта для диалогов и редактора.

  • Added: Добавлена настройка размера текста (от 100% до 200%) в параметрах приложения.
  • Added: Размер шрифта применяется к существующим перепискам с сохранением позиции чтения и выделения.
  • Added: Обеспечена удобная работа с редактором и настройками моделей в компактных окнах.
  • При запуске теперь открывается пустой чат, сохранённые беседы доступны в боковой панели.
0.8.0minor
🕐 13 дн назад · релиз на GitHub ↗

Версия 0.8.0: локальное сохранение истории чатов, поиск, переименование, удаление и восстановление с изображениями и LaTeX.

  • Added: Локальное сохранение истории переписки с возможностью поиска, переименования, удаления и повторного открытия чатов из боковой панели.
  • Added: Возможность продолжения сохраненных диалогов с использованием записанных токенов и восстановления контекста.
  • Added: Добавлен бенчмарк для сообщества M4, привязанный к конкретному коммиту.
  • Fixed: Исправлена подготовка изображений в чатах для использования общего Metal device factory.
  • Fixed: Улучшена синхронизация: сохранение завершенных обменов на диск перед воспроизведением и корректное сохранение LaTeX.
0.7.2minorbreaking
🕐 17 дн назад · релиз на GitHub ↗

Ужесточена валидация запросов: сервер теперь отвергает неизвестные параметры вместо игнорирования.

  • Breaking: Сервер возвращает ошибку 400 при наличии неизвестных полей запроса, предотвращая скрытые опечатки.
  • Fixed: Параметр --prefill-chunk-tokens auto теперь поддерживается как в CLI, так и на сервере.
  • Fixed: Запрещены форматы ответа, отличные от {"type": "text"}, чтобы избежать генерации текста в структурированных запросах.
  • Added: Добавлены бенчмарки M5 Pro 24 GB и обновлён список поддерживаемых значений параметров.
  • Deprecated: Эксперимент --experts-per-token отозван после измерений, путь декодирования не изменён.
0.7.1patch
🕐 24 дн назад · релиз на GitHub ↗

Исправлена совместимость с Swift 6.2, улучшена обработка ошибок загрузки изображений и стабильность сервера.

  • Fixed: Воссоздана сборка релизов для Swift 6.2 в Xcode 26.0–26.3.
  • Fixed: Возврат ошибки 400 вместо 500 при обрезанных загрузках изображений.
  • Fixed: Исправлена привязка ID изображений к планам и освобождение ресурсов ImageIO.
  • Added: Добавлен гейт для сборки релизов Xcode 26.3 в CI.
0.7.0minor
🕐 24 дн назад · релиз на GitHub ↗

В macOS-приложении добавлена поддержка многооборотных диалогов с кэшированием KV-памяти и управлением контекстом.

  • Added: Приложение сохраняет состояние диалога в памяти и переиспользует KV-кэш между ходами, избегая полной пересборки промпта.
  • Added: Появилась возможность копировать один ответ, последний ответ или весь диалог целиком.
  • Added: Добавлен мониторинг текущего использования контекста и доступной ёмкости для изображений.
  • Added: Введена защита: система блокируется при неопределённости восстановления KV-кэша или учёта токенов.
  • Deprecated: Режим одного промпта можно восстановить через переменную окружения TURBO_FIELDFARE_APP_CONVERSATION=0.
0.6.0major
🕐 26 дн назад · релиз на GitHub ↗

В Turbo Fieldfare 0.6.0 добавлен нативный рендеринг ответов: таблицы, код, LaTeX и HTML теперь отображаются как отформатированные документы, а не как сырой текст.

  • Added: Ответы теперь рендерятся как документы с поддержкой таблиц, кода, LaTeX и HTML, а не как сырой Markdown.
  • Added: Улучшен рендеринг таблиц: добавлена выравнивание по столбцам, взвешенные заголовки и корректное отображение пустых ячеек.
  • Added: Математические формулы (LaTeX) теперь корректно отображаются, а невидимые символы предотвращаются проверкой движка KaTeX.
  • Added: Копирование текста сохраняет исходный LaTeX-код, а не растровые изображения, что значительно уменьшает размер буфера обмена.
  • Added: Добавлены переменные окружения TURBO_FIELDFARE_DISABLE_MATH=1 и TURBO_FIELDFARE_PROGRESSIVE_RENDER=0 для возврата к старому поведению.
0.4.6patch
🕐 1 мес назад · релиз на GitHub ↗

В версии 0.4.6 добавлено явное сопоставление свойств для узлов схемы инструментов адаптируемых объектов.

  • Added: Каждому адаптируемому объекту, использующему узел схемы инструмента, теперь явно назначается маппинг свойств.
0.4.5patch
🕐 1 мес назад · релиз на GitHub ↗

Выпущена версия 0.4.5 с добавлением отчёта о бенчмарках для MacBook Pro M2 Pro.

  • Added: Добавлен отчёт о бенчмарках для MacBook Pro M2 Pro.
  • Added: Версия приложения обновлена до 0.4.5.
0.4.4minor
🕐 1 мес назад · релиз на GitHub ↗

Версия 0.4.4: улучшена проверка версий, добавлены бенчмарки M2 Mac mini и исправлена работа сервиса декодирования.

  • Added: Добавлен отчет о бенчмарках для M2 Mac mini.
  • Fixed: Исправлена инициализация сервиса декодирования после запуска через launchd.
  • Fixed: Улучшена проверка версии приложения: теперь допускается отставание на один релиз.
  • Fixed: Добавлена обработка случаев, когда директории исчезают во время сканирования.
0.4.3minor
🕐 1 мес назад · релиз на GitHub ↗

В релизе 0.4.3 добавлена панель «О программе», функция поиска в Finder, флаги запуска сервера и обновлена библиотека SwiftNIO.

  • Added: Добавлена панель «О программе» (About panel).
  • Added: Реализована функция обнаружения файла в Finder (Finder reveal).
  • Added: Появились флаги запуска для серверного времени выполнения (server runtime flags).
  • Added: Обновлена зависимость SwiftNIO до версии 2.101.3.
0.4.1minor
🕐 1 мес назад · релиз на GitHub ↗

Выпуск 0.4.1: новые CLI-параметры, защита от сбоев Metal, формат .gturbo v1 и улучшения диагностики.

  • Added: Добавлены управляемые параметры CLI для кэша эксперта, префилла и RDADVISE с сохранением дефолтов.
  • Fixed: Сбои Metal теперь корректно прерывают выполнение, предотвращая работу с невалидным состоянием.
  • Added: Внедрён формат .gturbo v1 с валидацией метаданных и защитой от небезопасных структур файлов.
  • Added: Добавлена диагностика структурированного вывода для некорректных генераций без логирования контента.
  • Added: В Mac-приложении добавлена метрика пропускной способности префилла и улучшена валидация имён инструментов.