<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Banana Pi BPI-M7 RK3588開發板運行RKLLM軟件堆AI大模型部署

Banana Pi開源硬件 ? 來源:Banana Pi開源硬件 ? 作者:Banana Pi開源硬件 ? 2024-04-11 17:12 ? 次閱讀

關于Banana Pi BPI-M7

Banana Pi BPI-M7 采用Rockchip RK3588,板載8/16/32G RAM內存和 64/128G eMMC存儲,支持無線wifi6和藍牙5.2。2x2.5G網絡端口,1個HDMIout標準 輸出口,2x USB3.0,2xTYPE-C,2x MIPI CSI接口和1x MIPI DSI接口,1x M.2 KEY M接口,40 PIN GPIO,迷你尺寸僅92x62mm

香蕉派BPI-M7采用睿芯最新旗艦RK3588八核64位處理器,最高頻率為2.4GHz, 6 TOPS NPU,最高內存為32GB。

wKgZomYXqY2APdbwAALT5qEdEtI654.jpg

Banana Pi BPI-M7開源硬件開發板

RKLLM 簡介

RKLLM 軟件堆??梢詭椭脩艨焖賹?AI 模型部署到 Rockchip 芯片上。 整體框架如下:

wKgaomYXqY2AR0OcAAEH5S7a_Pc288.jpg

1.1 RKLLM 工具鏈介紹?

RKLLM-Toolkit 功能介紹?

RKLLM-Toolkit 是為用戶提供在計算機上進行大語言模型的量化、轉換的開發套件。通過該 工具提供的 Python 接口可以便捷地完成以下功能:

  1. 模型轉換:支持將 Hugging Face 格式的大語言模型(Large Language Model, LLM)轉換為 RKLLM 模型,目前支持的模型包括 LLaMA、Qwen/Qwen2、Phi2 等,轉換后的 RKLLM 模型能 夠在 Rockchip NPU 平臺上加載使用。
  2. 量化功能:支持將浮點模型量化為定點模型,目前支持的量化類型包括 w4a16 和 w8a8。

RKLLM Runtime 功能介紹?

RKLLM Runtime 主 要 負 責 加 載 RKLLM-Toolkit 轉換得到的 RKLLM 模型,并在 RK3576/RK3588 板端通過調用 NPU 驅動在 Rockchip NPU 上實現 RKLLM 模型的推理。在推理 RKLLM 模型時,用戶可以自行定義 RKLLM 模型的推理參數設置,定義不同的文本生成方式, 并通過預先定義的回調函數不斷獲得模型的推理結果。

1.2 RKLLM 開發流程介紹?

RKLLM 的整體開發步驟主要分為 2 個部分:模型轉換和板端部署運行。

  1. 模型轉換: 在這一階段,用戶提供的 Hugging Face 格式的大語言模型將會被轉換為 RKLLM 格式, 以便在 Rockchip NPU 平臺上進行高效的推理。這一步驟包括:
  • a. 獲取原始模型:獲取 Hugging Face 格式的大語言模型;或是自行訓練得到的大語言模 型,要求模型保存的結構與 Hugging Face 平臺上的模型結構一致。
  • b. 模型加載:通過 rkllm.load_huggingface()函數加載原始模型。
  • c. 模型量化配置:通過 rkllm.build() 函數構建 RKLLM 模型,在構建過程中可選擇是否 進行模型量化來提高模型部署在硬件上的性能,以及選擇不同的優化等級和量化類型。
  • d. 模型導出:通過 rkllm.export_rkllm() 函數將 RKLLM 模型導出為一個.rkllm 格式文件, 用于后續的部署。
  1. 板端部署運行: 這個階段涵蓋了模型的實際部署和運行。它通常包括以下步驟:
  • a. 模型初始化:加載 RKLLM 模型到 Rockchip NPU 平臺,進行相應的模型參數設置來 定義所需的文本生成方式,并提前定義用于接受實時推理結果的回調函數,進行推理前準備。
  • b. 模型推理:執行推理操作,將輸入數據傳遞給模型并運行模型推理,用戶可以通過預 先定義的回調函數不斷獲取推理結果。
  • c. 模型釋放:在完成推理流程后,釋放模型資源,以便其他任務繼續使用 NPU 的計算 資源。 這兩個步驟構成了完整的 RKLLM 開發流程,確保大語言模型能夠成功轉換、調試,并最終 在 Rockchip NPU 上實現高效部署。

