cactus-compute/cactus

Движок ИИ с низкой задержкой для мобильных устройств и носимых устройств

Инференс⭐ 6 042C++последний релиз: v2.2.0
Открыть на GitHub ↗Сайт проекта ↗

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

Cactus — гибридный движок для запуска ИИ-моделей (текст, речь, зрение) непосредственно на мобильных устройствах и носимой электронике.

Зачем нужен

Инструмент решает проблему высокой задержки и потребления памяти при локальном инференсе на ARM-устройствах, обеспечивая скорость, сопоставимую с облачными решениями, при минимальном использовании RAM. Он полезен разработчикам, которым нужно внедрить ИИ в приложения для iOS, Android или Raspberry Pi без потери производительности.

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

  • Локальный чат-бот с поддержкой инструментов (tool calling) и RAG на смартфоне
  • Распознавание речи (transcription) и обработка изображений (VLM) на устройстве
  • Гибридные сценарии: локальная обработка с автоматическим переключением на облако при низкой уверенности модели
  • Встраивание кастомных PyTorch-моделей в приложения для мобильных платформ

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

  • Zero-copy memory mapping для использования в 10 раз меньше RAM по сравнению с аналогами
  • Квантование Cactus Quants (4-bit), сохраняющее точность уровня FP16
  • Мультиформатность: единый движок для LLM, VLM и моделей распознавания речи
  • Оптимизированные ARM SIMD-ядра (NEON) для Apple, Samsung, Pixel и других платформ
  • OpenAI-compatible API для интеграции с существующими фреймворками

👤 Кому подойдёт: Мобильные разработчики (iOS/Android), инженеры по машинному обучению, внедряющие модели на edge-устройствах, разработчики встраиваемых систем (Raspberry Pi, wearables)

Релизы

v2.2.0minor
🕐 13 дн назад · релиз на GitHub ↗

В Cactus v2.2.0 появился собственный транспайлер, исправлены утечки и нормализация в Parakeet, оптимизирована работа с mmap.

  • Added: Добавлен пользовательский транспайлер для гибкой кастомизации.
  • Fixed: Исправлена утечка данных в padded-кадрах и нормализация признаков в энкодере Parakeet.
  • Fixed: Устранено дублирование общих файлов весов mmap в графах компонентов.
v2.1.0minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз Cactus 2.1.0: добавлена поддержка инструментов, оптимизация ядер внимания, новый транспайлер и исправления сборки.

  • Added: Добавлена поддержка вызова инструментов (tool calling) в среде выполнения.
  • Added: Внедрен пользовательский транспайлер и поддержка wider CQ.
  • Added: Оптимизированы ядра внимания (attention) и GEMV.
  • Added: Добавлена поддержка Needle и группировка аудиоэнкодера Parakeet.
  • Fixed: Исправлена ошибка сборки libstdc++/Pi и корректность перематричного CQ4 в Metal.
v2.0.1patchbreaking
🕐 2 мес назад · релиз на GitHub ↗

Выпуск v2.0.1: устранение проблем с установкой через Homebrew и удаление поддержки CoreML.

  • Fixed: Исправлены ошибки в работе Homebrew (pull #755, #758).
  • Breaking: Удалена поддержка CoreML (pull #754).
v1.14minor
🕐 5 мес назад · релиз на GitHub ↗

Релиз v1.14: поддержка живого микрофона, масштабные улучшения и оптимизации для модели Gemma4.

  • Added: В сборку для чата добавлена поддержка записи звука с микрофона в реальном времени через SDL2.
  • Added: Для модели gemma4 по умолчанию отключен режим «мышления» и введена одновременная работа с несколькими модальностями.
  • Fixed: Исправлены ошибки конвертации gemma4, CLI, вызова инструментов и коррекция RoPE.
  • Fixed: Оптимизирована память для работы с изображениями в gemma4 и увеличен размер скользящего окна.
  • Added: Улучшены промпты для совместной обработки зрения и аудио, добавлена поддержка уверенности ответов для VLM.