Sobre o projeto
# Cactus
Cactus é um motor de IA híbrido edge-cloud projetado para dispositivos móveis e wearables. Ele fornece uma pilha completa para inferência de IA no dispositivo, incluindo quantização, kernels, um grafo de computação e um motor de runtime.
## Arquitetura
O projeto está estruturado em quatro camadas principais:
- **Cactus Engine**: Fornece APIs compatíveis com OpenAI para tarefas de texto, fala e visão, incluindo conclusão de chat, streaming, chamada de ferramentas, transcrição, embeddings, RAG e transferência para a nuvem.
- **Cactus Graph**: Um grafo de computação de cópia zero para operações de tensores como multiplicação de matrizes, atenção, normalização e funções de ativação.
- **Cactus Kernels**: Kernels de CPU/GPU otimizados para Apple, Samsung, Pixel e outras plataformas móveis, usando ARM NEON SIMD.
- **Cactus Quants**: Uma técnica de quantização personalizada baseada em rotação com suporte a precisão de 4 bits a 1 bit.
## Início Rápido (Mac)
Instale via Homebrew e execute:
```bash
brew install cactus-compute/cactus/cactus
cactus run
```
## Principais Recursos
- **Híbrido Edge-Cloud**: Roteia automaticamente consultas difíceis para a nuvem com base na confiança do modelo local.
- **Suporte a Modelos**: Funciona com as famílias de modelos Liquid, Gemma, Whisper, Parakeet e Qwen. Qualquer modelo do HuggingFace pode ser convertido experimentalmente.
- **Múltiplas Integrações**: Swift, Kotlin, Flutter, React Native, Python e Rust.
- **Chamada de Ferramentas no Dispositivo**: Inclui um modelo de 26M de parâmetros chamado "Needle" para chamada de ferramentas no dispositivo.
- **Ferramentas CLI**: Comandos para executar modelos, transcrição, servir, conversão, benchmarking e testes.
## Desempenho
Os benchmarks mostram forte desempenho em Apple silicon e dispositivos móveis. Por exemplo, em um Mac M5 Max, o motor alcança 2964 tokens/seg de prefill e 154 tokens/seg de decode para um benchmark de LLM com contexto de 1k. No iPhone 17 Pro, alcança 729 tokens/seg de prefill e 37 tokens/seg de decode.
## Qualidade de Saída
A qualidade da quantização é avaliada em múltiplos benchmarks (ARC, HellaSwag, WinoGrande, MMLU, GPQA, GSM8K, HumanEval, BFCL). A quantização CQ4 mantém qualidade próxima ao modelo FP16 original na maioria das tarefas.
## Uso
A CLI fornece comandos para:
- `cactus run`: Executar um modelo com opções para bits de quantização, backend, entrada de imagem/áudio, ferramentas e mais.
- `cactus transcribe`: Transcrição ao vivo por microfone ou transcrição de arquivo.
- `cactus download`: Baixar pacotes de modelos pré-construídos.
- `cactus convert`: Converter modelos do HuggingFace para pesos Cactus CQ.
- `cactus serve`: Iniciar um servidor HTTP local compatível com OpenAI.
- `cactus code`: Executar um agente de codificação com IA.
- `cactus benchmark`: Executar suítes de benchmark.
- `cactus test`: Executar suítes de teste.
## Documentação
Documentação detalhada está disponível para cada componente:
- Cactus Engine (C API)
- Cactus Graph (C++)
- Cactus Kernels (C++)
- Cactus Quants (C++)
- Cactus Hybrid (C/Python)
- Pacote Python
## Citação
Se você usar Cactus em pesquisa, por favor cite:
```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.