1.3 適用的硬件平臺?

本文檔適用的硬件平臺主要包括:RK3576、RK3588

2. 開發環境準備?

在發布的 RKLLM 工具鏈壓縮文件中,包含了 RKLLM-Toolkit 的 whl 安裝包、RKLLM Runtime 庫的相關文件以及參考示例代碼,具體的文件夾結構如下:

doc
└──Rockchip_RKLLM_SDK_CN.pdf # RKLLM SDK 說明文檔
rkllm-runtime
├──example
│ └── src
│ └── main.cpp
│ └── build-android.sh
│ └── build-linux.sh
│ └── CMakeLists.txt
│ └── Readme.md
├──runtime
│ └── Android
│ └── librkllm_api
│ └──arm64-v8a
│ └── librkllmrt.so # RKLLM Runtime 庫
│ └──include
│ └── rkllm.h # Runtime 頭文件
│ └── Linux
│ └── librkllm_api
│ └──aarch64
│ └── librkllmrt.so
│ └──include
│ └── rkllm.h
rkllm-toolkit
├──examples
│ └── huggingface
│ └── test.py
├──packages
│ └── md5sum.txt 
│ └── rkllm_toolkit-1.0.0-cp38-cp38-linux_x86_64.whl
rknpu-driver
└──rknpu_driver_0.9.6_20240322.tar.bz2

在本章中將會對 RKLLM-Toolkit 工具及 RKLLM Runtime 的安裝進行詳細的介紹,具體的使 用方法請參考第 3 章中的使用說明。

2.1 RKLLM-Toolkit 安裝?

本節主要說明如何通過 pip 方式來安裝 RKLLM-Toolkit,用戶可以參考以下的具體流程說明 完成 RKLLM-Toolkit 工具鏈的安裝。

通過 pip 方式安裝?

安裝 miniforge3 工具?

為防止系統對多個不同版本的 Python 環境的需求,建議使用 miniforge3 管理 Python 環境。 檢查是否安裝 miniforge3 和 conda 版本信息,若已安裝則可省略此小節步驟。

conda -V
# 提示 conda: command not found 則表示未安裝 conda
# 提示 例如版本 conda 23.9.0

下載 miniforge3 安裝包

wget -c https://mirrors.bfsu.edu.cn/github-release/condaforge/miniforge/LatestRelease/Miniforge3-Linux-x86_64.sh

安裝 miniforge3

chmod 777 Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

創建 RKLLM-Toolkit Conda 環境?

進入 Conda base 環境

source ~/miniforge3/bin/activate # miniforge3 為安裝目錄
# (base) xxx@xxx-pc:~$

創建一個 Python3.8 版本(建議版本)名為 RKLLM-Toolkit 的 Conda 環境

conda create -n RKLLM-Toolkit python=3.8

進入 RKLLM-Toolkit Conda 環境

conda activate RKLLM-Toolkit
# (RKLLM-Toolkit) xxx@xxx-pc:~$

安裝 RKLLM-Toolkit?

在 RKLLM-Toolkit Conda 環境下使用 pip 工具直接安裝所提供的工具鏈 whl 包,在安裝過程 中,安裝工具會自動下載 RKLLM-Toolkit 工具所需要的相關依賴包。

pip3 install rkllm_toolkit-1.0.0-cp38-cp38-linux_x86_64.whl

若執行以下命令沒有報錯,則安裝成功。

python
from rkllm.api import RKLLM

2.2 RKLLM Runtime 庫的使用?

