谈谈RK182x协处理器

2026-04-26

1. RK182x 是什么:从“协处理器”说起

在边缘 AI 系统里,协处理器(Co-processor)通常指“配合主 SoC 工作、专注某类计算任务”的芯片。
其核心价值不是替代主控,而是把高负载、可并行的任务(如神经网络推理)从主控侧剥离出来,从而提升整体吞吐、降低时延并改善能效比。

RK182x(含 RK1820、RK1828)可以理解为瑞芯微面向端侧 AI 推理场景推出的协处理器系列。典型形态是与 RK3588 / RK3576 等主控平台配套,通过 PCIe(或 USB)实现高速互联:

  • Host(如 RK3588):负责业务逻辑、调度、数据前后处理、系统控制。
  • Device(RK182x):负责 AI 推理主计算负载。
  • 高速互联(PCIe/USB):负责低时延数据交换与任务下发。

这种分工可概括为“主控负责系统,协处理器负责算力密集型 AI 推理”。

1.1 RK3588 + RK182x 的协同关系(示意图)

graph TD %% 定义全局样式类 classDef default fill:#fff,stroke:#333,stroke-width:1px,color:#000,rx:2,ry:2; A[业务输入
视频/语音/传感器数据] --> B[RK3588 主控
调度与前后处理] B --> C{推理任务类型} C -- CNN/检测/分割 --> D[RK182x 推理执行] C -- LLM/VLM Token 生成 --> D D --> E[结果回传 Host] E --> F[应用层输出
告警/控制/交互] B <-- PCIe/USB --> D %% 将样式应用到所有节点 %% class A,B,C,D,E,F plain;

注:该图为工程分工示意,非官方芯片框图;具体链路与拓扑以硬件手册和板卡设计为准。

2. RK1820 与 RK1828 有什么区别

二者同属 RK182x 家族,软件栈与开发方式一致性较高(如 RKNN3 工具链、模型转换与 Runtime 运行方式),差异主要体现在板级资源配置与目标负载上限

对比项 RK1820 RK1828
NPU 算力(INT8) 20 TOPS 20 TOPS
支持精度 INT4/INT8/INT16/FP8/FP16/BF16 INT4/INT8/INT16/FP8/FP16/BF16
主机互联接口 PCIe 2.0、USB 3.0 PCIe 2.0、USB 3.0
片上内存配置 2.5GB 级别 5GB 级别
RISC-V 控制核架构 同系列多核 RISC-V 方案 同系列多核 RISC-V 方案
推荐模型规模(LLM) 0.5B~3B 更常见 3B~7B 更常见
上下文容量余量 中等 更大
多实例并发稳定性 中等 更高
VLM 分辨率/负载上限 中等 更高
大模型端侧解码速度(同量化) 3B 级别可达百 token/s 量级 7B 级别仍可保持较高 token/s(常见 50+)
典型价格(开发套件/模组市场) 大致在 5k~8k RMB 区间 大致在 7k~10k RMB 区间

可以看到,两者在 NPU 峰值、指令精度与主机接口上并无本质代差,核心差异集中在内存规模带来的可部署模型上限。因此,RK1828 的优势主要体现为长上下文、多并发和更重多模态负载下的稳定性余量。

3. RK182x 能做什么:能力边界与模型支持

3.1 典型可落地方向

RK182x 适合以下端侧 AI 任务:

  1. 视觉任务(CNN/Transformer 视觉模型):分类、检测、分割、关键点、部分多目标场景。
  2. 语言任务(LLM):端侧问答、指令执行、轻量 Agent 推理等。
  3. 多模态任务(VLM/Omni):图文理解、视觉问答、部分音视觉融合交互。
  4. 多模型并发:在主控 + 协处理器分工下,支持业务逻辑与推理并行,提高系统响应能力。

3.2 已支持模型(RKNN-LLM 口径)

