신경망 처리 장치 (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로 실행합니다.