在所公開的的 RKLLM 工具鏈文件中,包括包含 RKLLM Runtime 的全部文件:

  • lib/librkllmrt.so: 適用于 RK3576/RK3588 板端調用進行 RKLLM 模型部署推理的 RKLLM Runtime 庫;
  • include/rkllm_api.h: 與 librkllmrt.so 函數庫相對應的頭文件,其中包含相關結構體及 函數定義的說明; 在通過 RKLLM 工具鏈構建 RK3576/RK3588 板端的部署推理代碼時,需要注意對以上頭文 件及函數庫的鏈接,從而保證編譯的正確性。當代碼在 RK3576/RK3588 板端實際運行的過程中, 同樣需要確保以上函數庫文件成功推送至板端,并通過以下環境變量設置完成函數庫的聲明:
ulimit -Sn 50000
export LD_LIBRARY_PATH=./lib
./llm_demo qwen.rkllm

2.3 RKLLM Runtime 的編譯要求?

在使用 RKLLM Runtime 的過程中,需要注意 gcc 編譯器的版本問題。推薦使用交叉編譯工具 gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu;具體的下載路徑為:GCC_10.2 交叉編譯工 具下載地址。

請注意,交叉編譯工具往往向下兼容而無法向上兼容,因此不要使用 10.2 以下的版本。

若是選擇使用 Android 平臺,需要進行 Android 可執行文件的編譯,推薦使用 Android NDK 工具進行交叉編譯,下載路徑為:Android_NDK 交叉編譯工具下載地址,推薦使用 r18b 版本。

具體的編譯方式也可以參考 RKLLM-Toolkit 工具鏈文件中的 example/build_demo.sh。

2.4 芯片內核更新 由于當前公開的固件內核驅動版本不支持 RKLLM 工具,因此需要更新內核。rknpu 驅動包支持兩 個主要內核版本:kernel-5.10 和 kernel-6.1。對于 kernel-5.10,建議使用具體版本號 5.10.198,repo: GitHub - rockchip-linux/kernel at develop-5.10;對于 kernel-6.1,建議使用具體版本號 6.1.57??稍?內核根目錄下的 Makefile 中確認具體版本號。 更新步驟如下: a. 下載壓縮包 rknpu_driver_0.9.6_20240322.tar.bz2。 b. 解壓該壓縮包,將其中的 rknpu 驅動代碼覆蓋到當前內核代碼目錄。 c. 重新編譯內核。 d. 將新編譯的內核燒錄到設備中。

Banana P BPI-M7開發板:https://docs.banana-pi.org/zh/BPI-M7/BananaPi_BPI-M7


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1780

    文章

    44671

    瀏覽量

    231491
  • 開發板
    +關注

    關注

    25

    文章

    4560

    瀏覽量

    94883
  • RK3588
    +關注

    關注

    6

    文章

    243

    瀏覽量

    3614
  • AI大模型
    +關注

    關注

    0

    文章

    249

    瀏覽量

    143
