全部文章

在手机上测试小模型:4K/8K 上下文、内存与 Agent 路由能力

一组面向手机本地运行的小模型实测,覆盖五个 GGUF 模型在 iPhone 15 Pro Max 上的 4K/8K 内存、首 token 延迟和 96 例 Agent 路由能力。

端侧 AI小模型手机推理基准测试Agent 路由
在手机上测试小模型:4K/8K 上下文、内存与 Agent 路由能力

最近我们一直对一个问题很感兴趣:小参数语言模型,是否已经足够在手机本地承担有用的 Agent 类任务?

为了让答案不只停留在主观感受上,我们选了五个热门 GGUF 文本模型,在 4K 和 8K 两种上下文设置下做了一组对比。资源测试跑在 iPhone 15 Pro Max 真机上;能力测试则对每个模型使用同一套 96 条确定性 Agent 路由用例,覆盖 Skill 选择、Action 提取、Mode 分类、缺槽识别和简单规划判断。

这不是一份泛化的学术评测,而是一份手机优先的工程检查:模型能不能加载,8K 上下文会多吃多少内存,首 token 有多快,以及它能不能为一个小型本地 Agent Runtime 稳定输出结构化决策。

测试模型

模型本地文件大小量化状态
MiniCPM5-1B656.2 MiBQ4_K_M已测试
Gemma-3-1B-IT768.7 MiBQ4_K_M已测试
Qwen3.5-2B1221.5 MiBQ4_K_M已测试
Qwen2.5-3B-Instruct2007.4 MiBQ4_K_M已测试
Phi-4-mini-instruct2376.4 MiBQ4_K_M已测试

为什么 Qwen 已经到 3.8,还在测 Qwen3.5?

Qwen 最新主线确实已经不止 3.5。以当前公开信息看,Qwen3.8 系列的重点是 Qwen3.8-Max、Qwen3.8-2.4T-A95B 和 Qwen3.8-27B 这类更大的模型。它们很重要,但和 1B-4B 级手机本地路由模型不是同一个部署档位。

这次测试的目标不是评测最新云端旗舰,而是找一个真正能放进手机 Runtime 的模型:默认 4K context,复杂任务可切 8K,内存可控,并且能稳定输出结构化决策。在这个约束下,Qwen3.5-2B 仍然是 Qwen 系列里非常相关的候选,因为更新的 Qwen3.6、Qwen3.7、Qwen3.8 目前没有明确的官方 1B/2B 级开源小模型来承担这个角色。

Qwen 系列是否有公开的手机本地小模型候选为什么本轮这样选
Qwen3.5有:0.8B、2B、4B 级别适合手机本地路由,本轮测试了 2B
Qwen3.6暂未看到明确 1B/2B/4B 开源候选公开权重主要是 27B 和 35B-A3B 级别
Qwen3.7暂未看到明确 1B/2B/4B 开源候选更多是 API 侧 Max/Plus/Flash 模型线
Qwen3.8暂无手机尺寸官方候选公开重点是 Max、2.4T-A95B、27B;第三方 GGUF 更偏桌面/工作站

覆盖范围和还没测的候选

这张表不是在说“所有适合手机的模型都已经测完了”。它覆盖的是当时本地已经有 GGUF、并且能跑完同一套手机资源测试和 96 例路由协议的文本模型。

它也不是只有国内模型。当前表里有 Qwen、MiniCPM 这样的中文/国内模型系列,也有 Google 的 Gemma 和 Microsoft 的 Phi。真正的缺口是,还有一些海外或跨社区的新候选没有进入这一轮本地 benchmark。

