Cactus:在手机上跑AI推理,5000+ Star的开源移动端AI引擎,YC S25项目

AI推理通常需要强大的GPU服务器,但Cactus这个开源项目正在改变这一现状。它是一个专为移动设备和可穿戴设备设计的低延迟AI引擎,让你可以在手机上直接运行大模型。目前Cactus在GitHub上已有5000+ Star,是YC S25的投资项目。

Cactus是什么

Cactus是一个移动端AI推理引擎,主要特点包括:

  • 极快的推理速度:在ARM CPU上实现最快的推理性能
  • 极低的内存占用:零拷贝内存映射,比其他引擎低10倍的RAM使用
  • 多模态支持:一个SDK支持语音、视觉和语言模型
  • 云端回退:当本地资源不足时自动路由到云端模型
  • 节能:NPU加速的预填充

技术架构

Cactus由三层组成:

┌─────────────────┐
│  Cactus Engine  │ ← OpenAI兼容API,支持所有主要语言
└─────────────────┘     聊天、视觉、STT、RAG、工具调用、云端切换
         │
┌─────────────────┐
│  Cactus Graph   │ ← 零拷贝计算图(移动端的PyTorch)
└─────────────────┘     自定义模型,优化RAM和量化
         │
┌─────────────────┐
│ Cactus Kernels  │ ← ARM SIMD内核(Apple、骁龙、Exynos等)
└─────────────────┘     自定义注意力、KV缓存量化、分块预填充

快速开始

Mac上体验

# 安装
brew install cactus-compute/cactus/cactus

# 语音转文字
cactus transcribe

# 运行对话模型
cactus run

iOS集成

// Swift
import Cactus

let model = CactusModel(path: "path/to/model")
let response = try await model.chat(
    messages: [
        ["role": "user", "content": "你好"]
    ],
    maxTokens: 100
)

Android集成

// Kotlin
val model = CactusModel(context, "model_path")
val response = model.chat(
    messages = listOf(
        Message("user", "你好")
    ),
    maxTokens = 100
)

支持的模型

Cactus支持多种量化格式的模型:

  • 语言模型:Llama、Phi、Gemma、Qwen等
  • 视觉模型:LLaVA、Phi-Vision等
  • 语音模型:Whisper等语音识别模型
  • 自定义模型:支持GGUF格式的自定义模型

性能表现

在不同设备上的推理速度(以Llama 3.2 3B为例):

设备 推理速度 内存占用
iPhone 15 Pro ~30 tokens/s ~1.5GB
Pixel 8 ~20 tokens/s ~1.5GB
Samsung S24 ~25 tokens/s ~1.5GB

这些数据意味着在手机上可以实现接近实时的AI对话体验。

适用场景

1. 隐私优先的AI助手

所有数据处理都在本地完成,不需要发送到云端。适合处理敏感信息的场景。

2. 离线AI功能

没有网络也能使用AI功能。适合旅行、偏远地区或网络不稳定的环境。

3. 降低API成本

对于高频使用的AI功能,本地推理可以大幅降低API调用成本。

4. 实时语音助手

结合语音识别和语言模型,可以构建低延迟的本地语音助手。

5. 移动端RAG

Cactus支持本地RAG(检索增强生成),可以在手机上构建私有的知识库问答系统。

与其他方案对比

方案 延迟 隐私 成本 离线
Cactus ✅ 完全本地 一次性
OpenAI API ❌ 数据上云 按量付费
llama.cpp ✅ 本地 免费
Core ML ✅ 本地 免费

Cactus的优势在于:专门为移动端优化,提供完整的SDK和API,支持多模态,有云端回退机制。

开源与商业

Cactus采用开源模式,核心引擎和内核都是开源的。同时提供商业版本,包含:

  • 更多优化的模型格式
  • 企业级支持
  • 定制化服务

作为YC S25的投资项目,Cactus获得了知名孵化器的认可,这为其长期发展提供了保障。

局限性

  1. 模型大小限制:手机内存有限,只能运行较小的模型(3B-7B参数)
  2. 推理速度:虽然比其他方案快,但仍比云端API慢
  3. 模型选择:目前支持的模型种类比云端少
  4. 电池消耗:持续的AI推理会加速电池消耗

总结

Cactus为移动端AI推理提供了一个高性能的开源解决方案。如果你需要在手机上运行AI模型,无论是出于隐私、成本还是离线需求,Cactus都是一个值得尝试的选择。

随着移动设备性能的提升和模型压缩技术的进步,本地AI推理将成为越来越可行的选择。Cactus正在推动这一趋势的发展。

本文参考来源:Cactus GitHub | Hacker News讨论

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容