收藏 人收藏

    評論

    相關推薦

    Banana Pi BPI-M7 RK3588開發板運行RKLLM軟件測試

    軟件路由器
    Banana Pi開源硬件
    發布于 :2024年04月11日 17:36:48

    Banana Pi BPI-M7 RK3588開源硬件開發板運行istoreos系統演示 #RK3588

    硬件開發板banana pi
    Banana Pi開源硬件
    發布于 :2023年12月05日 12:03:24

    Banana Pi BPI-M7 迷你尺寸開源硬件開發板采用瑞芯微RK3588芯片設計

    MIPI CSI接口和1x MIPI DSI接口,1x M.2 KEY M接口,40 PIN GPIO,迷你尺寸僅為92x62mm。 Banana Pi
    發表于 11-18 13:51

    迷你尺寸開源硬件開發板Banana Pi BPI-M7 采用瑞芯微RK3588芯片設計

    MIPI CSI接口和1x MIPI DSI接口,1x M.2 KEY M接口,40 PIN GPIO,迷你尺寸僅為92x62mm。Banana Pi
    發表于 11-18 13:49

    Banana Pi BPI-M7迷你尺寸開源硬件開發板采用瑞芯微RK3588芯片設計

    香蕉派BPI-M7采用瑞芯芯片RK3588, 8/16/32G,RAM 64/128G eMMC,支持wifi6。2x2.5G端口,1xHDMIout,2x USB3.0,2xTYPE-C,2x
    的頭像 發表于 11-18 13:46 ?344次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI-M7</b>迷你尺寸開源硬件<b class='flag-5'>開發板</b>采用瑞芯微<b class='flag-5'>RK3588</b>芯片設計

    迅為iTOP-RK3588開發板多屏同顯多屏異顯異觸

    迅為iTOP-RK3588開發板多屏同顯多屏異顯異觸
    的頭像 發表于 11-10 14:46 ?621次閱讀
    迅為iTOP-<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>多屏同顯多屏異顯異觸

    Banana Pi為何選擇rk3588開發與Jetson Nano引腳兼容的嵌入式產品

    引言: 當Banana PI&armsom決定采用RK3588芯片開發一款與Jetson Nano引腳兼容的產品時,這意味著一次重要的技術決策,為
    發表于 11-02 12:30

    Banana Pi BPI-W3 RK3588平臺驅動調試篇 [ PCIE篇二 ] - PCIE的開發指南

    Banana Pi BPI-W3 RK3588平臺驅動調試篇 [ PCIE篇 ] - PCIE的開發指南(二)
    的頭像 發表于 11-02 09:24 ?369次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI</b>-W3 <b class='flag-5'>RK3588</b>平臺驅動調試篇 [ PCIE篇二 ] - PCIE的<b class='flag-5'>開發</b>指南

    Banana Pi BPI-W3 RK3588開發平臺批量產測軟件,全面批量測試

    Banana Pi BPI-W3 RK3588開發平臺批量產測軟件,全面批量測試
    的頭像 發表于 11-02 09:08 ?854次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI</b>-W3 <b class='flag-5'>RK3588</b><b class='flag-5'>開發</b>平臺批量產測<b class='flag-5'>軟件</b>,全面批量測試

    迅為RK3588開發板使用RKNN-Toolkit-lite2運行測試程序

    1 首先也需要部署運行環境,將庫文件放入 RK3588 開發板上,我們將網盤資料“iTOP-3588
    發表于 10-16 11:12

    iTOP-RK3588開發板更新RKNN模型

    章節。 在得到 RKNN 模型之后,demo 程序使用 C 接口在 RK3588 平臺開發應用,如下圖所示, 更多內容:可以B站搜索迅為RK3588
    發表于 09-21 11:39

    讓NPU跑起來iTOP_RK3588開發板在Linux系統中使用NPU

    , 無需進行模型轉換) 2 部署到 iTOP-RK3588 開發板 3 在開發板運行 demo
    發表于 09-12 10:05

    Banana Pi BPI-R2 Pro RK3568開源硬件開發板原理圖

    Banana Pi BPI-R2 Pro RK3568開源硬件開發板原理圖
    發表于 09-04 17:08 ?21次下載

    Banana Pi BPI-W3 RK3588開源硬件開發板DX

    Banana Pi BPI-W3 RK3588開源硬件開發板DXF和原理圖文檔 Banana
    發表于 09-04 16:50 ?18次下載

    Banana Pi BPI-W3 RK3588開源硬件開發板硬件介紹及性能評測

    Banana Pi BPI-W3 的建議零售價為 160 美元,您可以獲得一個涵蓋 RK3588 大部分可能的外設連接的開發系統。目前,
    的頭像 發表于 07-19 18:42 ?858次閱讀
    <b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI</b>-W3 <b class='flag-5'>RK3588</b>開源硬件<b class='flag-5'>開發板</b>硬件介紹及性能評測
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>