仍值得补测的候选来源/生态为什么值得测
LFM2.5-1.2B-InstructLiquid AI明确面向端侧和 tool-style 工作负载
LFM2.5-1.2B-ThinkingLiquid AI小尺寸 reasoning 候选,但 thinking 输出需要控制延迟
Llama 3.2 1B/3B InstructMeta虽然不是最新,但仍是重要的手机本地基线
SmolLM2/SmolLM3 小尺寸 instruct 模型Hugging Face 生态可作为独立轻量基线
Gemma 3n E2BGoogle面向移动端的多模态候选,需要 VLM 测试而不只是文本路由
MiniCPM-V-4.6OpenBMB 生态小尺寸多模态候选,适合测屏幕理解、图片和 OCR

下一轮应该在满足同一条件后再把这些模型放进表里:有兼容的本地 artifact,能跑同一套 4K/8K 手机资源测试,并且能跑同一套结构化路由或多模态任务协议。

手机侧环境为 iPhone 15 Pro Max,A17 Pro,8 GB 物理内存,iOS 26.6.1,SwiftLlama + llama.cpp b8668,Metal 全层卸载。每个模型和 context 组合都独立启动 3 次。

评测流程

Flow diagram Preparing diagram
View diagram source
flowchart LR
    A[选择 GGUF 模型] --> B[运行手机 4K 和 8K 资源测试]
    B --> C[记录加载时间、TTFT、进程内存、Metal 内存]
    C --> D[运行同一套 96 条路由用例]
    D --> E[统计 Parse、Skill、Action、Mode、槽位、规划指标]
    E --> F[套用手机优先的上线门槛]

手机资源测试使用短中文 prompt,衡量模型加载、context 分配、短 prompt TTFT、基础生成和内存占用。它不等价于完整 4K/8K 长 prompt prefill 压测。

96 例能力测试使用同一批模型文件和确定性采样设置,但运行在桌面 Metal 评测器上,以保证各模型之间的能力对比可重复。这样可以把手机资源可行性和结构化路由能力分开看。

iPhone 4K 和 8K 资源结果

五个模型在两种上下文下都能成功加载。

模型ContextLoad P50TTFT P50加载后进程内存加载后 Metal 内存结果
MiniCPM5-1B4K0.172 s0.140 s175.7 MiB1008.8 MiB3/3 loaded
MiniCPM5-1B8K0.176 s0.136 s271.6 MiB1104.8 MiB3/3 loaded
Gemma-3-1B-IT4K0.621 s0.215 s197.3 MiB1381.2 MiB3/3 loaded
Gemma-3-1B-IT8K0.567 s0.200 s301.3 MiB1485.2 MiB3/3 loaded
Qwen3.5-2B4K0.323 s0.268 s201.4 MiB1767.8 MiB3/3 loaded
Qwen3.5-2B8K0.323 s0.274 s249.6 MiB1819.8 MiB3/3 loaded
Qwen2.5-3B-Instruct4K0.303 s0.445 s230.8 MiB2447.0 MiB3/3 loaded
Qwen2.5-3B-Instruct8K0.296 s0.442 s375.0 MiB2591.0 MiB3/3 loaded
Phi-4-mini-instruct4K0.431 s0.503 s614.0 MiB3291.8 MiB3/3 loaded
Phi-4-mini-instruct8K0.569 s0.511 s1126.4 MiB3795.8 MiB3/3 loaded

最关键的资源结果是从 4K 升到 8K 的增量。在这组设置里,Qwen3.5-2B 只增加了约 52 MiB Metal 内存,而 Phi-4-mini 增加了约 504 MiB。对于一个默认使用 4K、复杂任务才临时切到 8K 的手机端 Runtime,Qwen3.5-2B 的成本曲线更干净。

96 例路由能力结果

这套能力集包含 96 条中英文 Agent 请求,检查模型能否输出有效结构化决策、选对 Skill、选对 Action、区分 retrieve/act/clarify/answer 行为、保留必要槽位,并识别需要规划的任务。

