LiteRT-LM ist eine plattformübergreifende Bibliothek, die entwickelt wurde, um Pipelines für Sprachmodelle 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.
LLMs auf CPU und GPU ausführen
Eine detaillierte Anleitung zur plattformübergreifenden Entwicklung und zur Hardwarebeschleunigung von CPUs/GPUs finden Sie im GitHub-Repository für LiteRT-LM.
LLMs auf der NPU ausführen
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.
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 in der Kurzanleitung 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.