无码人妻精品一区二区三区9厂-国产精品人人做人人爽人人添-在线永久免费观看黄网站-国产精品久久久久一区二区三区

中國自動化學會專家咨詢工作委員會指定宣傳媒體
新聞詳情

6TOPS算力驅動30億參數(shù)LLM,米爾RK3576部署端側多模態(tài)多輪對話

http://www.gjzbw99.com 2025-09-04 13:37 來源:米爾電子

GPT-4o 用毫秒級響應處理圖文混合指令、Gemini-1.5-Pro 以百萬 token 上下文 “消化” 長文檔時,行業(yè)的目光正從云端算力競賽轉向一個更實際的命題:如何讓智能 “落地”?—— 擺脫網(wǎng)絡依賴、保護本地隱私、控制硬件成本,讓設備真正具備 “看見并對話” 的離線智能,成為邊緣 AI 突破的核心卡點。

2024 年,隨著邊緣 SoC 算力正式邁入 6 TOPS 門檻,瑞芯微 RK3576 給出了首個可量產(chǎn)的答案:一套完整的多模態(tài)交互對話解決方案。

RK3576 多模態(tài)純文字:自我介紹

如今,“端側能否獨立運行圖文多輪對話” 已不再是技術疑問,而是工程實現(xiàn)問題。RK3576 通過硬件算力優(yōu)化與軟件棧協(xié)同,將視覺編碼、語言推理、對話管理三大核心能力封裝為可落地的工程方案,而本文將聚焦其多輪對話的部署全流程,拆解從模型加載到交互推理的每一個關鍵環(huán)節(jié)。

RK3576 多輪對話:基于歷史回答圖中女孩頭發(fā)和衣服分別是什么顏色

上一次我們詳細講解RK3576上部署多模態(tài)模型的案例,這次將繼續(xù)講解多輪對話的部署流程。整體流程基于 rknn-llm 里的多輪對話案例[1]。

RK3576 工作狀態(tài)

unsetunset本文目錄unsetunset

一、引言

1.1 什么是多輪對話?

1.2 多輪對話系統(tǒng)鳥瞰:三顆核心協(xié)同驅動

1.3 核心邏輯:多輪對話的處理流程

二、工程化落地:從源碼到部署的全流程

2.1 依賴環(huán)境

2.2 一鍵編譯

2.3 端側部署步驟

三、效果展示:圖文多輪問答

四、二次開發(fā)與拓展方向

五、結論與未來發(fā)展方向

unsetunset一、引言unsetunset

1.1 什么是多輪對話?

多輪對話(Multi-Turn Dialogue)是指用戶與智能系統(tǒng)通過多輪交互逐步明確需求、解決問題的對話形式。這種交互依賴對話歷史的上下文連貫性,要求系統(tǒng)能夠動態(tài)理解用戶意圖、維護對話狀態(tài)并生成符合語境的回應。

本質(zhì)是動態(tài)語境下的交互推理,其核心在于通過多輪信息交換逐步明確用戶需求。例如,用戶可能先詢問 “附近有餐廳嗎?”,系統(tǒng)回應后用戶補充 “要適合家庭聚餐的”,系統(tǒng)需結合歷史對話調(diào)整推薦策略。

這種交互模式與單輪問答的區(qū)別在于:

  • 上下文依賴性:每輪對話需關聯(lián)歷史信息(如用戶偏好、已確認的細節(jié))。
  • 狀態(tài)維護:系統(tǒng)需跟蹤對話狀態(tài)(如未完成的信息補全),避免重復詢問或信息遺漏。
  • 動態(tài)意圖調(diào)整:用戶可能在對話中修正或細化需求,系統(tǒng)需實時調(diào)整響應策略

1.2 多輪對話系統(tǒng)鳥瞰:三顆核心協(xié)同驅動

RK3576 多模態(tài)交互對話方案基于 RKLLM 的核心運作,依賴于圖像視覺編碼器、大語言模型與對話管家這三大模塊的協(xié)同配合,三者各司其職、無縫銜接,共同構建起完整的多模態(tài)對話能力。

