Об этом проекте

# 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} } ```