模型ContextParseSkillActionModeMissing slotsPlanningTTFT P50E2E P50
MiniCPM5-1B4K62.5%85.4%51.0%53.1%28.6%25.0%0.136 s0.622 s
MiniCPM5-1B8K62.5%85.4%51.0%53.1%28.6%25.0%0.138 s0.592 s
Gemma-3-1B-IT4K68.8%82.3%52.1%58.3%42.9%37.5%0.147 s0.976 s
Gemma-3-1B-IT8K68.8%82.3%52.1%58.3%42.9%37.5%0.148 s0.920 s
Qwen3.5-2B4K100.0%95.8%95.8%96.9%100.0%87.5%0.276 s1.098 s
Qwen3.5-2B8K100.0%95.8%95.8%96.9%100.0%87.5%0.273 s1.079 s
Qwen2.5-3B-Instruct4K94.8%80.2%71.9%79.2%66.7%37.5%0.522 s1.633 s
Qwen2.5-3B-Instruct8K94.8%80.2%71.9%79.2%66.7%37.5%0.529 s1.644 s
Phi-4-mini-instruct4K67.7%50.0%42.7%51.0%42.9%12.5%0.606 s2.220 s
Phi-4-mini-instruct8K63.5%55.2%34.4%42.7%42.9%25.0%0.620 s1.870 s

1B 级模型的资源成本很诱人,但它们在结构化 Action 和 Mode 决策上失败太多。对于可能触达提醒、邮件草稿、记忆更新等写路径的本地助手来说,这不是一个小小的 benchmark 分数问题,而是实实在在的产品风险。

Qwen3.5-2B 是这一组里唯一通过建议上线门槛的模型:Parse 稳定、Skill 和 Action 都超过 90%、Mode 超过 95%,并且手机侧 8K Metal 内存低于 2 GiB。

实用排序

排名模型最适合的用途
1Qwen3.5-2B Q4_K_M默认本地 Agent 路由候选
2Qwen2.5-3B-Instruct Q4_K_M研究基线,但不是最合适的手机默认模型
3MiniCPM5-1B Q4_K_M极低资源 fallback,可承担更简单的分类
4Gemma-3-1B-IT Q4_K_M有参考价值的轻量基线,但行动决策不够稳
5Phi-4-mini-instruct Q4_K_M对这类手机优先路由任务来说过重

这组结果说明了什么

对手机端本地 Agent 来说,最好的模型不一定是最小的模型。最小的模型确实赢在 TTFT 和内存,但结构化决策质量下降明显。更大的模型也不会自动胜出:Qwen2.5-3B 和 Phi-4-mini 都比 Qwen3.5-2B 更吃内存,但在这套路由任务上得分更低。

这次测试里最有用的中间点是 Qwen3.5-2B。它把 8K 内存控制在相对可用的范围内,同时在中英文用例上都能稳定输出接近 JSON 的路由决策。默认 context 仍然应该保持 4K,以控制电量和发热;只有在任务复杂度确实需要时,再升级到 8K。

限制和下一步测试

这些数字不能被过度外推。

手机资源测试使用的是短 prompt,所以下一步需要增加长 prefill 档位,比如约 3.5K 和 7.5K prompt tokens,并加入连续 20 轮会话,记录 tokens/s、热状态、电量下降和 jetsam 风险。

能力测试聚焦文本路由。Gemma 3n 和 MiniCPM-V 这类多模态候选,应该用独立 VLM harness 来测,包括屏幕理解、OCR、图片问答和权限受限的隐私场景。

后续也值得继续接入新的端侧候选,包括 LFM2.5-1.2B-Instruct、LFM2.5-1.2B-Thinking、Llama 3.2 1B/3B、SmolLM 系列小尺寸 instruct 模型、Qwen3.5-4B、Gemma 3n E2B 和 MiniCPM-V-4.6。只有当它们完成同一套手机资源测试和同一套能力协议后,才应该进入同一张对比表。

来自 MonoWare

在点击 App Store 前先建立信任。

探索产品组合,或订阅后续隐私与产品工程笔记。

通讯

隐私与产品工程笔记,偶尔发送。