OrangePi(香橙派)5 Max(四):本機執行RKLLM格式的大語言模型(LLM)

本文的OrangePi 5 Max開發板由Orange Pi的Nova和Steve贊助提供,特此感謝!

2025年七月中旬,Rockchip(瑞芯微)在開發者大會發布了一些新產品,包括:內建8核心Arm Cortex-A730 + 4核心A530 處理器、32 TOPS NPU(神經網路處理單元)的RK3688系統單晶片(SoC),以及RISC-V架構、支援高達7B參數(INT4 / FP4)的大型語言模型(LLM)推理的協同處理器RK1828

根據CNX-Software的這篇新聞報導,RK1828具備PCIe 2.0、USB 3.0及乙太網路介面,可連接現有的Rockchip RK3576/RK3588等系統單晶片與其他處理器,其配套的軟體開發套件為RKNN3,支援PyTorch, ONNX, TensorFlow等框架,以及HuggingFace的GGUF格式。瑞芯微宣稱,搭載5GB記憶體的RK1828,將提供8~10倍於RK3588內建NPU的推論性能。很期待在低功耗的開發板看到100 token/s以上的文本生成速度。

在香橙派執行大型語言模型(LLM)

西班牙的Ángel Hurtado Flores (Pelochus) 基於瑞芯微的RKNN-LLMRKNN-Toolkit2開源專案,編寫了一個能在Rockchip系統單晶片(目前聚焦於RK3588)簡單佈署大型語言模型(LLM)應用的開源程式,稱作“ezrknpu”。

我使用它在香橙派5 Max上測試gemma3:1b語言模型,效能比Ollama(在不支援GPU的電腦上,僅用CPU運算)快了一倍,可達15.67 token/s(實際狀況依提示詞與生成內容而有所差異)。

編譯系統核心(kernel)升級Rockchip晶片的RKNPU驅動程式

Rockchip系統單晶片NPU的驅動程式叫做RKNPU,執行RKNN-LLM程式庫要求RKNPU版本 ≥ 0.9.6,ezrknpu套件建議 ≥ 0.9.8。

在終端機執行底下命令可檢查RKNPU驅動程式版本:

sudo cat /sys/kernel/debug/rknpu/version

我的系統顯示v0.9.6,因此需要升級,這意味著重新編譯與更新系統核心(Kernel)。

編譯系統核心的步驟如下:

1. 安裝必要的程式編譯工具。以下操作都假設是在使用者家目錄路徑執行。

sudo apt-get update
sudo apt-get install -y git  build-essential

2. 下載開發板的程式開發套件(SDK)。先把香橙派的SDK資源從這個Github網址複製(clone)到本機:

git clone  https://github.com/orangepi-xunlong/orangepi-build.git

SDK將被下載到這個路徑:

~/orangepi-build

3. 執行該路徑底下的build.sh檔,即可開始編譯:

sudo ~/orangepi-build/build.sh

4. 過一會兒,終端機將出現如下的選單畫面,本例是編譯核心,因此(用上、下方向鍵)選擇“Kernel package”,然後按下Enter鍵確認。

編譯設置畫面

5. 底下的選項畫面,通常只要選擇第一個,也就是「不要改變核心設置」。選擇第二個選項,可查看並(必要時)調整設置。筆者選擇第二個選項,按下Enter鍵確認。

編譯設置畫面

6. 底下畫面讓我們選擇開發板類型,筆者選擇Orange Pi 5 Max (16GB RAM),按下Enter鍵確認。

編譯設置畫面

7. 底下畫面,選擇第一個選項,代表採用支援度最高的推薦設置,按下Enter鍵確認。

編譯設置畫面

8. 底下畫面顯示預設的核心設置(因為在步驟5選擇了第二個選項),按「下」方向鍵,選擇Device Drivers(裝置驅動程式),按下Enter鍵確認。

編譯設置畫面

9. 底下畫面顯示全部可用的裝置驅動程式,按「下」方向鍵,選擇RKNPU,按下Enter鍵確認。

編譯設置畫面

10. 底下畫面第一個選項前面的 “*” 代表這個驅動程式將會被編譯到核心。

編譯設置畫面

確認預設會安裝RKNPU驅動程式後,按兩下ESC鍵,退出目前的畫面,持續按兩下ESC直到整個選單畫面關閉,它將開始下載、編譯指定開發板的核心與驅動程式原始碼(存入”~/orangepi-build”路徑)。視網路速度,整個過程只需花費數分鐘(下圖顯示8分鐘)。

編譯完成後,它將顯示檔案的存放路徑和檔名:

檔案的存放路徑和檔名

11. 執行dpkg -i命令安裝新編譯完成的系統核心:

sudo dpkg -i  ~/orangepi-build/output/debs/linux-image-current-rockchip-rk3588_1.0.0_arm64.deb

12. 重新開機:

sudo reboot

再次確認RKNPU的版本:

sudo cat /sys/kernel/debug/rknpu/version

結果顯示是最新版:RKNPU driver: v0.9.8

安裝ezrknpu在本機執行LLM

在終端機執行底下命令,即可下載、編譯與安裝在本機執行LLM所需的rkllm程式(按下Enter鍵後,請輸入開發板的系統管理員密碼):

curl  https://raw.githubusercontent.com/Pelochus/ezrknpu/main/install.sh | sudo bash -llm

下載RKLLM格式的gemma3:1b語言模型檔

RKNPU程式採用.rkllm格式的語言模型檔,“ezrknpu”專案頁面收集了一些提供已轉換.rkllm格式的語言模型的下載網頁,例如,Slawomir Gajowniczek提供了常見的DeepSeek R1, DeepCoder, Mistral-Small, Qwen2.5, Phi-4, Llama, Gemma…等。

我測試了其中的gemma3:1b,這個RKLLM版本對繁體中文的支援欠佳,直接用繁體中文提問,回覆的中文部分都是亂碼;用英文提問,請它用繁體中文回答,回覆內容幾乎都是簡體中文。

我目前使用的gemma3:1b是Prem Swarup轉換的版本。在終端機執行底下命令即可下載此模型檔:

wget  https://huggingface.co/Prem-S/Gemma-3-1B-rkllm/resolve/main/gemma-3-1b-it_w8a8.rkllm

最後,執行底下命令,啟動gemma3:1b語言模型,在RK3588開發板,回覆與接收的詞元數不建議超過2048。

rkllm命令

當終端機出現“You: ”提示時,你就可以輸入提示詞。若要退出,請輸入“exit”或“quit”,或者按下Ctrl+C鍵。

輸入提示詞

Posts created 529

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top