神經處理單元 (NPU) 提供專為深度學習工作負載最佳化的專用硬體區塊。這類功能越來越常出現在現代系統單晶片 (SoC) 中,尤其是在行動裝置上。由於效能優異,因此非常適合執行 LLM 推論。
LiteRT-LM 是 C++ 程式庫,旨在於各種裝置 (從手機到嵌入式系統) 上有效執行語言模型管道。這項服務提供開發人員工具,可建立及部署複雜的語言模型工作流程,現在還能完美整合 NPU。
NPU 供應商
LiteRT-LM 支援使用 NPU 加速功能,透過下列供應商執行 LLM。請根據要試用的廠商選擇操作說明:
快速入門
Qualcomm AI Engine Direct
步驟 1:下載 .litertlm 模型
下載與 SoC 相符的 .litertlm (範例如下)。你可以查詢裝置 SoC:
SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_${SOC_MODEL}.litertlm"
| 型號 | SoC | 量化 | 脈絡長度 | 模型大小 (MB) | 下載 |
|---|---|---|---|---|---|
| Gemma3-1B | SM8750 | 每個通道 4 位元 | 1280 | 658 | 下載 |
| Gemma3-1B | SM8650 | 每個通道 4 位元 | 1280 | 658 | 下載 |
| Gemma3-1B | SM8550 | 每個通道 4 位元 | 1280 | 657 | 下載 |
步驟 2:下載並解壓縮 QAIRT 程式庫
下載 QAIRT SDK、解壓縮,然後設定 QAIRT_ROOT:
unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.34.0.250424
步驟 3:建構 LiteRT-LM 執行階段 / 程式庫
安裝 Android NDK r28b 以上版本並建構:
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
步驟 4:在裝置上執行模型
設定裝置路徑並推送資產:
export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER
export MODEL_PATH=<path-to-model.litertlm>
adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm
adb push $QAIRT_ROOT/lib/aarch64-android/* $DEVICE_FOLDER/
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER/
adb shell chmod +x $DEVICE_FOLDER/litert_lm_main
執行作業:
adb shell "cd $DEVICE_FOLDER && \
QAIRT_ROOT=$DEVICE_FOLDER \
./litert_lm_main --model=model.litertlm \
--prompt='Explain the history of LiteRT in 3 bullet points' \
--device=qualcomm_npu --rounds=1"
MediaTek NeuroPilot
步驟總覽
MediaTek 的流程與 Qualcomm 類似:使用為 SoC 建構的 .litertlm、加入 NeuroPilot 執行階段程式庫、建構 litert_lm_main、推送資產,然後使用 --device=mediatek_npu 執行。