cactus-compute/engine

GitHub 2026-11-05T19:03:43.065857

项目简介

cactus-compute/engine 是一个面向消费级移动设备(智能手机、平板、可穿戴设备)的端侧 LLM 推理引擎,核心卖点是 2bit 极低比特量化 + 手写算子 + 轻量 runtime 的一体化方案。它提供从权重压缩、ARM 指令集特化 kernel 到会话级 runtime 的完整链路,让 7B 级模型有机会在数 GB 内存的手机上离线跑起来;同时把 Whisper 语音转写、文本生成与 RAG 检索纳入同一套栈,支持 iOS 与 Android 双端。定位上它并不打算取代云端推理,而是要把推理彻底搬到用户口袋里。

技术亮点

架构解析

整体可分三层。模型层负责权重转换与量化工具链,把 HuggingFace 格式的权重打包成 2bit 分块布局,并生成运行时需要的元信息。计算层是 kernel 库,涵盖 embedding、RoPE、attention、FFN 等算子,按 ARM 指令集分版本实现,反量化与矩阵乘融合在此完成。runtime 层负责图调度、内存与 KV cache 分配、token 流式回调,向上暴露 C API 与 iOS/Android 语言绑定;应用级模块(ASR、RAG 检索)作为可选组件挂载其上,形成“引擎 + 能力包”的结构。

适用场景

生态对比

与 llama.cpp 相比:后者是通用 GGUF 推理框架,量化主力在 4/5/8bit,移动端更多是“能跑”;本项目把 2bit 与移动 SoC kernel 调优作为第一目标,更垂直但通用性较弱。与 MLC-LLM 相比:MLC 走 TVM 编译 + WebGPU/Metal 路线,偏 GPU 加速与跨端编译,包体与冷启动开销更大;本项目更轻、更偏 CPU/ARM 路径。与 ONNX Runtime Mobile / TFLite 相比:二者是通用图执行器,LLM 所需的 KV cache、动态 shape、量化算子融合需要使用者自行补齐,而本项目把这些当作内建能力。此外相对 Apple MLX / ExecuTorch,它的差异在于不强绑定单一平台,主打 iOS 与 Android 行为一致。

延伸阅读

项目信息

查看原文