多輪對話系統(tǒng)架構

1. 圖像視覺編碼器(Vision Encoder

  • 模型選擇:采用 qwen2_5_vl_3b_vision_rk3576.rknn 模型(本文)。
  • 核心作用:將輸入圖像壓縮為視覺 token 256 個視覺 token,直接輸入至大語言模型中,實現(xiàn)圖像信息向語言模型可理解格式的轉換。

2. 大語言模型(LLM Core

  • 模型選擇:搭載 qwen2.5-vl-3b-w4a16_level1_rk3576.rkllm 模型,采用 W4A16 量化方案(本文)。
  • 模型規(guī)模:參數(shù)規(guī)模達 30 億,KV-Cache,為對話推理提供核心的語言理解與生成能力。

3. 對話管家(Dialogue Manager

基于純 C++實現(xiàn),采用單線程事件循環(huán)機制,承擔著對話流程的統(tǒng)籌調(diào)度工作,具體職責包括:

  • 多輪對話的 KV-Cache 維護與手動清除;
  • Prompt 模板的動態(tài)渲染;
  • 用戶輸入的解析處理與推理結果的回顯展示。

1.3 核心邏輯:多輪對話的處理流程

該方案的多模態(tài)多輪對話 demo,整體遵循“模型加載 → 圖片預處理 → 用戶交互 → 推理輸出”的核心流程,支持圖文一體的多模態(tài)對話,適配多輪問答、視覺問答等典型場景。

具體運行機制可拆解為以下步驟:

1. 模型初始化

首先加載大語言模型(LLM),并配置模型路徑、max_new_tokens(生成內(nèi)容最大 token 數(shù))、max_context_len(最大上下文長度)、top_k、特殊 token 等關鍵參數(shù);隨后加載視覺編碼模型(imgenc),為后續(xù)圖片處理做好準備。

RK3576 平臺運行多模態(tài)對話 Demo 的終端日志,顯示視覺與語言模型成功加載,包含模型版本、硬件配置及張量信息,完成多模態(tài)交互前的初始化。

2. 圖片處理與特征提取

讀取輸入圖片后,先將其擴展為正方形并填充背景色以統(tǒng)一尺寸,再調(diào)整至模型要求的 392x392 分辨率,最后送入視覺編碼模型進行處理,生成圖片的 embedding 向量,完成圖像特征的提取。

3. 多輪交互機制

程序會提供預設問題供用戶選擇(官方案例中也有輸入序號,可以快速提問),同時支持用戶自定義輸入,核心交互邏輯通過以下機制實現(xiàn):

  • 上下文記憶
    • 通過設置rkllm_infer_params.keep_history = 1,開啟上下文記憶功能,KV-Cache 在顯存中持續(xù)追加存儲,每輪對話僅計算新增 token,大幅提升推理效率。使模型能關聯(lián)多輪對話內(nèi)容;
    • 若設為 0,則每輪對話獨立,不保留歷史信息,詳見src/main.cpp。
  • 歷史緩存清空:當用戶輸入“clear”時,系統(tǒng)調(diào)用rkllm_clear_kv_cache(llmHandle, 1, nullptr, nullptr),清空模型的 KV 緩存,重置對話上下文。
  • Prompt 工程:動態(tài)定義模型人設:采用三段式 Prompt 模板,通過rkllm_set_chat_template()動態(tài)注入模型,無需重新訓練即可切換人設,支持中英文雙語系統(tǒng)提示。

模板示例如下:

<|im_start|>system
You are a helpful assistant.<|im_end|>
<|im_start|>user
{用戶輸入}<|im_end|>
<|im_start|>assistant

4. 推理與輸出

用戶輸入后,系統(tǒng)先判斷輸入中是否包含<image>標簽:若包含,則將文本與圖片 embedding 結合,啟動多模態(tài)推理;若不包含,則進行純文本推理。組裝輸入結構體并傳遞給模型后,推理結果將實時打印輸出。

5. 退出與資源釋放

支持用戶輸入“exit”退出程序,此時系統(tǒng)會自動銷毀已加載的模型,并釋放占用的硬件資源,確保運行環(huán)境的整潔。

unsetunset二、工程化落地:從源碼到部署的全流程unsetunset

由于先前我們已經(jīng)講過環(huán)境的部署,如刷機、文件準備等,這里步驟只提出比較關鍵的。工程位于:rknn-llm/examples/Multimodal_Interactive_Dialogue_Demo,下面我們來逐步看下操作步驟。

2.1 依賴環(huán)境

方案的編譯與運行需滿足以下依賴條件

  • 圖像處理:OpenCV ≥ 4.5
  • 視覺模型運行:RKNNRT ≥ 1.6
  • 語言模型運行:RKLLMRT ≥ 0.9

2.2 一鍵編譯

針對不同操作系統(tǒng)提供便捷的編譯腳本,我們是 Linux 系統(tǒng)執(zhí)行./build-linux.sh,編譯結果如下:

產(chǎn)物目錄為:

install/demo_Linux_aarch64/
├─ demo        # 主程序可執(zhí)行文件
└─ lib         # 依賴動態(tài)庫

2.3 端側部署步驟

通過 U 盤或者手機將編譯好的產(chǎn)物文件、模型、圖片上傳到開發(fā)板上,然后在多輪對話的實例的目錄下,執(zhí)行以下命令:

cd /data/demo_Linux_aarch64
export LD_LIBRARY_PATH=./lib
./demo demo.jpg vision.rknn llm.rkllm 128 512

其中,部署命令需傳入 5 個核心參數(shù),分別對應:

  • image_path:輸入圖片路徑
  • encoder_model_path:視覺編碼模型路徑
  • llm_model_path:大語言模型路徑
  • max_new_tokens:每輪生成的最大 token 數(shù)(控制回答長度,避免溢出)
  • max_context_len:最大上下文長度(限制歷史對話+當前輸入總長度,防止顯存占用過高)

unsetunset三、效果展示:圖文多輪問答unsetunset

以下面這張圖片作為測試圖片,選擇下面這張圖是因為,有人物、文字、物體、背景等。

測試圖片2:圖片背景是賽博風格

我們依次準備的問題如下:

  1. 這張圖片上有哪些文字信息
  2. 圖中電路板上的字是什么顏色
  3. 圖中女孩頭發(fā)和衣服分別是什么顏色
  4. 圖中動漫角色看起來多大年齡
  5. 圖中背景顏色和女孩眼睛顏色一樣嘛

每輪對話我都有截動態(tài)圖,可以感受下體感速度。

rkllm 模型加載 6.7

視覺編碼 rknn 模型進行處理,生成圖片的 embedding 向量,完成圖像特征的提取,4.5

可以明顯感受到這兩個過程是串行的,如果異步處理可以更快。

多輪對話1:這張圖片上有哪些文字信息

感受一下第一次出詞的耗時

多輪對話1:這張圖片上有哪些文字信息

多輪對話2:圖中電路板上的字是什么顏色

第二次回答就非??欤幸粋€很短暫的等待時間

多輪對話2:圖中電路板上的字是什么顏色

多輪對話3:圖中女孩頭發(fā)和衣服分別是什么顏色

多輪對話3:圖中女孩頭發(fā)和衣服分別是什么顏色,問題基本回答正確,速度和正常閱讀速度差不多

多輪對話3:圖中女孩頭發(fā)和衣服分別是什么顏色

多輪對話4:圖中動漫角色看起來多大年齡

多輪對話4:圖中動漫角色看起來多大年齡

多輪對話4:圖中動漫角色看起來多大年齡

多輪對話5:圖中背景顏色和女孩眼睛顏色一樣嘛

記不住了,因為我們設置的rkllm_infer_params.keep_history = 1

代碼中keep_history = 1是開啟上下文記憶功能,即模型應記住前序對話中的關鍵信息,如 “女孩眼睛顏色”“背景顏色”,而 “記不住” 是記憶功能未生效的表現(xiàn),原因可能除了超過歷史上下文預設的閾值,有時還有可能是因為上下文長度超限(max_context_len=512),或者KV-Cache 清理機制誤觸發(fā)等。

多輪對話5:圖中背景顏色和女孩眼睛顏色一樣嘛

unsetunset四、二次開發(fā)與拓展方向unsetunset

方案具備良好的可擴展性,便于開發(fā)者根據(jù)需求進行二次開發(fā):

  1. 替換視覺骨干:修改image_enc.cc文件,將輸入分辨率調(diào)整為與模型匹配的大小,原因是這些參數(shù)與模型的固有結構設計和輸入處理邏輯強綁定,直接影響特征提取的正確性和數(shù)據(jù)傳遞的一致性。不同的 Qwen2-VL 模型(2B 7B)需要代碼中指定IMAGE_HEIGHT、IMAGE_WIDTHEMBED_SIZE;
  2. 微調(diào) LLM 模型:借助 RKLLM 工具鏈的 LoRA-INT4 量化支持,在 24 GB 顯存的 PC 上,30 分鐘內(nèi)可完成 2 億參數(shù)模型的增量訓練;
  3. 接入語音能力:在main.cpp中集成 VAD(語音活動檢測)+ ASR(語音識別,如 Whisper-Tiny INT8)模塊,將語音轉換為文本后接入現(xiàn)有推理流水線,實現(xiàn)看圖說話+語音問答的融合交互。

unsetunset五、結論與未來發(fā)展方向unsetunset

如果說 “大模型上云” 是 AI 的 “星辰大海”,那么 “多模態(tài)落地端側” 就是 AI 的 “柴米油鹽”—— 后者決定了智能技術能否真正滲透到智能家居、工業(yè)質(zhì)檢、穿戴設備等千萬級場景中。RK3576 的多模態(tài)交互對話方案,其價值遠不止 “實現(xiàn)了一項技術”,更在于提供了一套 “算力適配 - 工程封裝 - 二次拓展” 的端側 AI 落地范式

從技術內(nèi)核看,它通過 “視覺編碼器 + LLM + 對話管家” 的模塊化設計,平衡了推理性能與開發(fā)靈活性W4A16 量化方案讓 30 億參數(shù)模型適配 6 TOPS 算力,KV-Cache 動態(tài)維護實現(xiàn)多輪對話效率躍升,單線程事件循環(huán)降低了資源占用 —— 這些細節(jié)不是技術炫技,而是直擊端側 “算力有限、場景碎片化” 的痛點。從工程落地看,一鍵編譯腳本、清晰的參數(shù)配置、可復現(xiàn)的部署流程,讓開發(fā)者無需深耕底層優(yōu)化即可快速驗證場景,大幅縮短了從技術原型到產(chǎn)品的周期。

展望未來,這套方案的演進將圍繞三個方向深化:

  • 其一,算力效率再突破—— 通過異步模型加載、NPU CPU 協(xié)同調(diào)度,進一步壓縮首輪推理延遲,適配對響應速度敏感的車載、醫(yī)療等場景;
  • 其二,多模態(tài)融合再升級—— 在圖文基礎上集成語音、傳感器數(shù)據(jù),實現(xiàn) + + 感知的跨模態(tài)對話;
  • 其三,生態(tài)適配再拓展—— 支持更多開源多模態(tài)模型的快速移植,形成 芯片 - 工具鏈 - 模型的協(xié)同生態(tài)。

RK3576 證明 “端側能跑好轉好多模態(tài)對話” 時,邊緣 AI 的競爭已從 “能否實現(xiàn)” 轉向 “如何更優(yōu)”。而這套方案的真正意義,在于為行業(yè)提供了一塊 “可復用的基石”—— 讓更多開發(fā)者無需重復造輪子,只需聚焦場景創(chuàng)新,就能讓 “離線智能” 從實驗室走向量產(chǎn)貨架,最終讓 “AI 就在身邊” 成為無需網(wǎng)絡支撐的常態(tài)。

版權所有 工控網(wǎng) Copyright?2025 Gkong.com, All Rights Reserved