模型性能测试报告(RK3588 & 全志 A733)
模型性能测试报告摘要 本次测试对比了RK3588(NPU)与全志A733(CPU)在大模型推理中的性能表现。测试涵盖输入/输出速度、准确率及硬件差异,使用25条文本问答和视觉数据集。 关键结果: RK3588 NPU:支持1B-7B模型,Qwen2-VL 2B模型输入/输出速度达43.48/15.82 tok/s,准确率85%;DeepSeek 7B模型准确率96%,但输出速度降至4.14 tok
·
模型性能测试报告(RK3588 & 全志 A733)
1. 测试目的
本次测试的目标是对比多个大模型(LLM)与视觉多模态模型(VLM)在以下两类硬件上的推理性能与准确度:
- 瑞芯微 RK3588(NPU)
- 全志 A733(CPU-only)
测试重点包括:
- 输入阶段速度(Prompt Tokenization)
- 输出阶段速度(Token 生成速度)
- NPU/CPU 性能差异
- 各模型的准确率表现
- 视觉模型与纯文本模型的能力差异
- 全志 A733 CPU 与 RK3588 NPU 的性能差异来源
2. 测试数据集说明
为了确保测试稳定、快速、可复现,本次测试使用两组极小数据集:
2.1 LLM:数据集(25条)
推理 + 常识( 10 条)
[
{"q": "苹果从桌子上掉下来,会向上飞还是向下掉?", "a": "向下掉"},
{"q": "1公斤铁和1公斤棉花哪个更重?", "a": "一样重"},
{"q": "太阳从哪个方向升起?", "a": "东边"},
{"q": "如果今天是周一,三天后是星期几?", "a": "周四"},
{"q": "猫是哺乳动物吗?", "a": "是"},
{"q": "5 + 7 = ?", "a": "12"},
{"q": "汽车没油了还能开动吗?", "a": "不能"},
{"q": "一小时有多少分钟?", "a": "60"},
{"q": "冬天比夏天冷还是热?", "a": "冷"},
{"q": "喝水能灭火吗?", "a": "不能"}
]
四则运算 + 简单逻辑( 10 条)
[
{"q": "13 + 29", "a": "42"},
{"q": "100 - 37", "a": "63"},
{"q": "7 * 8", "a": "56"},
{"q": "144 / 12", "a": "12"},
{"q": "如果A> B 且 B > C,谁最大?", "a": "A"},
{"q": "3 的平方是多少?", "a": "9"},
{"q": "一个三角形三边为 3,4,5,它是直角三角形吗?", "a": "是"},
{"q": "2^4 等于?", "a": "16"},
{"q": "√81", "a": "9"},
{"q": "如果今天 5℃,比昨天高 7℃,昨天多少度?", "a": "-2℃"}
]
代码能力极小测试集(5 条)
[
{"q": "写一个Python函数,返回两个数的最大值", "a": "def max(a,b): return a if a>b else b"},
{"q": "写一个Python代码,判断一个数是否为偶数", "a": "n%2==0"},
{"q": "写一个Python代码反转字符串 'abc'", "a": "'abc'[::-1]"},
{"q": "写一个Python生成 1 到 5 的列表", "a": "list(range(1,6))"},
{"q": "写一段代码把列表求和", "a": "sum(lst)"}
]
2.2 VLM:自建视觉小数据集(手机/睡觉/说话场景)
用于检验 VLM 的图像理解能力与文本推理结合能力。
提示词:
你是图像分析助手。请严格按照以下顺序判断画面内容:
步骤1(最重要):
- 你必须先判断“画面中是否有人”。
- 除非你清晰看到人的头部或身体轮廓,否则回答“否”。
- 如果步骤1回答“否”,则步骤2-4全部回答“否”,禁止幻想人物和动作。
步骤2:
判断此人是否拿着手机(只有在你非常清晰看到手机时才回答“是”,否则“否”)。
步骤3:
判断此人是否在休息或者趴着(只有在明确、清晰地看到人趴着时回答“是”,其他情况一律回答“否”。)。
步骤4:
判断此人是否在聊天(必须看到人与人面对面说话或对着手机说话,否则“否”)。
最后只输出 JSON,不要解释:
{
"画面中是否有人": "是/否",
"此人是否拿着手机": "是/否",
"判断此人是否在休息或者趴着": "是/否",
"此人是否在聊天": "是/否"
}
3. 测试硬件与软件环境
| 组件 | RK3588 | A733 |
|---|---|---|
| CPU | 4×A76 + 4×A55 | 2×A76 + 6×A55 |
| NPU | 6 TOPS(Mali G610MP4 GPU, 可跑大模型:支持 INT4/INT8/W8A8/部分 FP16) | 3 TOPS(VeriSilicon VIP9000 系列) → 仅支持 CNN 算子,不支持 Attention/MatMul/LayerNorm,因此不能跑任何 LLM |
| Framework | RKLLM 1.2.x + RKNN Toolkit | 全志 THead Linux + TIM-VX(NPU for CV) + Ollama(CPU for LLM) |
| 使用方式 | LLM 使用 NPU 加速(实际可跑 1B–7B) | LLM 必须 CPU-only;NPU 仅用于视觉模型,不支持 Transformer |
4. 测试结果汇总表
4.1 瑞芯微 RK3588 测试结果
| 模型 | 类型 | 参数 | 输入 Token | 输出 Token | 总时间(s) | 输入速度(tok/s) | 输出速度(tok/s) | 准确度 | 推理核心 |
|---|---|---|---|---|---|---|---|---|---|
| qwen2-vl-llm_rk3588.rkllm | 文字 | 2B | 10 | 42 | 3.055 | 30.81 | 15.75 | 85% | NPU |
| qwen2_vl_2b_vision_rk3588.rknn + qwen2-vl-llm_rk3588.rkllm | 图+文 | 2B | 196+9 | 40 | 7.42 | 43.48 | 15.82 | 85% | NPU |
| internvl3-1b_w8a8_rk3588.rkllm | 文字 | 1B | 10 | 173 | 2.49 | 249.17 | 70.74 | 50% | NPU |
| internvl3-1b_w8a8_rk3588.rkllm + internvl3-1b_vision_fp16_rk3588.rknn | 图+文 | 1B | 196+9 | 101 | 1.657 | 4303 | 62.75 | 50% | NPU |
| DeepSeek-R1-Distill-Qwen-1.5B_W8A8_RK3588.rkllm | 文字 | 1.5B | 38 | 548 | 35.765 | 211.81 | 15.4 | 84% | NPU |
| DeepSeek-R1-Distill-Qwen-1.5B_FP16_RK3588.rkllm | 文字 | 1.5B | 38 | 529 | 37.15 | 88.68 | 9.06 | 88% | NPU |
| DeepSeek-R1-Distill-Qwen-7B_W8A8_RK3588.rkllm | 文字 | 7B | 40 | 479 | 116.597 | 52.22 | 4.14 | 96% | NPU |
4.2 全志 A733 测试结果
| 模型 | 内容 | 参数 | 输入 Token | 输出 Token | 总时间(s) | 输入速度 | 输出速度 | 准确度 | 推理核心 |
|---|---|---|---|---|---|---|---|---|---|
| deepseek-r1:1.5b(Ollama) | 文字 | 1.5B | 5 | 38 | 25.53 | 12.41 | 4.15 | 96% | CPU |
5. 测试结果分析
5.1 RK3588:NPU 推理表现
优点
- NPU 对 INT8、W8A8 权重量化模型非常友好
- Qwen、DeepSeek 系列均成功在 RK3588 上跑通
- DeepSeek 1.5B/7B 在 RK3588 上可以运行,是国产 SoC 中性能优势最大的方案之一
- Vision 模型(internvl、Qwen2-vl)推理速度优秀,图像特征处理提速明显
主要现象
| 模型规模 | NPU 是否吃得动 | 输出速度 |
|---|---|---|
| 1B | 轻松 | >60 tok/s |
| 1.5B | 可跑 | 9–15 tok/s |
| 7B | 低速但可运行 | 4 tok/s |
5.2 A733:CPU 推理表现
主要特点
- 没有任何可用于大模型的 NPU 推理能力
- 完全靠 A55 小核 CPU 推理
- 1.5B 模型推理速度为 4 tok/s,比 RK3588 NPU 慢 3–15 倍
优点
- 算力虽然低,但准确率保持较高(DeepSeek 算法优势)
6. 全志 A733 为什么不能用 NPU 跑大模型?
官方支持案例:
物体检测模型:YOLOv5
物体分类模型:ResNet50
物体分割模型:YOLACT
手写数字分类模型:LeNet
6.1 关键原因:A733 的 NPU 并不是为大模型设计的
A733 搭载的是 VeriSilicon VIPNano / VIP9000 系列的 NPU(具体实现依厂商裁剪),
该 NPU 的定位是:
CV(卷积)、图像后处理、小型 CNN、目标检测加速器
它不支持以下大模型所需特性:
| 大模型算子需求 | A733 NPU 支持情况 |
|---|---|
| Transformer Attention | 不支持 |
| LayerNorm | 不完全支持 |
| RMSNorm | 不支持 |
| Softmax(大 token 范围) | 部分支持,不能处理长序列 |
| MatMul(大型矩阵) | 算力太低,内存带宽不足 |
| FP16 / BF16 | 不支持(很多型号只支持 INT8 / INT16) |
| KV Cache | 完全没有相关硬件结构 |
因此,大模型根本无法映射到 A733 的 NPU。
6.2 官方文档明确说明:TIM-VX 支持的是 CV 而非 LLM
你给的官方算子列表:
TIM-VX Operators 文档地址:
https://github.com/VeriSilicon/TIM-VX/blob/main/docs/Operators.md
文档中支持的算子包括:
- Conv2D / DeConv
- Pooling
- Resize
- Pad
- Elementwise Add/Sub/Mul
- Activation
- LRN
- Softmax(但用于分类,不是大模型中的 masked softmax)
- BatchNorm
- Reduce Sum/Mean/Max
文档 没有:
- Attention
- MatMul(大模型级别)
- LayerNorm
- RMSNorm
- Rope
- EmbeddingLookup(大规模)
- KV Cache 算子
- Transformer Block
结论:A733 的 NPU 本质上是“CNN 加速器”,无法执行 Transformer 类大模型,所以只能 CPU 推理。
更多推荐



所有评论(0)