文章摘要
Cactus 是一个高效能的 AI 推理框架,专为手机和 AI 原生硬件设计,尤其针对中低端设备优化。它采用自下而上的架构,包含四个抽象层:Cactus FFI、Cactus Engine、Cactus Graph 和 Cactus Kernels,支持零拷贝计算图和低级别的 ARM SIMD 操作,适用于自定义模型和科学计算。
文章总结
GitHub项目:Cactus - 在手机和AI原生设备上本地运行AI
Cactus是一个专为手机和AI原生硬件设计的高效能AI推理框架和内核。目前,市场上70%以上的份额由中低端手机占据,但现有的AI框架大多针对高端手机进行优化。Cactus从底层设计,无需依赖,适用于所有移动设备。
示例(仅CPU): - 模型:Qwen3-600m-INT8 - 文件大小:370-420MB - 在Pixel 6a、Galaxy S21、iPhone 11 Pro上的性能:16-20 t/s - 在Pixel 9、Galaxy S25、iPhone 16上的性能:50-70 t/s
架构: Cactus提供了四个抽象层次: 1. Cactus FFI:与OpenAI兼容的C API,便于集成。 2. Cactus Engine:高级Transformer推理引擎。 3. Cactus Graph:统一的零拷贝计算图,适用于自定义模型和科学计算。 4. Cactus Kernels:低级的ARM特定SIMD操作。
使用Cactus: Cactus SDK目前在生产环境中每周处理超过50万次推理任务。支持Flutter、React Native和Kotlin Multiplatform等多种开发框架。
入门指南: - 文档:Cactus文档 - 社区支持:Discord
贡献与使用: Cactus代码可以直接在搭载Apple芯片的MacBook上运行。在开发测试中,Vanilla M3 CPU仅运行Qwen3-600m-INT8模型时,性能可达60-70 toks/sec。
路线图: - 支持Gemma、SmolVLM、Liquid、Kitten、Vosk等模型。 - 针对高端手机的SMMLA、NPU和DSP优化。 - 支持1B+模型的INT4量化。 - 提供将Torch/JAX模型移植到Cactus的Python工具。
初步结果: - 在iPhone 16 Pro NPU上运行Qwen3-4B-INT4模型的性能为21 t/s。
备注: 虽然Cactus可以用于所有Apple设备,包括MacBook,但对于计算机/AMD/Intel/Nvidia设备,建议使用HuggingFace、Llama.cpp、Ollama、vLLM、MLX等专门为这些平台设计的工具。
Cactus致力于为所有移动设备提供高效、易用的AI推理解决方案,欢迎开发者参与贡献和使用。
评论总结
评论内容总结:
商业模式与开源问题:
- 用户对Cactus的商业模式和开源状态表示疑惑,特别是其从Apache 2.0转为非商业许可的决定引发了信任问题。
- 关键引用:
- "If it is open-source, one is free to distribute even for commercial use by definition."(如果它是开源的,按定义可以自由分发,即使是商业用途。)
- "They change license 2 weeks ago from Apache 2.0 to non commercial. Understand they need to pay the bills but lost trust with such move."(他们两周前将许可证从Apache 2.0改为非商业用途。理解他们需要支付账单,但这种举动失去了信任。)
技术性能与兼容性:
- 用户对Cactus在不同设备上的性能表现、模型大小、电池消耗等问题表示关注,并希望看到与其他解决方案的对比基准。
- 关键引用:
- "how many GB does an app packaged with Qwen3 600m + Cactus take up?"(打包了Qwen3 600m + Cactus的应用占多少GB?)
- "Will this drain my battery?"(这会耗尽我的电池吗?)
功能扩展与使用场景:
- 用户对Cactus是否支持多模态(如音频、图像处理)以及是否能在不同计算单元(如GPU、NPU)上同时运行表示好奇。
- 关键引用:
- "Will this be limited to text generation, or will it have audio and image capabilities as well?"(这将仅限于文本生成,还是也会有音频和图像处理能力?)
- "Can this utilize multiple forms of compute at once?"(这能同时利用多种计算单元吗?)
用户体验与改进建议:
- 用户在使用过程中遇到模型下载冻结等问题,并建议改进存储方案。同时,用户希望Cactus能增加在线模式等功能。
- 关键引用:
- "Tried the android app but model download froze."(试用了安卓应用,但模型下载卡住了。)
- "Would you consider adding a mode where it could go online if the user instructed it to?"(你们会考虑增加一个用户指令下可以上线的模式吗?)
总结:评论主要围绕Cactus的商业模式、技术性能、功能扩展和用户体验展开,用户对其开源状态、性能优化、多模态支持等方面提出了疑问和建议。