UbiquitousLearning/mllm
Fast Multimodal LLM on Mobile Devices
解決的問題
mllm 是一款專為行動與邊緣裝置設計的快速、輕量級多模態 LLM 推理引擎。它透過提供一個連接高層模型優化演算法與底層硬體加速層的統一框架,解決了在資源有限的硬體上執行大規模多模態模型的挑戰。
工作原理
該引擎作為 AI 推理棧的核心樞紐,將優化技術(如量化、剪枝與投機解碼)與硬體特定執行階段(如 CUDA、CANN 與 MLIR)連接起來。它使用 mllm-convertor 來攝取 PyTorch 與 SafeTensors 模型,並將其轉換為專有的 mllm 格式進行執行。
關鍵技術實現包括:
- 硬體後端:支援 Arm CPU、OpenCL GPU、QNN NPU 與 Ascend NPU。
- Android 架構:採用使用應用內 Go 伺服器 (
mllm_server.aar) 的用戶端-伺服器設計,實現 UI 與沉重推理運算的解耦。 - 圖提取:透過
traceAPI 將動態模型執行轉換為優化的靜態計算圖,以實現更好的序列化與部署。 - 優化:支援包括 W4A16 與 W8A8 在內的多種量化路徑,並針對 Jetson Orin 進行了特定優化(使用 AWQ 與 Marlin GEMM)。
適用對象
需要以高吞吐量與低延遲執行多模態模型的邊緣裝置、Android 智慧型手機與嵌入式系統(如 NVIDIA Jetson)的開發者與工程師。
亮點
- 廣泛的硬體支援:可在 Arm CPU、OpenCL GPU 以及來自 Qualcomm (QNN) 與 Huawei (Ascend) 的 NPU 上執行。
- 邊緣端高性能:在 AGX Orin 32GB 上,Qwen3-VL-2B W8A8 的 prefill 速度比 llama.cpp 快達 3.12 倍。
- Pythonic 模型編寫:提供用於快速模型開發與實作的高層 API。
- 豐富的模型庫:支援包括 Qwen 系列、LLaMA、DeepSeek-OCR 與 Phi-3-Vision 在內的廣泛模型。
相關
- 專案
- 專案
- 專案
- 專案
- 專案