推理性能
以下数据为 Llama.cpp-MUSA-M1000 0.0.9252 在 AIModule(AIOS 1.4.1、M1000 64G)上的单并发测试结果。测试参数为 Batch=1、Output=50、Ctx=100k、NChip=1,Prefill Chunk Size 以表格记录为准。Prefill(tps) 按 Input / TTFT × 1000 计算,Decode(tps) 对应测试结果中的 TPS。
Prefill Chunk Size 对应 llama.cpp 的 --ubatch-size 参数,即物理 batch size,用于限制单次模型计算处理的最大 token 数。长输入会在 Prefill 阶段按该参数分批处理;该参数会影响 Prefill 性能,因此性能测试结果需同时记录该配置。
Qwen3.5-9B-Q4_K
| Model | Size | Quantization | Ctx(k) | NChip | Batch | Prefill Chunk Size | Input | Output | TTFT(ms) | Prefill(tps) | Decode(tps) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3.5 | 9B | Q4_K | 100 | 1 | 1 | 512 | 128 | 50 | 1057.87 | 121.00 | 11.22 |
| Qwen3.5 | 9B | Q4_K | 100 | 1 | 1 | 512 | 1k | 50 | 4211.81 | 237.43 | 10.96 |
| Qwen3.5 | 9B | Q4_K | 100 | 1 | 1 | 512 | 8k | 50 | 36836.30 | 217.18 | 10.46 |
| Qwen3.5 | 9B | Q4_K | 100 | 1 | 1 | 512 | 16k | 50 | 81505.33 | 196.31 | 9.95 |
| Qwen3.5 | 9B | Q4_K | 100 | 1 | 1 | 512 | 32k | 50 | 201672.18 | 158.67 | 8.72 |
Qwen3.6-35B-A3B-Q4_K
| Model | Size | Quantization | Ctx(k) | NChip | Batch | Prefill Chunk Size | Input | Output | TTFT(ms) | Prefill(tps) | Decode(tps) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3.6 | 35B-A3B | Q4_K | 100 | 1 | 1 | 1024 | 128 | 50 | 1013.30 | 126.32 | 20.73 |
| Qwen3.6 | 35B-A3B | Q4_K | 100 | 1 | 1 | 1024 | 1k | 50 | 4325.23 | 231.20 | 20.63 |
| Qwen3.6 | 35B-A3B | Q4_K | 100 | 1 | 1 | 1024 | 8k | 50 | 39419.96 | 202.94 | 19.13 |
| Qwen3.6 | 35B-A3B | Q4_K | 100 | 1 | 1 | 1024 | 16k | 50 | 90098.59 | 177.58 | 18.39 |
| Qwen3.6 | 35B-A3B | Q4_K | 100 | 1 | 1 | 1024 | 32k | 50 | 224526.13 | 142.52 | 15.72 |
Qwen3.5-4B-Q4_K
| Model | Size | Quantization | Ctx(k) | NChip | Batch | Prefill Chunk Size | Input | Output | TTFT(ms) | Prefill(tps) | Decode(tps) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3.5 | 4B | Q4_K | 100 | 1 | 1 | 512 | 128 | 50 | 676.88 | 189.10 | 17.55 |
| Qwen3.5 | 4B | Q4_K | 100 | 1 | 1 | 512 | 1k | 50 | 2801.80 | 356.91 | 17.24 |
| Qwen3.5 | 4B | Q4_K | 100 | 1 | 1 | 512 | 8k | 50 | 26832.09 | 298.15 | 15.80 |
| Qwen3.5 | 4B | Q4_K | 100 | 1 | 1 | 512 | 16k | 50 | 62839.32 | 254.62 | 14.53 |
| Qwen3.5 | 4B | Q4_K | 100 | 1 | 1 | 512 | 32k | 50 | 159618.42 | 200.48 | 12.02 |
Qwen3-Embedding-0.6B-f16
Embedding 模型仅测试输入长度 128、1k、8k;其不产生文本输出,Decode(tps) 为测试工具统一输出指标,仅供参考。
| Model | Size | Quantization | Ctx(k) | NChip | Batch | Prefill Chunk Size | Input | Output | TTFT(ms) | Prefill(tps) | Decode(tps) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3 | 0.6B | f16 | 100 | 1 | 1 | 512 | 128 | 50 | 158.44 | 807.88 | 26.36 |
| Qwen3 | 0.6B | f16 | 100 | 1 | 1 | 512 | 1k | 50 | 1806.73 | 553.49 | 23.70 |
| Qwen3 | 0.6B | f16 | 100 | 1 | 1 | 512 | 8k | 50 | 20468.33 | 390.85 | 12.86 |
测试前准备
llama.cpp 可使用 llama-bench 进行离线单并发推理性能测试。测试前请确认模型路径正确,并已完成 MUSA 版本编译。
建议测试前清理缓存:
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
文本生成快速验证
decode 速度测试
llama-bench -m <model-path> -ngl 999 -fa 1 -p 0 -n 64 -d 64 -r 3 -o json --mmap 0
prefill 速度测试
llama-bench -m <model-path> -ngl 999 -fa 1 -p 1024 -n 0 -r 3 -o json --mmap 0
参数说明
| 参数 | 说明 |
|---|---|
-m <model-path> | 指定 GGUF 模型文件路径。 |
-ngl 999 | 指定 offload 到 GPU 的模型层数。设置为较大值时,尽可能将模型层放到 MUSA GPU 上执行。 |
-fa 1 | 开启 Flash Attention。 |
-p 0 | prompt token 数。decode 测试中设置为 0,用于聚焦 token 生成阶段性能。 |
-p 1024 | prompt token 数。prefill 测试中设置为 1024,用于测试 prompt 处理 阶段性能。 |
-n 64 | 生成 token 数。decode 测试中设置为 64。 |
-n 0 | 生成 token 数。prefill 测试中设置为 0,表示不测试 decode 阶段。 |
-d 64 | 指定 llama-bench 的 n-depth 参数。decode 测试中设置为 64。 |
-r 3 | 重复测试次数。 |
-o json | 以 JSON 格式输出测试结果。 |
--mmap 0 | 禁用 mmap 加载模型。 |
输出示例
以下输出仅作格式参考,具体数值以实际运行环境为准。
Qwen3.5-4B-Q4_K_PURE模型为例
decode 测试输出
MUSA: found 1 device(s)
MUSA: device 0: M1000 (62.0 GB, compute 2.2, shared mem 72 KB)
MUSA: device 0: VMM supported (granularity 4096 bytes)
[
{
"build_commit": "af51ba0a6",
"build_number": 9252,
"cpu_info": "CPU",
"gpu_info": "M1000",
"backends": "MUSA",
"model_filename": "./Qwen3.5-4B-Q4_K_PURE/Qwen3.5-4B-Q4_K_PURE.gguf",
"model_type": "qwen35 4B Q4_K - Medium",
"model_size": 2369040384,
"model_n_params": 4205751296,
"n_batch": 2048,
"n_ubatch": 512,
"n_threads": 12,
"cpu_mask": "0x0",
"cpu_strict": false,
"poll": 50,
"type_k": "f16",
"type_v": "f16",
"n_gpu_layers": 999,
"n_cpu_moe": 0,
"split_mode": "layer",
"main_gpu": 0,
"no_kv_offload": false,
"flash_attn": true,
"devices": "auto",
"tensor_split": "0.00",
"tensor_buft_overrides": "none",
"use_mmap": false,
"use_direct_io": false,
"embeddings": false,
"no_op_offload": 0,
"no_host": false,
"fit_target": 0,
"fit_min_ctx": 0,
"n_prompt": 0,
"n_gen": 64,
"n_depth": 64,
"test_time": "2026-08-19T11:35:05Z",
"avg_ns": 3984373193,
"stddev_ns": 48615023,
"avg_ts": 16.064352,
"stddev_ts": 0.196716,
"samples_ns": [ 3994188548, 4027331586, 3931599446 ],
"samples_ts": [ 16.0233, 15.8914, 16.2784 ]
}
]
prefill 测试输出
MUSA: found 1 device(s)
MUSA: device 0: M1000 (62.0 GB, compute 2.2, shared mem 72 KB)
MUSA: device 0: VMM supported (granularity 4096 bytes)
[
{
"build_commit": "af51ba0a6",
"build_number": 9252,
"cpu_info": "CPU",
"gpu_info": "M1000",
"backends": "MUSA",
"model_filename": "./Qwen3.5-4B-Q4_K_PURE/Qwen3.5-4B-Q4_K_PURE.gguf",
"model_type": "qwen35 4B Q4_K - Medium",
"model_size": 2369040384,
"model_n_params": 4205751296,
"n_batch": 2048,
"n_ubatch": 512,
"n_threads": 12,
"cpu_mask": "0x0",
"cpu_strict": false,
"poll": 50,
"type_k": "f16",
"type_v": "f16",
"n_gpu_layers": 999,
"n_cpu_moe": 0,
"split_mode": "layer",
"main_gpu": 0,
"no_kv_offload": false,
"flash_attn": true,
"devices": "auto",
"tensor_split": "0.00",
"tensor_buft_overrides": "none",
"use_mmap": false,
"use_direct_io": false,
"embeddings": false,
"no_op_offload": 0,
"no_host": false,
"fit_target": 0,
"fit_min_ctx": 0,
"n_prompt": 1024,
"n_gen": 0,
"n_depth": 0,
"test_time": "2026-08-19T11:38:51Z",
"avg_ns": 2378120489,
"stddev_ns": 5671915,
"avg_ts": 430.593776,
"stddev_ts": 1.026820,
"samples_ns": [ 2383860870, 2377980116, 2372520483 ],
"samples_ts": [ 429.555, 430.618, 431.608 ]
}
]
结果解读
llama-bench 输出中重点关注 samples_ts 字段,该字段记录每次重复测试的 tokens/s 结果。第一次运行可能受到 warmup 影响而偏慢,正式观察性能时建议重点关注第一次之后的数值。
多模态模型快速验证
多模态模型性能测试需要先启动服务,再通过多模态接口访问服务。多模态部分的性能可从服务日志中查看。
服务启动示例:
llama-server --model /home/dev/models/Qwen3.6-35B-A3B-Q4.gguf --mmproj /home/dev/models/mmproj-Qwen3.6-35B-A3B-BF16.gguf --media-path /home/jingyi.wang/projects/llama.cpp/tools/mtmd --host 127.0.0.1 --port 8000 --ctx-size 32768 -ngl 999 --cont-batching --flash-attn on --metrics --parallel 1 --reasoning off --no-mmap
访问服务可参考“服务调用”章节的多模态图片调用示例。访问后,服务日志中会输出多模态处理耗时,例如:
srv process_chun: processing image...
encoding image slice...
image slice encoded in 4800 ms
decoding image batch 1/1, n_tokens_batch = 300
其中 image slice encoded in 4800 ms 表示 ViT 编码时间。按单张图片计算,FPS 为 1000 / 4800 = 0.2。

