Neural Processing Units (NPUs) bieten spezielle Hardwareblöcke, die für Deep-Learning-Arbeitslasten optimiert sind. Sie sind zunehmend in modernen System-on-a-Chip (SoCs) verfügbar, insbesondere auf Mobilgeräten. Aufgrund ihrer hohen Leistung eignen sie sich hervorragend für die Ausführung von LLM-Inferenz.
LiteRT-LM ist eine C++-Bibliothek, die entwickelt wurde, um Sprachmodell-Pipelines effizient auf einer Vielzahl von Geräten auszuführen, von Smartphones bis hin zu eingebetteten Systemen. Es bietet Entwicklern die Tools zum Erstellen und Bereitstellen komplexer Sprachmodell-Workflows, jetzt mit nahtloser NPU-Integration.
NPU-Anbieter
LiteRT-LM unterstützt die Ausführung von LLMs mit NPU-Beschleunigung mit den folgenden Anbietern. Wählen Sie die Anleitung entsprechend dem Anbieter aus, den Sie ausprobieren möchten:
Schnellstart
- Folgen Sie der Anleitung unter Voraussetzungen, um die Umgebung und das Repository einzurichten.
- Prüfen Sie, ob
adbinstalliert und ein Gerät verbunden ist. - Weitere Informationen finden Sie unter Schnelleinstieg und in der
litert_lm_main-Befehlszeilendemo.
Qualcomm AI Engine Direct
Schritt 1:.litertlm-Modell herunterladen
Laden Sie ein .litertlm herunter, das zu Ihrem SoC passt (siehe Beispiele unten). Sie können den SoC Ihres Geräts so abfragen:
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"
| Modell | SoC | Quantisierung | Kontextgröße | Modellgröße (MB) | Herunterladen |
|---|---|---|---|---|---|
| Gemma3-1B | SM8750 | 4 Bit pro Kanal | 1280 | 658 | Herunterladen |
| Gemma3-1B | SM8650 | 4 Bit pro Kanal | 1280 | 658 | Herunterladen |
| Gemma3-1B | SM8550 | 4 Bit pro Kanal | 1280 | 657 | Herunterladen |
Schritt 2:QAIRT-Bibliotheken herunterladen und extrahieren
Laden Sie das QAIRT SDK herunter, entpacken Sie es und legen Sie QAIRT_ROOT fest:
unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.34.0.250424
Schritt 3:LiteRT-LM-Laufzeit / Bibliotheken erstellen
Installieren Sie Android NDK r28b+ und führen Sie den Build aus:
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
Schritt 4:Modell auf dem Gerät ausführen
Gerätepfad festlegen und Assets übertragen:
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
Ausführen:
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
Schritte – Übersicht
Der MediaTek-Ablauf ähnelt dem von Qualcomm: Verwenden Sie ein .litertlm, das für Ihren SoC entwickelt wurde, fügen Sie NeuroPilot-Laufzeitbibliotheken ein, erstellen Sie litert_lm_main, übertragen Sie Assets und führen Sie --device=mediatek_npu aus.