Durch die Feinabstimmung eines generativen KI-Modells wie Gemma wird das Verhalten des Modells geändert. Sie optimieren Gemma in der Regel, um ihre Leistung bei einer bestimmten Aufgabe oder 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 sich dann auf das Verhalten des Modells auswirkt. So optimieren Sie ein Gemma-Modell:
Framework auswählen
Gemma-Modelle sind mit einer Vielzahl von KI-Optimierungs-Frameworks kompatibel. Jedes Framework bietet verschiedene Vorteile und ist in der Regel auf ein bestimmtes Modellformat beschränkt. Hier finden Sie Anleitungen zum Optimieren von Gemma-Modellen mit verschiedenen Frameworks:
- Keras mit LoRA
- Gemma-Bibliothek für JAX
- Hugging Face
- Google Cloud GKE (Mehrere GPUs mit HF-Transformatoren)
- Unsloth
- Axolotl
- Keras mit verteilter Abstimmung
Das von Ihnen für die Bereitstellung vorgesehene Modellformat, 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. Tuning-Daten bestehen in der Regel aus Paaren von Eingabedaten mit der erwarteten Antwort. Es gibt viele öffentliche Datasets, die online für das Training für verschiedene Aufgaben oder Ausgabeformate verfügbar sind. Wenn Sie beispielsweise ein Gemma-Modell trainieren möchten, um Beschreibungen von Autoteilen in Teilenummern umzuwandeln, könnte Ihr Datensatz 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 Sie möchten, dass ein Gemma-Modell eine bestimmte Aufgabe oder Rolle ausführt, müssen Sie in der Regel einen Datensatz mit mehreren Varianten dieser Aufgabe zusammenstellen. Wie viele Daten Sie zum Optimieren eines Modells benötigen, hängt von Ihren Zielen ab, insbesondere davon, wie stark sich das Modell auf das Verhalten auswirken soll und wie gut es die zu erledigende Aufgabe erfüllen soll. Dabei spielen auch die Vielfalt der Eingabedaten eine Rolle.
Im Allgemeinen sollten Sie mit einer kleinen Menge an Daten für die Aufgabenoptimierung beginnen, die Trainingsparameter anpassen und Daten hinzufügen, bis Sie die gewünschte Aufgabenleistung erzielen. 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 Mit Gemma einen KI-Assistenten für geschäftliche E-Mails erstellen und Aufgaben in gesprochenen Sprachen mit Gemma erledigen.
Modell optimieren und testen
Sobald Sie ein Framework und Daten für die Optimierung haben, können Sie mit der Optimierung des Gemma-Modells beginnen. Bei der Optimierung haben Sie einige Möglichkeiten, die sich auf die erforderlichen Ressourcen auswirken. Außerdem sollten Sie einen Testplan für Ihr optimiertes Modell haben, um zu prüfen, ob es nach der Optimierung die gewünschte Leistung erzielt.
Parametereffiziente Abstimmung
Wenn Sie ein Modell mit offenen Gewichten wie Gemma optimieren, haben Sie die Möglichkeit, alle Parameter des Modells zu optimieren oder eine weniger ressourcenintensive Methode zur effizienten Parameteroptimierung zu verwenden, bei der nur ein Teil davon aktualisiert wird. Bei einer vollständigen Optimierung werden beim Anwenden der Optimierungsdaten neue Gewichte für alle Parameter des Modells berechnet. Dieser Ansatz ist rechen- und speicherintensiv, da diese Berechnungen für Milliarden von Parametern durchgeführt werden. Mit weniger ressourcenintensiven Tuning-Ansätzen, die als Parameter Efficient Fine Tuning (PEFT) bezeichnet werden, einschließlich Methoden wie der Low Rank Adaptation (LoRA), können ähnliche Ergebnisse mit weniger Rechenressourcen erzielt werden. Weitere Informationen dazu, wie Sie mit LoRA die Abstimmung mit weniger Ressourcen durchführen, finden Sie unter Gemma-Modelle in Keras mit LoRA optimieren und Gemma-Modelle in Hugging Face optimieren.
Optimierte 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 optimiertes Modell testen, hängt davon ab, welche Aufgabe es ausführen soll und wie genau Sie die Eingaben und Ausgaben für das Modell verwalten. Eine gängige Methode zur Verwaltung von Tests generativer Modelle besteht darin, Erfolgs-, Fehler- und Grenzfälle zu verwenden:
- Erfolgstests: Anfragen, die das optimierte Modell immer erfolgreich ausführen sollte.
- Fehlertests: Das optimierte Modell soll bestimmte Anfragen immer nicht ausführen können oder die Ausführung ausdrücklich ablehnen.
- Grenztests: Anfragen, die das optimierte Modell ausführen können sollte, wenn sie innerhalb einer oder mehrerer definierter Grenzen für ein akzeptables Ausgabeverhalten liegen.
Wenn Sie Fehler- oder Grenzbedingungen für Ihre generative KI-Anwendung testen, sollten Sie auch die Sicherheitsansätze, -techniken und -tools für generative KI anwenden, die im Responsible Generative AI Toolkit beschrieben sind.
Modell bereitstellen
Nachdem Sie die Optimierung abgeschlossen und die Tests erfolgreich durchgeführt haben, ist es an der Zeit, Ihr Modell bereitzustellen. Informationen zum Bereitstellen eines optimierten Modells finden Sie in der Regel in der Dokumentation des ausgewählten Frameworks.
Wenn Sie ein Modell mit LoRA-optimierten Gewichten bereitstellen, beachten Sie, dass Sie mit dieser Methode in der Regel sowohl das ursprüngliche Modell als auch seine Gewichte mit den LoRA-Gewichten als zusätzliche Berechnungsschicht für das Modell bereitstellen.