这个项目能做什么
# Cactus
Cactus 是一款专为移动设备和可穿戴设备设计的混合边缘-云端 AI 引擎。它提供了一套完整的端侧 AI 推理技术栈,包括量化、内核、计算图和运行时引擎。
## 架构
该项目分为四个主要层次:
- **Cactus Engine**:提供兼容 OpenAI 的 API,用于文本、语音和视觉任务,包括聊天补全、流式传输、工具调用、转录、嵌入、RAG 和云端交接。
- **Cactus Graph**:一个零拷贝计算图,用于矩阵乘法、注意力、归一化和激活函数等张量运算。
- **Cactus Kernels**:针对 Apple、Samsung、Pixel 及其他移动平台优化的 CPU/GPU 内核,使用 ARM NEON SIMD。
- **Cactus Quants**:一种自定义的基于旋转的量化技术,支持 4 位到 1 位精度。
## 快速开始(Mac)
通过 Homebrew 安装并运行:
```bash
brew install cactus-compute/cactus/cactus
cactus run
```
## 主要特性
- **混合边缘-云端**:根据本地模型的置信度,自动将困难查询路由到云端。
- **模型支持**:支持 Liquid、Gemma、Whisper、Parakeet 和 Qwen 模型系列。任何 HuggingFace 模型都可以通过实验性方式转换。
- **多种绑定**:Swift、Kotlin、Flutter、React Native、Python 和 Rust。
- **端侧工具调用**:包含一个名为 "Needle" 的 2600 万参数模型,用于端侧工具调用。
- **CLI 工具**:提供用于运行模型、转录、服务、转换、基准测试和测试的命令。
## 性能
基准测试显示,在 Apple 芯片和移动设备上具有强劲的性能。例如,在 Mac M5 Max 上,对于 1k 上下文的 LLM 基准测试,该引擎实现了 2964 tokens/秒的预填充和 154 tokens/秒的解码。在 iPhone 17 Pro 上,它实现了 729 tokens/秒的预填充和 37 tokens/秒的解码。
## 输出质量
量化质量在多个基准测试(ARC、HellaSwag、WinoGrande、MMLU、GPQA、GSM8K、HumanEval、BFCL)中进行评估。CQ4 量化在大多数任务上保持了接近原始 FP16 模型的质量。
## 用法
CLI 提供以下命令:
- `cactus run`:运行模型,可选参数量化位数、后端、图像/音频输入、工具等。
- `cactus transcribe`:实时麦克风转录或文件转录。
- `cactus download`:下载预构建的模型包。
- `cactus convert`:将 HuggingFace 模型转换为 Cactus CQ 权重。
- `cactus serve`:启动兼容 OpenAI 的本地 HTTP 服务器。
- `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 包
## 引用
如果您在研究中使用 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}
}
```
评论
0 评分人数达到10人后显示
登录后参与讨论。