解锁 TL182X 算力卡:20TOPS 算力 RK1828 大模型部署全实操(一)

前言

本文基于TL3588-EVM评估板(4GByte DDR、32GByte eMMC配置),演示TL182X评估套件(型号:TL1828-A1.1、TL1828-M-A1.1)的测试方法。

开发环境

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:VMware16.2.5、Ubuntu22.04.5 64bit

评估板系统版本:Ubuntu20.04/Ubuntu22.04、Linux-5.10.209/Linux-6.1.141、U-Boot-2017.09

LinuxSDK:LinuxSDK-[版本号](基于rk3588_linux_release_v1.5.0/rk3588_linux6.1_release_v1.4.0)

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

 

 

注意事项

(1)无特殊说明情况下,本文默认使用USB TO UART2作为调试串口,使用系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接,请确保PC机、Ubuntu系统可正常访问互联网。

(2)我司提供的产品资料目录具体说明如下。

 

 

一、算力卡简介

TL182X评估套件基于瑞芯微RK1828算力协处理器设计,算力高达20TOPS@INT8,由RK1828算力卡模组和转接板组成。RK1828算力卡模组有SODIMM金手指(型号:RM1828SA0-F)、M.2 Key B-M金手指(型号:RM1828MC0-F)两种连接方式,均可通过PCIe 2.1金手指接口的转接板连接创龙科技RK3588等评估板使用,方便用户快速进行产品方案评估与技术预研。

具备如下特点:

(1)集成高算力NPU、3x RISC-V核心。

(2)支持INT4/INT8/INT16/FP8/FP16/BF16混合精度运算,最大算力20TOPS(INT8)。

(3)内嵌高带宽DRAM,容量高达5GByte。

(4)支持TensorFlow、MXNet、PyTorch、Caffe、ONNX等主流框架网络模型。

TL1828-A1.1由RM1828SA0-F模组(含散热器)和转接板组成,模组尺寸为69.6*45*20.67mm,重量约为76g。

TL1828-M-A1.1由RM1828MC0-F模组(含散热器)和转接板组成,模组尺寸为81*25*21.75mm,重量约为53g。

备注:如需基于TL182X评估套件设计底板,可查看产品资料“硬件资料\xxx\”目录下的硬件设计指南

 

1.1软件框架和工具

 

图 1

 

(1)PC端开发环境包含RKNN3 Toolkit,RKNN3 Model Zoo等。

a) RKNN3 Toolkit:是一个软件开发工具包,可将PyTorch、ONNX等深度学习框架训练的模型转换为RKNN格式,支持用户进行模型转换、推理和性能评估;

b) RKNN3 Model Zoo:提供了丰富的模型转换示例,涵盖多种AI模型类型;

 

(2)板端开发环境包含RKNN3 Runtime,AI应用Examples,工具集合,驱动等。

a) RKNN3 Runtime:模型转换完成后,可在评估板上使用RKNN3 API加载和运行RKNN模型。除RKNN3 API外,还支持通过OpenAI 兼容API调用大语言模型(LLM);

b) Examples:提供模型应用参考示例;

c) 工具集合:配备了用于调试的RKNN-SMI和RKNN-Console等工具。这些工具能够帮助开发者对模型运行状态进行实时监控和调试;

d) 驱动:提供RK182X PCIe EP驱动,确保评估板与外部设备之间的高速、稳定通信。

 

1.2开发流程

(1)CNN模型开发流程。
 

图 2

 

(2)LLM模型开发流程。

 

图 3

 

相关内容可查阅RK182X SDK开发包"rknn/rknn3-runtime/doc"目录下《01_Rockchip_RK182X_Quick_Start_RKNN3_SDK_V1.0.0_CN.pdf》中的“开发流程”章节。同时,我司亦提供相关文档位于产品资料“开发参考资料\rkkn3-runtime\”目录下以供参考。

 

1.3测试结果汇总

本文档从CNN(卷积神经网络)与LLM(大语言模型)两个维度进行测试,验证我司RK3588评估板适配TL182X评估套件的性能,案例测试结果汇总说明如下表所示。

备注:以下测试基于Ubuntu20.04评估板文件系统完成;经实测,Ubuntu22.04评估板文件系统下的性能测试结果与Ubuntu 20.04接近。

(1)CNN性能

 

 

备注:由于RM1828MC0-F模组的散热能力弱于RM1828SA0-F模组,因此官方固件已将RM1828MC0-F模组的NPU最高主频默认限制为850MHz,故其实际测试性能略低于RM1828SA0-F模组。

 

(2)LLM性能

 

 

备注:指标参数解释:

a) TTFT:模型生成第一个token所需的时间

b) TPOT:生成每个输出token所需的平均时间

C) TPS:模型每秒能生成的token数量。

 

二、开发环境搭建

请参考我司TL3588-EVM产品资料的《开发环境搭建》安装Ubuntu22.04.5操作系统。

2.1安装RK128X SDK

