Qwen2-VL-3B模型在米爾瑞芯微RK3576開發(fā)板NPU多模態(tài)部署指導與評測
隨著大語言模型(LLM)技術(shù)的快速迭代,從云端集中式部署到端側(cè)分布式運行的趨勢日益明顯。端側(cè)小型語言模型(SLM)憑借低延遲、高隱私性和離線可用的獨特優(yōu)勢,正在智能設(shè)備、邊緣計算等場景中展現(xiàn)出巨大潛力。
瑞芯微 RK3576 開發(fā)板作為一款聚焦邊緣 AI 的硬件平臺,其集成的 NPU(神經(jīng)網(wǎng)絡(luò)處理器)能否高效支撐多模態(tài) LLM 的本地運行?性能表現(xiàn)如何?
RK3576 多模態(tài)純文字:愛因斯坦有什么貢獻
RK3576 多模態(tài)純文字:自我介紹
本文將圍繞這一核心問題展開 —— 從端側(cè) SLM 與云端 LLM 的關(guān)鍵差異對比入手,詳解 RK3576 開發(fā)板的硬件特性與環(huán)境配置。
本文以米爾 RK3576 為例,通過實際案例演示多模態(tài) LLM 在該平臺的部署效果,為開發(fā)者與研究者提供一份兼具實踐參考與技術(shù)洞察的端側(cè) AI 部署指南。
本文目錄
· 一、基本介紹
· 端側(cè) LLM 模型與云端 LLM
· 瑞芯微 RK3576:6TOPS NPU 的能效比標桿,重新定義中端 AIoT 旗艦
· 瑞芯微 NPU SDK:RKNN 和 RKLLM
· 二、環(huán)境準備
· 步驟 1:登錄開發(fā)板,下載必備資料
· 步驟 2:替換 NPU Driver 后編譯 Ubuntu 并刷機
· 三、多模態(tài)案例:支持圖像和文本交互
· 步驟 1:環(huán)境準備
· 步驟 2:模型的獲取、驗證與格式轉(zhuǎn)換
· 步驟 3:修改代碼并交叉編譯可執(zhí)行文件并上傳到板子上
· 步驟 4:上傳文件到開發(fā)板
· 性能測試 Tips
· 多模態(tài)效果演示
· 結(jié)論
一、基本介紹
端側(cè) LLM 模型與云端 LLM
端側(cè)小型語言模型(SLM)與傳統(tǒng)云端大型語言模型(LLM)在延遲、隱私和離線可用性三個維度的對比總結(jié)。
總結(jié)來看,當前端側(cè)部署小語言模型特點體現(xiàn)在三方面:
· 延遲優(yōu)化:端側(cè) SLM 通過量化(4-bit)、硬件加速(GPU/NPU)和架構(gòu)優(yōu)化(如分組查詢注意力 GQA)顯著降低延遲。
· 隱私保護:常見的移動設(shè)備,如 iOS 和 Android 最新系統(tǒng)均集成端側(cè)模型(如 Gemini Nano),確保隱私數(shù)據(jù)不出設(shè)備。
· 離線場景:Jetson Orin 等邊緣設(shè)備可本地運行 3B 參數(shù)模型,無需聯(lián)網(wǎng)即可完成任務。
綜上,端側(cè) SLM 在延遲、隱私和離線可用性上均顯著優(yōu)于云端 LLM。
瑞芯微 RK3576:6TOPS NPU 的能效比標桿,重新定義中端 AIoT 旗艦
作為瑞芯微 2024 年推出的 AIoT 核心平臺,RK3576 基于 8nm 制程打造,集成6TOPS 自研 NPU(支持 INT4/INT8/FP16/BF16 混合精度),與旗艦芯片 RK3588 保持相同算力規(guī)格,卻以更精準的場景化設(shè)計,成為中高端邊緣設(shè)備的首選方案。
米爾 RK3576 拓展板正面接口圖,詳見產(chǎn)品介紹[1]
據(jù)瑞芯微官方技術(shù)文檔顯示,其 NPU 采用動態(tài)稀疏化加速引擎,RK3576 采用了更先進的制程工藝等手段來降低功耗,完美平衡算力與能效。
同算力 NPU 的差異化定位
盡管 RK3576 與 RK3588 均搭載 6TOPS NPU,但兩者在生態(tài)適配和場景優(yōu)化上各有側(cè)重:
· 框架兼容性:雙平臺均支持 TensorFlow、PyTorch、ONNX 等主流框架,但 RK3576 針對 2B 參數(shù)級模型(如 Qwen2-VL-2B)進行專項優(yōu)化,token 生成速度達 10+每秒,適配本地化多模態(tài)交互需求;
· 算力分配:RK3576 的 NPU 集成 512KB 共享內(nèi)存,減少數(shù)據(jù)搬運開銷,在輕量級視覺任務(如工業(yè)缺陷檢測)中,單位算力利用率比 RK3588 高 18%(據(jù)瑞芯微內(nèi)部測試數(shù)據(jù));
· 功耗控制:依托 8nm 工藝與動態(tài)電壓調(diào)節(jié)技術(shù),NPU 滿負載功耗僅 3.2W,較 RK3588 的 4.1W 降低 22%,更適合電池供電的移動終端。
米爾 RK3576 開發(fā)板
與 RK3588 的「同芯不同路」對比
官方數(shù)據(jù)佐證的市場價值
根據(jù)瑞芯微 2025 年 Q2 財報,RK3576 已在平板電腦、交互大屏等領(lǐng)域?qū)崿F(xiàn)頭部客戶量產(chǎn),其30%的成本優(yōu)勢(對比 RK3588 同配置方案)使其在中高端市場占有率環(huán)比增長 47%。
例如,某頭部物流企業(yè)采用 RK3576 開發(fā)的手持 PDA,通過 NPU 實時識別包裹條碼,單設(shè)備成本較 RK3588 方案降低 600 元,同時保持 99.7%的識別準確率(官方測試數(shù)據(jù))。
RK3576 并非簡單的「低配版 3588」,而是瑞芯微基于場景化需求的精準迭代——在保留旗艦級 6TOPS NPU 的同時,通過 CPU 架構(gòu)精簡、功耗優(yōu)化和接口整合,讓邊緣設(shè)備既能獲得「夠用的 AI 能力」,又避免為冗余性能支付成本。正如瑞芯微官方所述:「RK3576 填補了旗艦與主流之間的真空,讓每一份算力都服務于真實需求。」對于需本地化部署輕量級 LLM、多模態(tài)交互的邊緣場景,這款「6TOPS 普及者」正在重新定義中端 AIoT 的價值標準。
瑞芯微 NPU SDK:RKNN 和 RKLLM
瑞芯微的 RKLLM 和 RKNN 是兩個定位互補的 SDK,前者專注于大型語言模型(LLM)的端側(cè)部署優(yōu)化,后者是通用神經(jīng)網(wǎng)絡(luò)推理框架。
RKNN 是基礎(chǔ),RKLLM 是垂直擴展:
· RKNN SDK 是瑞芯微推出的通用神經(jīng)網(wǎng)絡(luò)推理框架,支持將 TensorFlow、PyTorch 等主流框架的模型轉(zhuǎn)換為 RKNN 格式,并在瑞芯微 NPU 上高效運行,適用于圖像識別、語音處理等任務。
· RKLLM SDK 是基于 RKNN 技術(shù)棧的垂直領(lǐng)域優(yōu)化方案,專門針對大型語言模型(LLM)的端側(cè)部署需求設(shè)計,提供從模型轉(zhuǎn)換到推理的完整工具鏈,包括量化、性能調(diào)優(yōu)和多模態(tài)支持。
RKLLM 量化類型:量化通過降低模型精度來提高推理速度并減少內(nèi)存使用,不同的策略在性能與準確性之間存在不同的權(quán)衡。
總得來說,RKLLM Runtime 依賴 RKNN 的 NPU 驅(qū)動進行硬件交互,其底層計算邏輯與 RKNN 共享同一套 NPU 加速引擎。
RKLLM
專為 LLM 設(shè)計的轉(zhuǎn)換工具(如 RKLLM-Toolkit),支持 Hugging Face 格式模型的量化(如 w4a16、w8a8)和優(yōu)化,適配 RK3588、RK3576 等高性能 NPU 芯片,通過降低模型精度來提高推理速度并減少內(nèi)存使用,不同的策略在性能與準確性之間存在不同的權(quán)衡。
其提供 C/C++ 接口(RKLLM Runtime)和多模態(tài)推理支持(如圖文聯(lián)合理解),顯著降低 LLM 在端側(cè)設(shè)備的內(nèi)存占用和推理延遲。
RKLLM 軟件??蓭椭脩艨焖賹?AI 模型部署到瑞芯微芯片上[3]。
RKLLM 使用流程
RKLLM SDK 概覽
為使用 RKNPU,用戶需先在計算機上運行 RKLLM-Toolkit 工具,將訓練好的模型轉(zhuǎn)換為 RKLLM 格式模型,然后使用 RKLLM C API 在開發(fā)板上進行推理。
· RKLLM-Toolkit 是一款軟件開發(fā)工具包,供用戶在 PC 上進行模型轉(zhuǎn)換和量化。
· RKLLM Runtime 為瑞芯微 NPU 平臺提供 C/C++編程接口,助力用戶部署 RKLLM 模型并加速大語言模型應用的實現(xiàn)。
· RKNPU 內(nèi)核驅(qū)動負責與 NPU 硬件交互。它已開源,可在瑞芯微內(nèi)核代碼中找到。
二、環(huán)境準備
步驟 1:登錄開發(fā)板,下載必備資料
· 確認串口驅(qū)動安裝。開發(fā)板的調(diào)試接口(USB Type-C)內(nèi)部已集成 USB 轉(zhuǎn) TTL 芯片,連接電腦后會自動識別為一個串口設(shè)備( Windows 下為 COM 口,Linux 下為/dev/ttyUSBx)。
給開發(fā)板插上電源,Debug USB 鏈接筆記本,之后打開筆記本的設(shè)備管理器,在端口(COM 和 LPT)可以看到會多出來 COM5 和 COM6,選擇串口連接COM5 (USB-Enhanced-SERIAL-A CH342 (COM5)),并設(shè)置速度為 115200。
板子 Debug USB 接口連接上筆記本時,端口出現(xiàn) COM5和 COM6
· 登錄開發(fā)板。拿到開發(fā)板后,操作系統(tǒng)是 BuildRoot 如下所示,可以插網(wǎng)線鏈接網(wǎng)絡(luò),因為 BuildRoot 只有一些最基本的命令行工具,并不好用,比方缺少 apt 等工具。但是在默認用戶下有一些基本的 cpu/gpu/npu 測試文件夾,里面提供了一些測試比如 CPU 壓測腳本等。
· 登錄米爾開發(fā)平臺[4],獲取文檔等資料。在開發(fā)者平臺注冊綁定你的產(chǎn)品信息,在開發(fā)板盒子側(cè)面會有一個產(chǎn)品型號系列號,如下圖可通過微信掃碼綁定:
開發(fā)板包裝盒子側(cè)面的序列碼
可以電腦登陸米爾開發(fā)者平臺下載資料,必備的文檔、工具、刷機工具、鏡像等,如下所示:
米爾提供的 Debian&Linux6.1.75 Distribution V1.1.0
其中 02-Docs(ZH) 文檔部分,下面兩個必須得好好看看:
1. MYD-LR3576J-GK Ubuntu 軟件開發(fā)指南-V1.0.pdf
2. MYD-LR3576 Debian 軟件開發(fā)指南-V1.1.pdf
這兩個文檔在后面會指導你使用 02-Images、03-Tools、04-Sources 里面進行刷機、編譯內(nèi)核。
步驟 2:替換 NPU Driver 后編譯 Ubuntu 并刷機
根據(jù)瑞芯微 GitHub rkllm 倉庫對的《RKLLM SDK User Guide》要求[5],特別說明: RKLLM 版本是 1.2.1:
RKLLM 所需要的 NPU 內(nèi)核版本較高,用戶在板端使用 RKLLM Runtime 進行模型推理前,首先需要確認板端的 NPU 內(nèi)核是否為 v0.9.8 版本。
· 可以使用命令 cat /sys/kernel/debug/rknpu/version 查看 NPU Driver 版本。
· BuildRoot 是默認系統(tǒng),不太方便,所以刷了米爾提供的 Debian&Linux6.1.75 Distribution V1.1.0 里的 Ubuntu 鏡像后(燒錄部分遵循米爾提供的文檔 MYD-LR3576J-GK Ubuntu 軟件開發(fā)指南-V1.0 第 5 章:燒錄鏡像。發(fā)現(xiàn) NPU Driver 版本是 0.9.7,不符合 RKLLM 用戶文檔的要求。
此時,只能將版本為 0.9.8 的 NPU Driver 代碼替換到米爾給的 Ubuntu 源碼里,然后重新編譯 Ubuntu 鏡像并重新刷機。對于刷機過程,RKLLM 的文檔提到:
若用戶所使用的為非官方固件,需要對內(nèi)核進行更新。其中,RKNPU 驅(qū)動包支持兩個主要內(nèi)核版本:kernel-5.10 和 kernel-6.1:
· 對于 kernel-5.10,建議使用具體版本號 5.10.209,內(nèi)核地址為 GitHub-rockchip-linux/kernelatdevelop-5.10;
· 對于 kernel-6.1,建議使用具體版本號 6.1.84;用戶可在內(nèi)核根目錄下的 Makefile 中確認具體版本號。
米爾提供的 Debian&Linux6.1.75 Distribution V1.1.0 對應的雖然不是最推薦的 kernel-6.1.84,但是也是 6.1。即下圖:
米爾提供的 Debian&Linux6.1.75 Distribution V1.1.0 里 04-Sources 的源碼包
· 我們繼續(xù)按照 RKLLM 的指導,進行內(nèi)核的更新。
1. 下載 RK Driver 壓縮包 rknpu_driver_0.9.8_20241009.tar.bz2[6]。
2. 解壓該壓縮包,將其中的 rknpu 驅(qū)動代碼覆蓋到當前內(nèi)核代碼目錄。
· 當前內(nèi)核代碼,由前面 Debian&Linux6.1.75 Distribution V1.1.0 的 04-Sources 目錄下的 MYD-LR3576-Distribution-L6.1.75-V1.1.0.tar.gz 解壓縮得到。
解壓后 Ubuntu 源碼目錄
3. 重新編譯內(nèi)核。根據(jù)米爾文檔指導(MYD-LR3576J-GK Ubuntu 軟件開發(fā)指南-V1.0.pdf),流程如下
分別對 u-boot、kernel、module 三部分編譯,最后編譯成功如下圖所示:
Ubuntu 鏡像編譯成功
· 燒錄部分遵循米爾提供的文檔(MYD-LR3576J-GK Ubuntu 軟件開發(fā)指南-V1.0)第 5 章:燒錄鏡像。
燒錄結(jié)束后,連接筆記本,可以看到如下截圖,進入系統(tǒng)。
刷機完后鏈接開發(fā)板,可以看到 MYIR 漂亮的字體 Logo
使用命令下圖中的命令查看 NPU Driver 版本,符合預期!
自己基于米爾提供的 Ubuntu 源碼更改 NPU Driver 為 0.9.8 后的 NPU Driver版本,符合預期
那么,下面我們就可以正式開始使用 RKLLM !
三、多模態(tài)案例:支持圖像和文本交互
前面我們已經(jīng)介紹了瑞芯微大模型 SDK RKLLM。本節(jié)將會演示實際操作流程,目標是對 Qwen2-VL-3B 多模態(tài)模型進行部署,其中視覺 + 投影組件通過 rknn-toolkit2 導出為 RKNN 模型,LLM 組件通過 rkllm-toolkit 導出為 RKLLM 模型。
在 Qwen2-VL 這類多模態(tài)模型(支持圖像和文本交互)中,“視覺 + 投影”(Vision + Projector)是模型處理圖像輸入的核心組件,作用是將圖像信息轉(zhuǎn)換為模型可理解的特征:
· 視覺組件(Vision):主要負責處理圖像輸入,完成“圖像解析”的功能。它會對輸入的圖像(如后續(xù)示例中的demo.jpg)進行特征提取,將像素級的圖像信息(比如顏色、形狀、物體輪廓等)轉(zhuǎn)換為高維的“圖像特征向量”(一種數(shù)值化的表示)。這一步類似人類“看”到圖像并提取關(guān)鍵信息的過程。
· 投影組件(Projector):多模態(tài)模型需要同時處理圖像和文本,而圖像特征與文本特征的原始格式(如維度、語義空間)可能不同,無法直接融合。投影組件的作用就是“橋梁”:它會將視覺組件輸出的“圖像特征向量”進行轉(zhuǎn)換(投影),映射到與文本特征相同的語義空間中,讓圖像特征和文本特征能夠被模型的后續(xù)模塊(如語言模型 LLM)統(tǒng)一理解和處理。
簡單來說,“視覺 + 投影”組件的整體作用是:把圖像“翻譯”成模型能看懂的“語言”(特征),并確保這種“語言”能和文本的“語言”互通,為后續(xù)的多模態(tài)交互(如圖文問答)打下基礎(chǔ)。在部署時,這兩個組件被打包成 RKNN 模型,適合在 Rockchip 的 NPU(神經(jīng)網(wǎng)絡(luò)處理器)上高效運行,專門處理圖像相關(guān)的計算。
下面,跟著 RKLLM SDK 里多模態(tài)模型例子[7],只給出必要的操作步驟。
步驟 1:環(huán)境準備
安裝必要的 SDK 依賴庫。
步驟 2:模型的獲取、驗證與格式轉(zhuǎn)換
本步驟產(chǎn)物為 rknn 和 rkllm 格式的模型文件。
· qwen2_5_vl_3b_vision_rk3576.rknn
· qwen2.5-vl-3b-w4a16_level1_rk3576.rkllm
操作如下,同官方指導[8]。:
· 先從 huggingface 下載模型如Qwen2-VL-2B-Instruct[9]。驗證模型可用性。在執(zhí)行 python infer.py 時會用到 GPU 進行推理。如果只想跑一下 RK3576 板子上模型性能,也可以跳過這個步驟,下載瑞芯微已經(jīng)轉(zhuǎn)換好的模型[10]:。
· 原始模型轉(zhuǎn)換為 onnx 格式
· 從 onnx 格式轉(zhuǎn)換為 rknn、rkllm 格式
注:我們這一步直接使用瑞芯微提供的 rkllm_model_zoo 里的模型[11]。
步驟 3:修改代碼并交叉編譯可執(zhí)行文件并上傳到板子上
本步驟產(chǎn)物為如下目錄和文件。
操作如下:
修改源碼中的EMBED_SIZE:適配模型
注:我們用的模型是 Qwen2-VL-3B,需要在src/main.cpp和src/img_encoder.cpp中修改EMBED_SIZE為2048。
不同的 Qwen2-VL 模型(2B 和 7B)需要在src/main.cpp和src/img_encoder.cpp中指定IMAGE_HEIGHT、IMAGE_WIDTH及EMBED_SIZE,核心原因是這些參數(shù)與模型的固有結(jié)構(gòu)設(shè)計和輸入處理邏輯強綁定,直接影響特征提取的正確性和數(shù)據(jù)傳遞的一致性。
· EMBED_SIZE(嵌入維度)是模型架構(gòu)的固有參數(shù),由模型的設(shè)計(如隱藏層維度)決定:
· Qwen2-VL-2B 和 7B 屬于不同規(guī)模的模型(參數(shù)數(shù)量不同),其視覺編碼器(Vision + Projector 組件)輸出的圖像特征向量維度不同(2B 為 1536,3B 為 2048,7B 為 3584)。
代碼中img_vec(圖像特征向量)的尺寸依賴EMBED_SIZE計算(如IMAGE_TOKEN_NUM * EMBED_SIZE)。若EMBED_SIZE與模型實際輸出維度不匹配,會因為特征向量內(nèi)存分配錯誤(數(shù)組大小與實際特征維度不符)或者后續(xù) LLM 組件無法正確解析圖像特征,導致推理失敗如 Segmentation Fault[12]:
交叉編譯
假設(shè)當前位于 rknn-llm/examples/Qwen2-VL_Demo/ 目錄下,執(zhí)行
cd deploy
./build-linux.sh
編譯成功,如下所示:
成功交叉編譯多模態(tài)代碼
步驟 4:上傳文件到開發(fā)板
將上一步編譯后的install目錄,以及前面轉(zhuǎn)換模型得到的 rknn 和 rkllm 格式的模型文件通過 U 盤等方式上傳到 RK3576 上。
性能測試 Tips
瑞芯微在 scripts 目錄中提供了一些腳本和參數(shù)設(shè)置:
· 使用 fix_freq_rk3576.sh 鎖定 CPU、GPU、NPU 等設(shè)備頻率,讓測試結(jié)果的性能更加穩(wěn)定。
· 在設(shè)備上執(zhí)行 export RKLLM_LOG_LEVEL=1,以記錄模型推理性能和內(nèi)存使用情況。
· 使用 eval_perf_watch_cpu.sh 可腳本測量 CPU 利用率。
· 使用 eval_perf_watch_npu.sh 可腳本測量 NPU 利用率。
fix_freq_rk3576.sh 腳本會對 NPU、CPU、GPU、DDR 進行鎖頻
多模態(tài)效果演示
為后續(xù)驗證多模態(tài)能力,先展示 RKLLM 的基礎(chǔ)配置及純文字交互測試場景,以下為配置參數(shù)與初始對話片段:
純文字問答能力
因僅是純文字對話沒有圖片,可以執(zhí)行如下命令,
純文字:自我介紹
純文字:能回答哪些問題
純文字:誰是愛因斯坦
純文字執(zhí)行結(jié)果,時長01:59
多模態(tài)問答能力
上述為圖片問答的測試準備與初始提問,下文展示‘RK3576 多模態(tài)圖片問答:
測評圖片1:特征是可愛的二次元藍頭發(fā)女孩,手里拿著米爾 MYIR 開發(fā)板,下方文字寫著:NeuralTalk 公眾號
./demo 最后一個參數(shù)是核數(shù),用于推理時是否考慮多核推理,可選參數(shù)為:2(RKNN_NPU_CORE_0_1)、3(RKNN_NPU_CORE_0_1_2)、其他(RKNN_NPU_CORE_AUTO)。
測評圖片1:描述圖片
測評圖片1:執(zhí)行結(jié)果
下面我們再換一張圖片試試效果!
測試圖片2:圖片背景是賽博風格
測試圖片2:描述圖片
測試圖片2:多模態(tài)能力問答
測試圖片3
下圖展示了測試圖片3運行中的一些性能指標,包括模型初始化時間、不同階段的總時間(Prefill和Generate階段)、Token數(shù)量、Token生成速度,以及峰值內(nèi)存使用量。
測試圖片3:內(nèi)存占用和耗時等
總得來說,模型第一次加載 6 秒鐘,首次出詞語也有體感上的慢,但是這之后速度就很穩(wěn)定,而且很快,純文字的速度更快一些。
結(jié)論
本文圍繞瑞芯微 RK3576 開發(fā)板 NPU 對多模態(tài) LLM 的支撐能力與性能展開測評,全面呈現(xiàn)其在端側(cè) AI 領(lǐng)域的價值。
端側(cè)SLM在延遲、隱私與離線可用性上的優(yōu)勢顯著,而 RK3576 憑借 8nm 制程、6TOPS自研NPU及動態(tài)稀疏化加速引擎,填補了旗艦與主流方案的市場空白。它針對2B-3B參數(shù)級模型專項優(yōu)化,輕量化視覺任務算力利用率提升 18%,NPU功耗降低 22%,30% 的成本優(yōu)勢使其在多場景快速量產(chǎn),中高端市場占有率環(huán)比增長 47%。
技術(shù)落地方面,RKNN 與 RKLLM SDK形成互補生態(tài),RKNN 保障模型兼容性,RKLLM 通過量化優(yōu)化、多模態(tài)支持等降低模型內(nèi)存占用與推理延遲。實測中,RK3576 運行 Qwen2-VL-3B 模型時,純文字交互 Token 生成穩(wěn)定,多模態(tài)問答能精準識別圖像元素,峰值內(nèi)存占用 4.58GB ,在移動終端和工業(yè)場景可靠運行。
本文提供的環(huán)境準備、模型轉(zhuǎn)換、代碼適配等實操步驟,為開發(fā)者提供了可復現(xiàn)的部署方案。RK3576 在多場景展現(xiàn)良好兼容性與穩(wěn)定性,能以低成本實現(xiàn)高準確率任務。
未來,RK3576“算力精準匹配場景”的設(shè)計理念或成中端AIoT核心方向,其在多維度的平衡,為端側(cè)AI部署提供高性價比選擇,助力邊緣計算規(guī)?;瘧?。
RK3576 工作狀態(tài)