Об этом проекте
# Cactus
Cactus — это гибридный edge-cloud движок AI, предназначенный для мобильных устройств и носимой электроники. Он предоставляет полный стек для инференса AI на устройстве, включая квантизацию, ядра, вычислительный граф и runtime-движок.
## Архитектура
Проект разделён на четыре основных слоя:
- **Cactus Engine**: предоставляет OpenAI-совместимые API для задач текста, речи и зрения, включая chat completion, стриминг, вызов инструментов, транскрипцию, эмбеддинги, RAG и передачу в облако.
- **Cactus Graph**: вычислительный граф с нулевым копированием для тензорных операций, таких как умножение матриц, внимание, нормализация и функции активации.
- **Cactus Kernels**: ядра CPU/GPU, оптимизированные для Apple, Samsung, Pixel и других мобильных платформ, с использованием ARM NEON SIMD.
- **Cactus Quants**: собственная техника квантизации на основе вращения, поддерживающая точность от 4 бит до 1 бита.
## Быстрый старт (Mac)
Установите через Homebrew и запустите:
```bash
brew install cactus-compute/cactus/cactus
cactus run
```
## Ключевые возможности
- **Гибридный Edge-Cloud**: автоматически направляет сложные запросы в облако на основе уверенности локальной модели.
- **Поддержка моделей**: работает с семействами моделей Liquid, Gemma, Whisper, Parakeet и Qwen. Любую модель HuggingFace можно экспериментально конвертировать.
- **Множество привязок**: Swift, Kotlin, Flutter, React Native, Python и Rust.
- **Вызов инструментов на устройстве**: включает модель с 26M параметров под названием "Needle" для вызова инструментов на устройстве.
- **CLI-инструменты**: команды для запуска моделей, транскрипции, обслуживания, конвертации, бенчмаркинга и тестирования.
## Производительность
Бенчмарки показывают высокую производительность на Apple silicon и мобильных устройствах. Например, на Mac M5 Max движок достигает 2964 токенов/сек на prefill и 154 токенов/сек на decode для LLM-бенчмарка с контекстом 1k. На iPhone 17 Pro он достигает 729 токенов/сек на prefill и 37 токенов/сек на decode.
## Качество вывода
Качество квантизации оценивается на нескольких бенчмарках (ARC, HellaSwag, WinoGrande, MMLU, GPQA, GSM8K, HumanEval, BFCL). Квантизация CQ4 сохраняет качество, близкое к исходной модели FP16, на большинстве задач.
## Использование
CLI предоставляет команды для:
- `cactus run`: запуск модели с опциями для битов квантизации, бэкенда, ввода изображений/аудио, инструментов и многого другого.
- `cactus transcribe`: транскрипция с живого микрофона или из файла.
- `cactus download`: загрузка готовых наборов моделей.
- `cactus convert`: конвертация моделей HuggingFace в веса Cactus CQ.
- `cactus serve`: запуск локального HTTP-сервера, совместимого с OpenAI.
- `cactus code`: запуск AI-агента для программирования.
- `cactus benchmark`: запуск наборов бенчмарков.
- `cactus test`: запуск наборов тестов.
## Документация
Подробная документация доступна для каждого компонента:
- Cactus Engine (C API)
- Cactus Graph (C++)
- Cactus Kernels (C++)
- Cactus Quants (C++)
- Cactus Hybrid (C/Python)
- Python Package
## Цитирование
Если вы используете Cactus в исследованиях, пожалуйста, цитируйте:
```bibtex
@software{cactus,
title = {Cactus: AI Inference Engine for Phones & Wearables},
author = {Ndubuaku, Henry and Cactus Team},
url = {https://github.com/cactus-compute/cactus},
year = {2025}
}
```
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.