打开Ubuntu,执行如下命令,创建RK128X工作目录。

Host# mkdir -p /home/tronlong/RK3588/rk182x_sdk

 

图 4

 

我司已提供官方RK1820_RK1828_AI_SDK_RELEASE_V1.0.0.tar.gz开发包位于案例“软件资料\RK182X-AI-Accelerator\sdk\”目录下。请将SDK开发包拷贝至RK3588工作目录,执行如下命令,将SDK开发包解压至RK3588工作目录。

备注:该SDK包无需编译,可直接使用。

Host# cd /home/tronlong/RK3588/rk182x_sdk

Host# tar zxf RK1820_RK1828_AI_SDK_RELEASE_V1.0.0.tar.gz

 

图 5

 

 

2.2安装RKNN3 Toolkit

安装RKNN3 Toolkit前,需确保系统为64位Ubuntu 22.04,且已安装Python 3.10,以满足其运行环境要求。

备注:相关内容可查阅RK182X SDK开发包"rknn/rknn3-toolkit/doc"目录下的参考文档。我司亦提供相关文档位于产品资料“开发参考资料\rknn3-toolkit\”目录下。

(1)安装Python环境

执行如下命令,新建rknn3-toolkit目录。

Host# mkdir rknn3-toolkit

 

图 6

 

为满足系统对多版本Python环境的兼容需求,推荐采用Miniforge3进行Python环境管理。我司已提供Conda安装包Miniforge3-Linux-x86_64.sh位于产品资料“软件资料\RK182X-AI-Acceleratorect\model\bin\”目录下。请将其拷贝至RK3588工作目录。

Host# bash Miniforge3-Linux-x86_64.sh

备注:安装过程中请根据终端提示逐步确认操作。

 

图 7

 

图 8

 

图 9

 

执行如下命令,进入Conda base根环境,创建名为"toolkit3"的Python3.10环境。

备注:环境名可自定义修改。

Host# source ~/.bashrc

Host# conda create -n toolkit3 python=3.10

图 10

 

图 11

 

执行如下命令,激活"toolkit3"环境

Host# conda activate toolkit3

 

图 12

 

备注:

a) 如需退出当前虚拟环境,可执行"conda deactivate"命令

Host# conda deactivate

 

图 13

 

如需取消终端自动加载conda环境,将"~/.bashrc"以下内容删除或注释即可。

 

图 14

 

至此,完成Python3.10环境的配置。

(2)安装RKNN3 Toolkit

进入rk128x_sdk开发包的"/rknn/rknn3-toolkit/rknn3-toolkit/"目录。

Host# cd /home/tronlong/RK3588/rk182x_sdk/rknn/rknn3-toolkit/rknn3-toolkit/

 

图 15

 

执行如下命令,使用pip工具安装Python依赖库。

Host# pip install -r packages/requirements_cp310-1.0.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

 

图 16

 

图 17

 

执行如下命令,安装RKNN3 Toolkit工具。

Host# pip install packages/rknn3_toolkit-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

 

图 18

 

图 19

 

执行如下命令,验证rknn3-toolkit是否安装成功。

Host# python3

Python# from rknn.api import RKNN

 

图 20

 

若导入RKNN库没有报错,则表示安装成功。

 

三、模型转换说明

本次以yolov5s模型为例进行演示。请将产品资料“软件资料\RK182X-AI-Acceleratorect\model\cnn\yolov5s\yolov5s_rknn3.onnx”拷贝至上位机Ubuntu任意目录。

进入文件存放目录,执行如下命令,进入Conda base根环境,并激活"toolkit3"环境。

Host# cd /home/tronlong/RK3588/rknn3-toolkit/

Host# source ~/miniforge3/bin/activate

Host# conda activate toolkit3

 

图 21

 

瑞芯微官方在rk182x_sdk开发包的"/rknn/rknn3-model-zoo/examples/<案例名>/python"目录下提供了各类模型转换所需的源码文件convert.py。

执行如下命令,进入rk182X sdk开发包源码"/rknn/rknn3-model-zoo/examples/yolov5/python/"目录,在该目录下执行convert.py脚本文件,将ONNX模型转换为TL182X兼容的RKNN格式。

Host# cd /home/tronlong/RK3588/rk182x_sdk/rknn/rknn3-model-zoo/examples/yolov5/python/

Host# python convert.py /home/tronlong/RK3588/rknn3-toolkit/yolov5s_rknn3.onnx rk1828

参数解释:

(1)/home/tronlong/RK3588/rknn3-toolkit/yolov5s_rknn3.onnx:ONNX模型存放路径。

(2)rk1828:目标平台。

 

图 22

 

图 23

 

脚本执行完成后,在原本存放ONNX模型的目录中,将会生成已完成转换的RKNN模型文件以及对应的权重文件。

 

图 24

 

posted @ 2026-08-04 11:01  创龙科技-黄工  阅读(9)  评论(0)    收藏  举报