Durch die Feinabstimmung eines generativen KI-Modells wie Gemma wird das Verhalten des Modells geändert. Normalerweise wird Gemma mit dem Ziel optimiert, die Leistung bei einer bestimmten Aufgabe oder in einer bestimmten Domain zu verbessern oder eine Rolle wie den Kundenservice besser zu erfüllen. Gemma-Modelle werden mit offenen Gewichten veröffentlicht. Das bedeutet, dass Sie diese Gewichte ändern können, was das Verhalten des Modells ändert. So stimmen Sie ein Gemma-Modell ab:
Framework auswählen
Gemma-Modelle sind mit einer Vielzahl von Frameworks für die KI-Abstimmung kompatibel. Jedes Framework bietet verschiedene Vorteile und ist in der Regel auf ein bestimmtes Modellformat beschränkt. Hier finden Sie Anleitungen zum Feinabstimmen von Gemma-Modellen mit verschiedenen Frameworks:
- Keras mit LoRA
- Gemma-Bibliothek für JAX
- Hugging Face
- Google Cloud GKE (Multi-GPU mit HF Transformers)
- Google Cloud Vertex AI
- Unsloth
- Axolotl
- Keras mit verteilter Abstimmung
Das Format des Bereitstellungsmodells, z. B. Keras-Format, Safetensors oder GGUF, muss vom ausgewählten Framework als Ausgabe unterstützt werden.
Daten erheben
Für die Modellabstimmung sind Daten erforderlich. Abstimmungsdaten bestehen in der Regel aus Paaren von Eingabedaten mit der erwarteten Antwort. Im Internet sind viele öffentliche Datasets verfügbar, mit denen Sie verschiedene Aufgaben oder Ausgaben trainieren können. Wenn Sie beispielsweise ein Gemma-Modell trainieren möchten, um Beschreibungen von Autoteilen in Teilenummern zu übersetzen, könnte Ihr Dataset Folgendes enthalten:
training_data = [
{"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
{"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
{"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]
Wenn ein Gemma-Modell eine bestimmte Reihe von Aufgaben oder eine bestimmte Rolle ausführen soll, müssen Sie in der Regel ein Dataset mit mehreren Variationen dieser Aufgabe zusammenstellen. Wie viele Daten Sie zum Optimieren eines Modells benötigen, hängt von Ihren Zielen ab. Das gilt insbesondere für die gewünschte Verhaltensänderung des Modells und die gewünschte Leistung des Modells in Bezug auf die zu erledigende Aufgabe und die Variation der Eingabedaten.
Im Allgemeinen sollten Sie mit einer kleinen Menge an Daten für das Aufgaben-Tuning beginnen, die Trainingsparameter anpassen und Daten hinzufügen, bis Sie die Aufgabenleistung erreichen, die Ihren Anforderungen entspricht. Einige unserer Beispielanwendungen zeigen, dass Sie das Verhalten eines Gemma-Modells mit nur 20 Prompt- und Antwortpaaren beeinflussen können. Weitere Informationen finden Sie unter KI-Assistent für geschäftliche E‑Mails mit Gemma erstellen und Aufgaben in gesprochenen Sprachen mit Gemma.
Modell abstimmen und testen
Sobald Sie ein Framework und Daten für die Feinabstimmung haben, können Sie mit der Feinabstimmung des Gemma-Modells beginnen. Beim Optimieren haben Sie mehrere Optionen, die sich auf die Ressourcen auswirken, die Sie dafür benötigen. Außerdem sollten Sie einen Testplan für Ihr optimiertes Modell haben, um zu prüfen, ob es nach der Optimierung wie gewünscht funktioniert.
Parametereffiziente Abstimmung
Wenn Sie ein Modell mit offenen Gewichten wie Gemma abstimmen, haben Sie die Möglichkeit, alle Parameter des Modells abzustimmen oder eine weniger ressourcenintensive, parametereffiziente Abstimmungstechnik zu verwenden, bei der nur eine Teilmenge der Parameter aktualisiert wird. Bei einem vollständigen Tuning-Ansatz werden beim Anwenden der Tuning-Daten neue Gewichte für alle Parameter des Modells berechnet. Dieser Ansatz ist rechen- und speicherintensiv, da Sie diese Berechnungen für Milliarden von Parametern durchführen. Mit weniger ressourcenintensiven Abstimmungsansätzen, dem sogenannten Parameter-Efficient Fine-Tuning (PEFT), einschließlich Techniken wie Low Rank Adapter (LoRA), lassen sich ähnliche Ergebnisse mit weniger Rechenressourcen erzielen. Weitere Informationen zum Optimieren mit weniger Ressourcen mithilfe von LoRA finden Sie unter Gemma-Modelle in Keras mit LoRA optimieren und Gemma-Modelle in Hugging Face optimieren.
Abgestimmte Modelle testen
Nachdem Sie ein Modell für eine bestimmte Aufgabe optimiert haben, sollten Sie seine Leistung anhand der Aufgaben testen, die es ausführen soll. Sie sollten Ihr Modell mit Aufgaben oder Anfragen testen, für die es nicht speziell trainiert wurde. Wie Sie Ihr abgestimmtes Modell testen, hängt von der Aufgabe ab, die es ausführen soll, und davon, wie genau Sie die Ein- und Ausgaben für das Modell verwalten. Eine gängige Methode zum Verwalten von Tests generativer Modelle ist die Verwendung von Erfolgs-, Fehler- und Grenzfalltests:
- Erfolgstests: Anfragen, die das optimierte Modell immer erfolgreich ausführen können sollte.
- Fehlertests: Anfragen, die das optimierte Modell immer nicht ausführen oder explizit ablehnen sollte, wenn es dazu aufgefordert wird.
- Grenztests: Anfragen, die das abgestimmte Modell ausführen können sollte, wenn sie innerhalb einer definierten Grenze oder einer Reihe von Grenzen für akzeptables Ausgabeverhalten liegen.
Beim Testen von Fehler- oder Grenzbedingungen für Ihre generative KI-Anwendung sollten Sie auch die im Responsible Generative AI-Toolkit beschriebenen Ansätze, Techniken und Tools für generative KI anwenden.
Modell bereitstellen
Nachdem Sie die Abstimmung abgeschlossen und die Tests erfolgreich durchgeführt haben, können Sie Ihr Modell bereitstellen. Informationen zum Bereitstellen eines optimierten Modells finden Sie in der Dokumentation des von Ihnen ausgewählten Frameworks.
Wenn Sie ein Modell mit LoRA-abgestimmten Gewichten bereitstellen, beachten Sie, dass Sie bei dieser Technik in der Regel sowohl das ursprüngliche Modell als auch seine Gewichte mit den LoRA-Gewichten als zusätzliche Berechnungsebene für das Modell bereitstellen.