LiteRT-LM を使用して NPU で LLM を実行する

Neural Processing Unit(NPU)は、ディープ ラーニング ワークロード用に最適化された専用のハードウェア ブロックを提供します。これらは、特にモバイル デバイスで、最新のシステム オン チップ(SoC)で利用できるようになっています。高性能であるため、LLM 推論の実行に最適です。

LiteRT-LM は、スマートフォンから組み込みシステムまで、幅広いデバイスで言語モデル パイプラインを効率的に実行するように設計された C++ ライブラリです。デベロッパーは、高度な言語モデル ワークフローを作成してデプロイするためのツールを利用できます。NPU とのシームレスな統合も実現しました。

NPU ベンダー

LiteRT-LM は、次のベンダーの NPU アクセラレーションを使用して LLM を実行することをサポートしています。試すベンダーに応じて、次の手順を選択します。

クイック スタート

  1. 前提条件に沿って、環境とリポジトリを設定します。
  2. adb がインストールされ、デバイスが接続されていることを確認します。
  3. クイックスタートlitert_lm_main コマンドライン デモをご覧ください。

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 で実行します。