端侧跑大模型先分清「装得下」和「跑得动」:体积涨 10.9 倍,速度掉 25.4 倍

性能 · 5.767 GiB(UD-IQ1_S)/ 544.09 MiB(Q4_K_M 对照)未标注整理于 2026-11-12 有效期 180d

同一台 20 核 ARM 机器(122GB 统一内存)、同一份 llama.cpp b12128、同一套 taskset 绑核,唯一变量是权重体积:PLaMo 0.8B Q4_K_M(544.09 MiB)decode 51.81 tok/s,Qwen3.8-27B UD-IQ1_S(5,922.3 MiB)decode 2.04 tok/s。体积涨 10.9 倍,速度掉 25.4 倍。多掉的 2.3 倍来自 1.716 bit/参的反量化算术,不是带宽也不是硬盘。

本地部署端侧ARMQwen量化llama.cpp显存内存反量化推理速度

这条适用于

版本指纹

llama.cpp b12128 / cmake 3.28.3 / gcc 13.3 / GLIBC 2.39 / Ubuntu aarch64

具体做法

实测环境:源端 DGX Spark #1(aarch64 20 核 Cortex-X925 / GB10 / 122GB 统一内存),
llama.cpp b12128 原生编译(cmake 3.28.3 + gcc 13.3,GLIBC 2.39),taskset 绑核,参数 -p 32 -n 8 -r 1。
测试期间同机常驻 sglang 生产容器占 290.9% CPU,load 3.9-4.7,绝对值为受污染值,仅保证同机内部横向可比。

【体积阶梯:只改权重文件】
PLaMo 0.8B Q4_K_M:544.09 MiB(0.531 GiB),0.89B 参数
Qwen3.8-27B UD-IQ1_S:5,922.3 MiB(5.767 GiB),26.90B 参数
体积比 10.9 倍,参数比 30.2 倍

【decode(tg)】
PLaMo 0.8B:T=1 30.15 / T=2 28.65 / T=4 51.81 / T=8 52.51 tok/s
Qwen3.8-27B:T=4 2.04 / T=8 3.49 / T=16 1.20 tok/s
T=4 比值 25.4 倍,T=8 比值 15.0 倍
【prefill(pp)】
PLaMo 0.8B pp128:T=1 43.37 / T=2 95.33 / T=4 175.09 / T=8 168.21 tok/s
Qwen3.8-27B pp32:T=4 2.34 / T=8 4.33 / T=16 6.36 tok/s(prefill 随核数单调上涨)
【体积自证(逐文件字节)】
BF16 原仓 32 文件 / 55,586,107,015 B = 51.77 GiB,18 分片,最大单片 3,988,973,152 B
GGUF 仓 34 文件 / 480,390,196,319 B,31 个量化档
UD-IQ1_S 6,192,222,208 B、UD-IQ2_XXS 7,206,043,648 B、Q4_K_M 16,564,259,744 B、Q8_0 29,047,086,048 B
视觉投影器 mmproj-F16 927,607,488 B、MTP 头 mtp-Q4_0 1,369,590,656 B(均为独立文件)
量化位宽反算:5.767 GiB × 8 ÷ 26.90B 参数 = 1.716 bit/参,名义 1.5625,多吃 9.8%

【单线程不可用】-p 128 -n 32 -r 2 跑 3 分 20 秒未出第一档,已强杀,不列为数据点。

失效边界
全程纯 CPU,未占任何 GPU 显存,「8G 显存能跑」这个口径本日既没证实也没证伪。KV cache 未测:262,144 原生上下文与 YaRN 至 1M 全部零数据,5.767 GiB 只是权重。视觉能力未测(mmproj 未下载)。功耗零数据。所有 tok/s 受同机 sglang 常驻污染(290.9% CPU / load 3.9-4.7),绝对值偏保守。x86 侧同模型对照未跑成(编译未完成),故「ARM vs x86 差几倍」本文无数据。
← 5090D 与 5060Ti 怎么选:价差 4.96 倍只买到 3.35 倍速度,每万张成本反而更高pip 装成功了程序还是缺包:多 Python 环境的静默错配 →

← 返回全部排错方案