AIKraft Agents

drumih/turbo-fieldfare

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

Инференс⭐ 7 275Swiftпоследний релиз: 0.9.4
Открыть на 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.9.4minor
🕐 10 дн назад · релиз на GitHub ↗

Исправлена работа с системными сообщениями, добавлены иконки копирования кода и логи промахов кэша.

  • Fixed: Исправлена ошибка OpenCode: теперь принимаются последовательные системные сообщения в исходном порядке.
  • Added: Добавлены иконки копирования в блоках кода с обратной связью; исправлено отображение границ блоков.
  • Added: Введены коды причин промахов кэша и отклонения публикации без логирования содержимого запросов.
0.9.3patch
🕐 21 дн назад · релиз на GitHub ↗

Исправлено критическое падение приложения на macOS из-за ошибки гонки при закрытии соединения сервиса декодирования.

  • Fixed: Устранена ошибка гонки, приводившая к краху приложения при закрытии соединения с сервисом декодирования во время запроса.
  • Fixed: Команды теперь сохраняют собственные дескрипторы, что предотвращает использование устаревших соединений.
  • Fixed: Исправлен тест жизненного цикла соединения, ранее выявлявший данную проблему.
  • Известное ограничение: если вспомогательный процесс завершается в простое, модель может оставаться в статусе загруженной; требуется ручная перезагрузка.
0.9.2minor
🕐 22 дн назад · релиз на GitHub ↗

Версия 0.9.2: сборка Mac-приложения, сохранение настроек и исправление визуальных багов интерфейса.

  • Added: Добавлен скрипт build_app.sh для создания двойного кликабельного Mac-приложения без необходимости аккаунта разработчика.
  • Added: Настройки и чаты теперь хранятся в Application Support с автоматическим импортом устаревшей истории.
  • Added: Пользователь может выбирать путь загрузки модели или указывать существующую модель и соответствующий ей пакет изображений.
  • Fixed: Исправлено мерцание стартового экрана при переключении чатов и растягивание инспектора при изменении RDADVISE.
0.9.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена сборка Swift 6.4 за счёт отказа от макросов SwiftUI и использования PreviewProvider.

  • Fixed: Устранена ошибка сборки в Swift 6.4, связанная с недоступностью плагина макросов SwiftUI.
  • Fixed: Заменены макросы предварительного просмотра на протокол PreviewProvider.
  • Added: Добавлены тесты жизненного цикла состояния и сборки CI с отключённым поиском плагинов SwiftUI.
0.9.0major
🕐 1 мес назад · релиз на GitHub ↗

Turbo Fieldfare 0.9.0: поддержка контекста до 256K, ускоренное декодирование Gemma 4 и раздельные тайминги.

  • Added: Добавлена поддержка контекста до 256K с проверкой памяти и миграцией настроек.
  • Added: Внедрено групповое полное внимание (grouped full attention) для Gemma 4.
  • Added: В логи сервера выведены раздельные тайминги этапов prefill и decode.
  • Fixed: Ограничено Mac-приложение: максимум 32 вложения изображений на сообщение.
0.8.1minor
🕐 1 мес назад · релиз на GitHub ↗

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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