系列文章目录
参考博客
参考博客
文章目录
- 系列文章目录
- 前言
- 一、下载模型
- 二、环境搭建
- 三、模型转换
- 1、LLM语言解码器
- 2、Vision视觉编码器
- 四、模型部署
- 总结
前言
RK1828 是瑞芯微(Rockchip)推出的一款端侧 AI 协处理器,其核心使命是作为“AI 加速引擎”,与主控芯片(如 RK3588)协同工作,专门应对端侧大模型部署中普遍存在的“内存墙”瓶颈。
与传统 SoC 内置 NPU 不同,RK1828 采用了“主控 SoC + AI 协处理器”的双芯架构。它并非要取代主控,而是作为专职的 AI 推理加速单元,通过 PCIe 或 USB 接口挂载到 RK3588、RK3576 等主控平台上。
这种设计的关键,在于它通过3D 堆叠封装技术,将高带宽 DRAM 直接集成在芯片内部,从而绕开了外部内存带宽的限制。其内部理论带宽可达约 1TB/s,远超通过 PCIe 接口获得的外部带宽,使得大模型推理所需的数据搬运不再成为瓶颈。
RK1828 的具体配置如下:
NPU 算力:20 TOPS (INT8),支持 INT4、INT8、INT16、FP8、FP16、BF16 等多种计算精度。
片上内存:5GB 3D 堆叠 DRAM,这是它与入门款 RK1820(2.5GB)最核心的区别,决定了它能承载的模型规模。
处理器架构:采用三核 64 位 RISC-V 架构作为控制核心。
功耗 (TDP):热设计功耗为 20W。实际运行中,单卡功耗约 10W,运行 7B 模型时平均功耗约 13.6W,峰值约 29.4W。
接口与形态:常见形态包括 M.2 2280 (M-Key) 和 SODIMM 算力卡,通过 PCIe 接口与主控连接。一个关键特性是,仅需 PCIe 2.1 x1 Lane 的带宽即可“满血”发挥其 AI 算力,对外部接口依赖极低。
得益于 5GB 的片上内存,RK1828 能够流畅地在端侧离线运行 8B 参数以下的LLM模型、VLM模型、TTS模型以及传统的CNN模型,具体模型支持可参考官方文件。
一、下载模型
通过魔搭下载Qwen3-VL-2B-Instruct模型。
首先可以在虚拟环境中安装魔搭的下载工具:
pipinstallmodelscope然后根据具体模型名和本地保存位置进行下载:
modelscope download--modelQwen/Qwen3-VL-2B-Instruct--local_dir/home/xxx/xxx二、环境搭建
在服务器的虚拟环境中搭建RK环境,这个环境主要用于模型的量化及转换,只有转换得到对应模型文件才能在RK1828上推理。
首先下载解压rknn3_model_zoo和rknn3-toolkit工具包。
进入rknn3_model_zoo文件夹,安装对应的依赖环境:
cdrknn3_model_zoo/ pipinstall-rrequirements.txtexportPYTHONPATH=./进入rknn3-toolkit文件夹,安装对应的依赖环境:
cdrknn3-toolkit\rknn3-toolkit\packages pipinstall-rrequirements_cp310-1.1.0.txt pipinstallrknn3_toolkit-1.1.0-cp310-cp310-manylinux2014_x86_64.whl测试rknn3-toolkit是否能够正常使用:
python-c"from rknn.api import RKNN; print('Toolkit OK')"由于 Qwen3-VL 模型对部分依赖库版本有特殊要求,与rknn3_model_zoo的 requirements.txt 中的部分依赖库版本不兼容,需要单独手动安装以下依赖:
pipinstall"torch>=2.9.0""transformers==4.57.1""onnxruntime>=1.23.2"安装后可能会出现更新的依赖库与原来某些对应的依赖库不兼容问题:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is thesourceof the following dependency conflicts. datasets5.1.0 requires huggingface-hub<3.0,>=1.31.0, but you have huggingface-hub0.36.2whichis incompatible. torchvision0.23.0 requirestorch==2.8.0, but you have torch2.14.1whichis incompatible.datasets 冲突:环境里的 datasets 5.1.0 发布于 2026-10-05,它强制要求 huggingface-hub>=1.31。这与安装的 transformers 4.57.1 所需的 huggingface-hub<1.0 直接矛盾,pip 为了满足 transformers,只能将 huggingface-hub 降级到 0.36.2,从而导致 datasets 5.1.0 报错。
torchvision 冲突:原有的 torchvision 0.23.0 是为了匹配 torch 2.8.0 而安装的。当将 torch 升级到 2.14.1 后,这个旧版的 torchvision 自然就不兼容了。
手动更新:
pipinstall"torchvision==0.29.1""datasets==5.0.1"三、模型转换
1、LLM语言解码器
进入安装好的模型转换虚拟环境,调用rknn3-model-zoo工具,先生成量化校准数据集,再根据校准数据通过GRQ量化把原始模型分割转换为独立的llm.onnx模型。
cdrknn3-model-zoo/examples/Qwen3_VL/python/llm python make_calidata.py--model_pathQwen/Qwen3-VL-2B-Instruct--datapath../../../../datasets/MMBench/llm/dataset.json python export_llm.py--quant--model_pathQwen/Qwen3-VL-2B-Instruct--export_llm_pathQwen3-VL-2B-llm.onnx量化转换过程中可能提示缺少某些依赖库,给他pip补上即可:
ModuleNotFoundError: No module named'onnxscript'pipinstallonnxscript将转换好的onnx模型再次转换为rknn模型:
python export_rknn.py--onnx_pathQwen3-VL-2B-llm.onnx--configQwen3-VL-2B-llm.config.pkl--rknn_pathQwen3-VL-2B-llm.rknn--platformrk18202、Vision视觉编码器
依然是进入安装好的模型转换虚拟环境,调用rknn3-model-zoo工具,这次不需要重新生成量化校准数据集,直接复用之前llm模型的数据集即可,然后根据校准数据通过GRQ量化把原始模型分割转换为独立的vision.onnx模型。
cdrknn3-model-zoo/examples/Qwen3_VL/python/visioncp-r../llm/quant_data ./ python export_vision.py--quant--model_pathQwen/Qwen3-VL-2B-Instruct--export_vision_pathQwen3-VL-2B-vision.onnx同样将转换好的onnx模型再次转换为rknn模型:
python export_rknn.py--onnx_pathQwen3-VL-2B-vision.onnx--rknn_pathQwen3-VL-2B-vision.rknn--platformrk1820自此,获得以下6个模型文件,这些模型文件就是RK1828推理时所需要的数据文件:
Qwen3-VL-2B-vision.rknn Qwen3-VL-2B-vision.weight Qwen3-VL-2B-llm.rknn Qwen3-VL-2B-llm.weight Qwen3-VL-2B-llm.tokenizer.gguf Qwen3-VL-2B-llm.embed.bin四、模型部署
在RK3588s+RK1828中下载解压rknn3_model_zoo文件,然后使用命令进行编译:
cdrknn3-model-zoo/chmod+x build-linux.sh ./build-linux.sh-trk3588-aaarch64-dQwen3_VL调用编译好的可执行文件示例,输入对应的参数,比如模型路径、图片路径、prompt提示词,模型支持的图片宽高以及加速参数:
cdinstall/rk3588_linux_aarch64/rknn_Qwen3_VL_demo ./rknn_qwen3_vl_demo\<vision_rknn><vision_weight>\<llm_rknn><llm_weight>\<tokenizer_gguf><embed_bin>\<vision_core_mask><llm_core_mask>\<image_path>"<prompt>"\[model_width model_height][speedup_ratio]示例: ./rknn_qwen3_vl_demo\../../models/Qwen3-VL-2B-Instruct-rknn/Qwen3-VL-2B-vision.rknn\../../models/Qwen3-VL-2B-Instruct-rknn/Qwen3-VL-2B-vision.weight\../../models/Qwen3-VL-2B-Instruct-rknn/Qwen3-VL-2B-llm.rknn\../../models/Qwen3-VL-2B-Instruct-rknn/Qwen3-VL-2B-llm.weight\../../models/Qwen3-VL-2B-Instruct-onnx/Qwen3-VL-2B-llm.tokenizer.gguf\../../models/Qwen3-VL-2B-Instruct-onnx/Qwen3-VL-2B-llm.embed.bin\0xff 0xff\/path/to/your/test_image.jpg\"Describe this image in detail."\3843841.0参数说明:
vision_model_path:Vision 模型的结构文件路径,即 Qwen3-VL-2B-vision.rknn
vision_weight_path:Vision 模型的权重文件路径,即 Qwen3-VL-2B-vision.weight
llm_model_path:LLM 模型的结构文件路径,即 Qwen3-VL-2B-llm.rknn
llm_weight_path:LLM 模型的权重文件路径,即 Qwen3-VL-2B-llm.weight
tokenizer_path:LLM 的 Tokenizer 文件路径,即 Qwen3-VL-2B-llm.tokenizer.gguf
embedding_path:LLM 的 Embedding 文件路径,即 Qwen3-VL-2B-llm.embed.bin
vision_core_mask:Vision 模型的核心掩码,十六进制表示,0xff表示可以使用RK1828的3个NPU核心
llm_core_mask:LLM 模型的核心掩码,十六进制表示,0xff表示可以RK1828的3个NPU核心
image_path:待推理图片的路径
prompt:给模型的文本指令,需要用引号包裹
model_width:Vision 模型的输入宽度 与导出 Vision RKNN 时的 --img_w 一致
model_height:Vision 模型的输入高度 与导出 Vision RKNN 时的 --img_h 一致
speedup_ratio:SpeedUP 加速模式的控制比例,1.0表示自动模式,自动决定加速策略,0.0表示关闭SpeedUP加速,(0.0, 1.0) 之间的任意值表示手动模式,手动在这个区间内微调。
最终模型会输出对应结果
总结
RK1828和RK3588不一样,它不是一颗通用的应用处理器,而是一颗目标明确、特点突出的 AI 协处理器,通常搭配RK3588这种通用开发板使用。它通过 3D 堆叠内存技术,精准地解决了端侧大模型推理的带宽瓶颈,使得在功耗和体积受限的边缘设备上运行 7B 级别的模型成为可能。其“协处理器”的定位和灵活的算力卡形态,为现有设备的 AI 能力升级提供了一条高性价比的路径。