端侧跑大模型要真正可用,量化、内核优化、混合云卸载三件事得成套做齐。开源的 Cactus(cactus-compute/cactus)就是按这个思路做的:一个面向手机与穿戴设备的混合边缘-云端 AI 引擎。它的 v2.1.0 于 2026 年 8 月 17 日发布,仓库目前约 6k star、500 fork,共有 62 位贡献者。官方实测里,iPhone 17 Pro 用 4bit 量化运行 Gemma-4-E2B,1k 上下文 prefill 速度 729 tokens/s、解码速度 37 tokens/s,峰值内存 644MB。

手机跑大模型的两个瓶颈

大模型要落到手机上,先要解决两个问题:内存和算力。

模型权重有多大,内存就有多紧张。以官方 1k 上下文基准为例,iPhone 15 Pro 跑 Gemma-4-E2B 的 4bit 量化版,峰值内存约 633MB;iPhone 17 Pro 约 644MB。内存达标之后,还要看解码速度——这项基准是纯解码(无投机解码、无多 token 预测),iPhone 15 Pro 为 26 tokens/s,iPhone 17 Pro 为 37 tokens/s。

速度不快,但方向明确:内存靠量化压下来,速度靠内核优化提上去,剩下的能力缺口交给云端兜底。

四件套架构:引擎、计算图、内核、量化

Cactus 的核心由四个组件构成:

  • Cactus Engine:提供 OpenAI 兼容的文本 / 语音 / 视觉 API,覆盖聊天补全、流式输出、工具调用、语音转写、embedding、RAG、向量索引与云卸载;
  • Cactus Graph:零拷贝计算图,负责张量运算的编排;
  • Cactus Kernels:面向 Apple、Samsung、Pixel 等设备的 CPU / GPU 内核,用 ARM NEON SIMD 实现矩阵乘法、注意力、卷积、量化、DSP、图像处理等算子;
  • Cactus Quants:旋转 + 码本量化技术,提供 CQ2 / CQ3 / CQ4 三档均匀量化与 CQ2.54 / CQ3.26 两档混合精度,覆盖 4bit 到 1bit。

实测性能:从 Mac M5 Max 到 iPhone 15 Pro

官方基准数据(1k 上下文 prefill + 100 tokens 解码,Gemma-4-E2B-CQ4,纯解码):

设备prefill解码1k 上下文峰值内存
Mac M5 Max2964 tps154 tps1348 MB
Mac M4 Pro1963 tps101 tps1225 MB
Mac M3 Pro1294 tps64 tps735 MB
iPad / Vision Pro(M5)1336 tps71 tps703 MB
iPhone 17 Pro729 tps37 tps644 MB
iPhone 15 Pro517 tps26 tps633 MB

同一份基准里还有两组数据:视觉模型(LFM2.5-VL-1.6B)在 iPhone 17 Pro 上 256px 图像编码约 0.5 秒、解码 39 tps;语音转写(Parakeet-TDT-0.6B-CQ4)处理 20 秒音频端到端耗时 0.51 秒(Mac M5 Max 上为 0.15 秒)。也就是说,这套引擎不止跑文本,视觉与语音任务在手机上同样进入了可用区间。

量化档位的精度账本

量化省内存,代价是精度。官方用 Gemma-4-E2B-it 在 12 项任务上对比了各档位精度(3 次运行取平均):

  • CQ4 与原始 F16 几乎持平:ARC-E 为 73.73 vs 73.80,BFCL Simple 为 92.42 vs 92.00,HellaSwag 为 47.07 vs 46.93;
  • 混合精度 CQ3.26 在部分任务上甚至略高(ARC-E 74.20);
  • CQ2.54 开始明显下降:GSM8K 从 73.67 跌到 22.00;
  • CQ2 基本不可用:GSM8K 仅 0.40、HumanEval 仅 1.02、MMLU 33.18。

结论很直接:4bit(CQ4)是当前精度与内存的平衡点;2bit 及以下的档位目前只适合对正确性要求很低的场景。

云卸载:按置信度路由

端侧模型能力有限,Cactus 的混合方案是按置信度路由:本地模型对回答没有把握(置信度低于 --confidence-threshold,示例默认 0.7)或等待云端超时(--cloud-timeout-ms)时,才把请求交给云端模型;响应中的 cloud_handoff 字段会标明本次是否走了云端。简单问题本地秒回,复杂问题自动上云,隐私与速度得以兼顾。

模型生态与上手成本

  • 模型:重点适配 Liquid、Gemma、Qwen、whisper、Parakeet 家族;任意 HuggingFace 模型可用 cactus convert 转为 CQ 权重(实验性功能);
  • Needle:配套的 26M 参数端侧工具调用模型,采用 OpenAI function-calling 格式;
  • 绑定:Swift / Kotlin / Flutter / React Native / Python / Rust 六种;
  • macOS 上手:brew install cactus-compute/cactus/cactus,随后 cactus run 即可。

结论

端侧跑大模型的可行路线已经明确:量化把模型塞进内存,内核优化把速度提上来,混合云卸载兜住能力下限。Cactus 的实测数据说明,4bit 量化在 iPhone 17 Pro 这一级设备上能把大模型解码速度做到 37 tokens/s、峰值内存压在 644MB,且精度损失几乎可以忽略;需要权衡的只剩量化档位——CQ4 是当前最稳妥的起点。