airockchip/rknn-llm 当前版本与更新记录,已覆盖的模型家族主要包括:

  • 文本大模型(LLM):Llama/Llama2/Llama3/TinyLlama、Qwen/Qwen2/Qwen2.5/Qwen3、Phi/Phi-2/Phi-3、ChatGLM3、Gemma/Gemma2/Gemma3/Gemma3n、InternLM2、MiniCPM/MiniCPM3/MiniCPM4、RWKV7、TeleChat、DeepSeek-R1-Distill。
  • 多模态模型(VLM):Qwen2-VL、Qwen2.5-VL、Qwen3-VL、MiniCPM-V、InternVL2/InternVL3/InternVL3.5、Janus/Janus-Pro、DeepSeekOCR。
  • 量化与部署形态:支持 w4a16、w8a8、group-wise 量化,以及多实例推理、长上下文、Function Calling 等能力。

rknn-llm 外,视觉方向在 rknn_model_zoo / rknn3-model-zoo 中也有大量可直接复用的模型示例(如 YOLO、MobileNet 等),可用于 CNN 任务快速落地。

4. 以 Qwen 为例:RK182x 上的部署流程

下面用 Qwen 系列(如 Qwen2.5-3B-InstructQwen3-VL)给出一个最小流程,实际工程中可按同一框架替换成其他已支持模型。

第一步:PC 端完成模型转换与量化

该步骤目标是把 Hugging Face 的 Qwen 模型转成 RK 平台可加载的格式。
文本模型产物是 .rkllm;多模态模型通常需要两份产物:视觉编码器 .rknn + 语言模型 .rkllm

可按以下顺序执行:

  1. 准备 Linux PC 环境:安装 Conda(建议 Ubuntu 20.04/22.04),创建 Python 环境并安装 rkllm-toolkit
  2. 下载原始模型:从 Hugging Face 拉取 Qwen 模型完整目录(建议先从 Qwen2.5-3B-Instruct 这类体量适中的模型起步)。
  3. 生成量化数据:在 rknn-llm/examples/rkllm_api_demo/export 下运行 generate_data_quant.py
  4. 配置导出脚本:在 export_rkllm.py 中设置模型路径、目标平台、量化方式(W4A16W8A8)、NPU 核配置等关键参数。
  5. 执行导出:运行 python3 export_rkllm.py,得到 *.rkllm 文件。若是 Qwen-VL,还需准备匹配的视觉模型 *.rknn

一个典型命令序列如下(以文本模型为例):

cd rknn-llm/examples/rkllm_api_demo/export
python3 generate_data_quant.py -m ~/Qwen2.5-3B-Instruct
python3 export_rkllm.py

导出完成后,目录中会生成类似 Qwen2.5-3B-xxx.rkllm 的文件,这就是板端推理所需主模型。

第二步:板端部署运行

该步骤目标是在 RK182x 开发环境中加载模型并完成推理。
部署前建议先确认板端 NPU 驱动版本满足 SDK 要求,再进行运行。

先将可执行文件与模型推送到板端:

adb push ./demo_Linux_aarch64 /data
adb push ./qwen_model.rkllm /data/demo_Linux_aarch64
# 若是Qwen-VL,再推送视觉模型
# adb push ./qwen_vl_vision.rknn /data/demo_Linux_aarch64
adb shell
cd /data/demo_Linux_aarch64
export LD_LIBRARY_PATH=./lib
export RKLLM_LOG_LEVEL=1
./llm_demo ./qwen_model.rkllm 2048 4096

上面命令中的 20484096 分别对应 max_new_tokensmax_context_len,可按业务需求调整。
如果是 Qwen-VL,需要改用多模态 demo,并同时传入视觉模型、语言模型与视觉 token 参数。例如:

./demo demo.jpg ./qwen3-vl-2b_vision.rknn ./qwen3-vl-2b.rkllm 2048 4096 3 "<|vision_start|>" "<|vision_end|>" "<|image_pad|>"

完成后即可在板端进行交互推理;同一流程也可平移到其他已支持模型。

参考资料