1. Hinweis
Einer der interessantesten Durchbrüche im Bereich des maschinellen Lernens sind die 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, um statistische Muster und Beziehungen zwischen Wörtern und Wortgruppen zu erlernen. Auf diese Weise können sie Text generieren, der einem von Menschen geschriebenen Text ähnelt, und Sprachen mit hoher Genauigkeit übersetzen.
LLMs haben einen sehr großen Speicherplatz und benötigen in der Regel viel Rechenleistung. Das bedeutet, dass sie in der Regel in der Cloud bereitgestellt werden und für On-Device-Machine-Learning (ODML) aufgrund der begrenzten Rechenleistung auf Mobilgeräten eine ziemliche Herausforderung darstellen. Es ist jedoch möglich, kleinere LLMs (z. B. GPT-2) auf einem modernen Android-Gerät auszuführen und dennoch beeindruckende Ergebnisse zu erzielen.
In dieser Demo wird eine Version des PaLM-Modells von Google mit 1,5 Milliarden Parametern auf Google Pixel 7 Pro ohne Wiedergabegeschwindigkeit ausgeführt.
In diesem Codelab lernen Sie die Techniken und Tools zum Erstellen einer LLM-basierten App mit GPT-2 als Beispielmodell kennen. Dabei lernen Sie Folgendes:
- KerasNLP zum Laden eines vortrainierten LLM
- KerasNLP zur Feinabstimmung eines LLM
- TensorFlow Lite zum Konvertieren, Optimieren und Bereitstellen des LLM unter Android
Vorbereitung
- Fortgeschrittene Kenntnisse über Keras und TensorFlow Lite
- Grundkenntnisse in der Android-Entwicklung
Lerninhalte
- Mit KerasNLP ein vortrainiertes LLM laden und optimieren
- LLM quantisieren und in TensorFlow Lite umwandeln
- Inferenzen für das konvertierte TensorFlow Lite-Modell ausführen
Voraussetzungen
- Zugriff auf Colab
- Die neueste 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 für dieses Codelab das GitHub-Repository auf.
- Klicken Sie auf Code > Lade eine ZIP-Datei herunter, um den gesamten Code für dieses Codelab herunterzuladen.
- Entpacke die heruntergeladene ZIP-Datei, um einen
examples
-Stammordner mit allen benötigten Ressourcen zu entpacken.
3. Start-App ausführen
- Ordner „
examples/lite/examples/generative_ai/android
“ in Android Studio importieren. - Starten Sie den Android-Emulator und klicken Sie dann im Navigationsmenü auf Ausführen.
App ausführen und kennenlernen
Die App sollte auf deinem Android-Gerät gestartet werden. Die App heißt „Automatische Vervollständigung“. Die Benutzeroberfläche ist ziemlich 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 zusätzlichen Text basierend auf Ihrer Eingabe.
Wenn Sie jetzt nach der Eingabe einiger Wörter auf Erstellen tippen, passiert nichts. Das liegt daran, dass dort noch kein LLM ausgeführt wird.
4. LLM für die Bereitstellung auf dem Gerät vorbereiten
- Öffnen Sie Colab und führen Sie es im Notebook aus, das im GitHub-Repository für TensorFlow Codelabs gehostet wird.
5. Schließe die Android-App ab
Nachdem Sie das GPT-2-Modell in TensorFlow Lite konvertiert haben, können Sie es endlich 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 Anwendung geladen wurde.
- Geben Sie einige Ausgangswörter in das Textfeld ein und tippen Sie dann auf Generieren.
6. Hinweise zu Responsible AI
Wie in der ursprünglichen Ankündigung zu OpenAI GPT-2 erwähnt, gibt es beim GPT-2-Modell wichtige Einschränkungen und Einschränkungen. Tatsächlich haben LLMs heutzutage in der Regel einige bekannte Herausforderungen wie Halluzinationen, anstößige Ergebnisse, Fairness und Voreingenommenheit. Das liegt daran, dass diese Modelle mit realen Daten trainiert werden, sodass sie reale Probleme widerspiegeln.
In diesem Codelab wird nur gezeigt, wie Sie mit TensorFlow-Tools eine auf LLMs unterstützte Anwendung erstellen. Das in diesem Codelab erstellte Modell dient nur zu Informationszwecken und ist nicht für die Verwendung in einer Produktionsumgebung bestimmt.
Die LLM-Produktionsumgebung erfordert eine sorgfältige Auswahl von Trainings-Datasets und umfassende Sicherheitsmaßnahmen. Wenn Sie mehr über Responsible AI im Kontext von LLMs erfahren möchten, sollten Sie sich die technische Veranstaltung Safe and Responsible Development with Generative Language Models bei der Google I/O 2023 sowie das Toolkit für Responsible AI ansehen.
7. Fazit
Glückwunsch! Sie haben eine App erstellt, um basierend auf Nutzereingaben kohärenten Text zu generieren, indem Sie ein vortrainiertes Large Language Model ausschließlich auf dem Gerät ausführen.