LiteRT-LM là một thư viện đa nền tảng đượ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 các 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.
Chạy LLM trên CPU và GPU
Hãy xem kho lưu trữ LiteRT-LM trên GitHub để biết hướng dẫn chi tiết về hoạt động phát triển trên nhiều nền tảng và tính năng tăng tốc phần cứng CPU/GPU.
Chạy LLM trên NPU
Đơ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 hệ thống trên vi mạch (SoC), đặc biệt là trên thiết bị di động. Bản chất hiệu suất cao của chúng khiến chúng rất phù hợp để chạy suy luận LLM.
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ị. - 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 trên mỗi kênh | 1280 | 658 | download |
| Gemma3-1B | SM8650 | 4 bit trên mỗi kênh | 1280 | 658 | download |
| Gemma3-1B | SM8550 | 4 bit trên 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.