In dieser Anleitung wird der gesamte Prozess der Bereitstellung eines angepassten Gemma-Modells in einer Android-Beispiel-App beschrieben.
In dieser Anleitung werden folgende Schritte ausgeführt:
- Mit einem feinabgestimmten Modell beginnen
- Das feinabgestimmte Modell mit der AI Edge Torch-Bibliothek konvertieren
- Dadurch wird der HuggingFace-Checkpoint in eine .litertlm-Datei konvertiert.
- Qualität des feinabgestimmten Modells bewerten
- Mit den adb-Befehlen das benutzerdefinierte Modell auf ein Testgerät übertragen
- Dadurch wird das Modell im .litertlm-Format zur lokalen Prüfung auf ein Android-Gerät übertragen.
- Die Pirate Gemma-Beispiel-App ausführen
- Dabei wird die LiteRT-LM Kotlin-Bibliothek verwendet, um Inferenzen für das feinabgestimmte Modell in einer Android-Beispiel-App auszuführen.
Schritt 1: Mit einem feinabgestimmten Modell beginnen
In dieser Anleitung beginnen wir mit einem feinabgestimmten Modell. Um einen deutlichen Unterschied zwischen einem Basismodell und einem feinabgestimmten Modell zu zeigen, haben wir ein Gemma270m-Basismodell verwendet und es so feinabgestimmt, dass es wie ein Pirat spricht.
Das vorab feinabgestimmte Pirate Gemma-Modell finden Sie unter https://huggingface.co/erintwalsh/pirate-gemma.
Weitere Informationen zum Feinabstimmen eines Modells finden Sie im Gemma Cookbook und in den Unsloth-Anleitungen.
Schritt 2: Benutzerdefiniertes Modell in der Befehlszeile konvertieren und ausführen
Nachdem Sie ein benutzerdefiniertes Modell auf HuggingFace veröffentlicht haben,
können Sie die AI Edge Torch-Bibliothek verwenden, um dieses
Modell herunterzuladen und in das .litertlm Format zu konvertieren.
Vorbereitung
Stellen Sie sicher, dass das uv-Tool und Python 3.11 oder höher auf Ihrem Gerät installiert sind.
Modell konvertieren
uv tool install litert-torch-nightly
litert-torch export_hf \
--model=[YOUR-HF-USERNAME]/pirate-gemma \
--output_dir=/tmp/pirate-gemma \
--externalize_embedder
Modell lokal ausführen
uv tool install litert-lm
litert-lm run \
/tmp/pirate-gemma/model.litertlm \
--prompt="Where is the nearest buried treasure?"
Schritt 3: Modellqualität bewerten
Qualität der Feinabstimmung bewerten
Sobald Ihr Modell lokal ausgeführt wird, können Sie mit dem AI Edge evaluation CLI-Tool die LiteRT-LM-Modellqualität der Feinabstimmung analysieren. Dieses Tool bietet eine integrierte Validierung der Qualitätsgleichheit nach der Konvertierung zwischen dem ursprünglichen HF-Modell und dem konvertierten LiteRT-LM-Modell mit öffentlichen Datensätzen. Neben öffentlichen Datensätzen können Sie benutzerdefinierte Bewertungsaufgaben mit Ihren eigenen Daten und spezifischen Messwerten erstellen. Hier finden Sie ein Beispiel für eine benutzerdefinierte Aufgabe zur Bewertung dieses feinabgestimmten Modells mit LLM-as-a-Judge.
uv tool install ai-edge-eval
GEMINI_API_KEY="your_actual_api_key_here"
ai_edge_eval \
--framework custom \
--runner litert-lm \
--model-path /path/to/your/model.litertlm \
--custom-tasks-file pirate_gemma_custom_task.py \
--tasks pirate_gemma_eval \
--output-dir /tmp/results
Schritt 4: Lokales Modell auf das Testgerät übertragen
Folgen Sie dieser Anleitung für adb, um das gerade ausgeführte Modell auf Ihr physisches Android-Gerät zu übertragen.
adb shell rm -r /data/local/tmp/llm/ # Remove any previously loaded models
adb shell mkdir -p /data/local/tmp/llm/
adb push /tmp/pirate-gemma/model.litertlm /data/local/tmp/llm/pirate-gemma.litertlm
Schritt 5: Inferenzen für das benutzerdefinierte Modell mit der Captain Gemma-Beispiel-App ausführen
Captain Gemma ist eine App, die die Interaktion mit dem Modell auf dem Gerät demonstriert. Sie finden sie auf GitHub. Klonen Sie das Repository, um sie in Android Studio auszuführen.
Öffnen Sie die Captain Gemma-Beispiel-App und führen Sie sie auf Ihrem Gerät aus. Diese App verwendet Android Compose-Elemente, um zu demonstrieren, wie Inferenzen für ein feinabgestimmtes Modell auf Ihrem Android-Gerät ausgeführt werden. Die App nimmt Texteingaben von einem Nutzer entgegen und gibt die Piratenweisheit des feinabgestimmten Gemma-Modells zurück.
Führen Sie die App auf dem Testgerät aus, auf das Sie gerade die Datei .litertlm übertragen haben. Geben Sie eine Abfrage ein und sehen Sie sich die Ausgabe des Modells im weißen Sprechfeld an.

Beispielcode
Beispiele für das Einrichten Ihres Modells und das Ausführen von Inferenzen mit den LiteRT-LM-APIs finden Sie im Beispielcode von Captain Gemma.
Schritt 6: Modellbereitstellung
Nachdem Sie das lokale Testen Ihres benutzerdefinierten Modells abgeschlossen haben und bereit für die Bereitstellung sind, gibt es verschiedene Optionen für das Hosting Ihres Modells:
- Sie können die Datei
.litertlmin das zuvor erstellte HuggingFace-Modell-Repository übertragen und sie mit den HuggingFace-APIs in Ihrer App herunterladen. - Sie können einen Hostingdienst wie Firebase verwenden, der APIs für Ihre App bereitstellt, mit denen Sie die Modell-URL abrufen und das Modell für Android oder iOS. herunterladen können.