模型性能测试报告(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 推理。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