1. Hinweis
Einer der spannendsten Durchbrüche im Bereich des maschinellen Lernens in letzter Zeit sind Large Language Models (LLMs). Sie können verwendet werden, um Text zu generieren, Sprachen zu übersetzen und Fragen umfassend und informativ zu beantworten. LLMs wie LaMDA und PaLM von Google werden mit riesigen Mengen an Textdaten trainiert, wodurch sie die statistischen Muster und Beziehungen zwischen Wörtern und Formulierungen lernen können. So können sie Text generieren, der von Menschen geschriebenen Text ähnelt, und Sprachen mit hoher Genauigkeit übersetzen.
LLMs sind sehr speicherintensiv und benötigen in der Regel viel Rechenleistung. Daher werden sie meist in der Cloud bereitgestellt. Aufgrund der begrenzten Rechenleistung auf Mobilgeräten sind sie für On-Device Machine Learning (ODML) eine große Herausforderung. Es ist jedoch möglich, LLMs kleineren Umfangs (z. B. GPT-2) auf einem modernen Android-Gerät auszuführen und trotzdem beeindruckende Ergebnisse zu erzielen.
Hier sehen Sie eine Demo, in der eine Version des Google PaLM-Modells mit 1,5 Milliarden Parametern auf dem Google Pixel 7 Pro ohne Wiedergabegeschwindigkeitserhöhung ausgeführt wird.
In diesem Codelab lernen Sie die Techniken und Tools kennen, mit denen Sie eine LLM-basierte App (mit GPT-2 als Beispielmodell) mit Folgendem erstellen können:
- KerasNLP zum Laden eines vortrainierten LLM
- KerasNLP zum Optimieren eines LLM
- TensorFlow Lite zum Konvertieren, Optimieren und Bereitstellen des LLM auf Android
Vorbereitung
- Mittelstufe Kenntnisse von Keras und TensorFlow Lite
- Grundkenntnisse in der Android-Entwicklung
Lerninhalte
- Vortrainiertes LLM mit KerasNLP laden und abstimmen
- LLM quantisieren und in TensorFlow Lite konvertieren
- Inferenz für das konvertierte TensorFlow Lite-Modell ausführen
Voraussetzungen
- Zugriff auf Colab
- Die aktuelle Version von Android Studio
- Ein modernes Android-Gerät mit mehr als 4 GB RAM
2. Einrichten
So laden Sie den Code für dieses Codelab herunter:
- Rufen Sie das GitHub-Repository für dieses Codelab auf.
- Klicken Sie auf Code > Download zip, um den gesamten Code für dieses Codelab herunterzuladen.
- Entpacken Sie die heruntergeladene ZIP-Datei, um einen
examples
-Stammordner mit allen benötigten Ressourcen zu entpacken.
3. Start-App ausführen
- Importieren Sie den Ordner
examples/lite/examples/generative_ai/android
in Android Studio. - Starten Sie den Android-Emulator und klicken Sie dann im Navigationsmenü auf
Ausführen.
App ausführen und ausprobieren
Die App sollte auf Ihrem Android-Gerät gestartet werden. Die App heißt „Auto-complete“. Die Benutzeroberfläche ist ganz einfach: Sie können einige Ausgangswörter in das Textfeld eingeben und auf Generieren tippen. Die App führt dann eine Inferenz auf einem LLM aus und generiert basierend auf Ihrer Eingabe zusätzlichen Text.
Wenn Sie jetzt nach der Eingabe einiger Wörter auf Generieren tippen, passiert nichts. Das liegt daran, dass noch kein LLM ausgeführt wird.
4. LLM für die On-Device-Bereitstellung vorbereiten
- Öffnen Sie Colab und arbeiten Sie das Notebook durch, das im GitHub-Repository für TensorFlow-Codelabs gehostet wird.
5. Android-App fertigstellen
Nachdem Sie das GPT-2-Modell in TensorFlow Lite konvertiert haben, können Sie es in der App bereitstellen.
Anwendung ausführen
- Ziehen Sie die im letzten Schritt heruntergeladene Modelldatei
autocomplete.tflite
in den Ordnerapp/src/main/assets/
in Android Studio.
- Klicken Sie im Navigationsmenü auf
Ausführen und warten Sie, bis die App geladen ist.
- Geben Sie einige Ausgangswörter in das Textfeld ein und tippen Sie dann auf Generieren.
6. Hinweise zur verantwortungsbewussten Anwendung von KI
Wie in der ursprünglichen OpenAI GPT-2-Ankündigung erwähnt, gibt es wichtige Einschränkungen des GPT-2-Modells. Tatsächlich haben LLMs heute einige bekannte Probleme wie Halluzinationen, anstößige Ausgaben, Fairness und Bias. Das liegt daran, dass diese Modelle mit realen Daten trainiert werden, die Probleme aus der realen Welt widerspiegeln.
Dieses Codelab wurde nur erstellt, um zu demonstrieren, wie Sie eine App mit LLMs und TensorFlow-Tools erstellen. Das in diesem Codelab erstellte Modell dient nur zu Schulungszwecken und ist nicht für die Produktion vorgesehen.
Für die Produktionsnutzung von LLMs ist eine sorgfältige Auswahl der Trainings-Datasets und umfassende Sicherheitsmaßnahmen erforderlich. Weitere Informationen zu verantwortungsbewusster KI im Zusammenhang mit LLMs finden Sie in der technischen Sitzung Safe and Responsible Development with Generative Language Models auf der Google I/O 2023 und im Toolkit für verantwortungsbewusste KI.
7. Fazit
Glückwunsch! Sie haben eine App entwickelt, die auf Grundlage von Nutzereingaben kohärenten Text generiert, indem sie ein vortrainiertes Large Language Model rein auf dem Gerät ausführt.