Đơn vị xử lý thần kinh (NPU) cung cấp các khối phần cứng chuyên dụng được tối ưu hoá cho khối lượng công việc học sâu. Chúng ngày càng có nhiều trong các hệ thống hiện đại trên một vi mạch (SoC), đặc biệt là trên thiết bị di động. Nhờ hiệu suất cao, các GPU này rất phù hợp để chạy suy luận LLM.
LiteRT-LM là một thư viện C++ được thiết kế để chạy hiệu quả các quy trình mô hình ngôn ngữ trên nhiều loại thiết bị, từ điện thoại di động đến hệ thống nhúng. Nền tảng này cung cấp cho nhà phát triển các công cụ để tạo và triển khai quy trình mô hình ngôn ngữ phức tạp, hiện có khả năng tích hợp NPU liền mạch.
Nhà cung cấp NPU
LiteRT-LM hỗ trợ chạy LLM bằng cách sử dụng tính năng tăng tốc NPU với các nhà cung cấp sau. Chọn hướng dẫn tuỳ thuộc vào nhà cung cấp mà bạn muốn dùng thử:
Bắt đầu nhanh
- Làm theo phần Điều kiện tiên quyết để thiết lập môi trường và kho lưu trữ.
- Đảm bảo bạn đã cài đặt
adbvà kết nối một thiết bị. - Hãy xem phần Bắt đầu nhanh và
litert_lm_mainbản minh hoạ dòng lệnh.
Qualcomm AI Engine Direct
Bước 1: Tải mô hình .litertlm xuống
Tải .litertlm phù hợp với SoC của bạn (ví dụ bên dưới). Bạn có thể truy vấn SoC của thiết bị:
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"
| Mô hình | SoC | Lượng tử hoá | Kích thước ngữ cảnh | Kích thước mô hình (MB) | Tải xuống |
|---|---|---|---|---|---|
| Gemma3-1B | SM8750 | 4 bit cho mỗi kênh | 1280 | 658 | download |
| Gemma3-1B | SM8650 | 4 bit cho mỗi kênh | 1280 | 658 | download |
| Gemma3-1B | SM8550 | 4 bit cho mỗi kênh | 1280 | 657 | download |
Bước 2: Tải và trích xuất các thư viện QAIRT
Tải QAIRT SDK xuống, giải nén và đặt QAIRT_ROOT:
unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.34.0.250424
Bước 3: Tạo thời gian chạy / thư viện LiteRT-LM
Cài đặt Android NDK r28b trở lên và tạo:
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
Bước 4: Chạy mô hình trên thiết bị
Đặt đường dẫn thiết bị và đẩy các thành phần:
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
Chạy:
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
Tổng quan về các bước
Quy trình của MediaTek tương tự như Qualcomm: sử dụng .litertlm được tạo cho SoC của bạn, bao gồm các thư viện thời gian chạy NeuroPilot, tạo litert_lm_main, đẩy các thành phần và chạy bằng --device=mediatek_npu.