Lernprogramm: Erstellen und Bereitstellen einer Foundation Model Fine-Tuning-Ausführung
Wichtig
Dieses Feature ist in den folgenden Regionen als Public Preview verfügbar: centralus
, eastus
, eastus2
, northcentralus
und westus
.
In diesem Artikel wird beschrieben, wie Sie eine Ausführung mit der Foundation Model Fine-Tuning-API (jetzt Teil der Mosaik AI Model Training) erstellen und konfigurieren und dann die Ergebnisse überprüfen und das Modell mithilfe der Databricks UI und Mosaik AI Model Serving bereitstellen.
Anforderungen
- Ein Arbeitsbereich in einer der folgenden Azure-Regionen:
centralus
,eastus
,eastus2
,northcentralus
,westcentralus
,westus
,westus3
. - Databricks Runtime 12.2 LTS ML oder höher.
- Dieses Tutorial muss in einem Databricks-Notebook ausgeführt werden.
- Trainingsdaten im akzeptierten Format. Weitere Informationen finden Sie unter Vorbereiten von Daten für die Feinabstimmung des Foundation-Modells.
Schritt 1: Vorbereiten Ihrer Daten für das Training
Weitere Informationen finden Sie unter Vorbereiten von Daten für die Feinabstimmung des Foundation-Modells.
Schritt 2: Installieren des databricks_genai
SDKs
Verwenden Sie Folgendes, um das databricks_genai
SDK zu installieren.
%pip install databricks_genai
Importieren Sie anschließend die foundation_model
-Bibliothek:
dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm
Schritt 3: Erstellen einer Trainingsausführung
Erstellen Sie einen Schulungslauf mit der Foundation Model Fine-Tuning-Funktion create()
. Folgende Parameter sind erforderlich:
model
: das Modell, das Sie trainieren möchten.train_data_path
: der Speicherort des Trainingsdatensatzes.register_to
: der Unity Catalog-Katalog und das Schema, in dem Prüfpunkte gespeichert werden sollen.
Zum Beispiel:
run = fm.create(model='meta-llama/Meta-Llama-3.1-8B-Instruct',
train_data_path='dbfs:/Volumes/main/my-directory/ift/train.jsonl', # UC Volume with JSONL formatted data
register_to='main.my-directory',
training_duration='1ep')
run
Schritt 4: Anzeigen des Ausführungsstatus
Die Zeit für den Abschluss einer Trainingsausführung hängt von der Anzahl der Token, des Modells und der GPU-Verfügbarkeit ab. Für ein schnelleres Training empfiehlt Databricks, reservierte Compute zu verwenden. Wenden Sie sich für Details an Ihr Databricks-Kontoteam.
Nachdem Sie die Ausführung gestartet haben, können Sie den Status der Ausführung mit get_events()
überwachen.
run.get_events()
Schritt 5: Anzeigen von Metriken und Ausgaben
Führen Sie die folgenden Schritte aus, um die Ergebnisse in der Databricks-Benutzeroberfläche anzuzeigen:
- Klicken Sie im Arbeitsbereich „Databricks“ auf Experimente in der linken Navigationsleiste.
- Wählen Sie Ihr Experiment aus der Liste aus.
- Überprüfen Sie die Metrikdiagramme auf der Registerkarte Diagramme. Trainingsmetriken werden für jede Trainingsausführung generiert. Auswertungsmetriken werden nur generiert, wenn ein Auswertungsdatenpfad angegeben ist.
- Die primäre Trainingsmetrik, die zeigt, dass der Fortschritt verloren geht. Auswertungsverluste können verwendet werden, um festzustellen, ob sich Ihr Modell zu stark an Ihre Trainingsdaten anpasst. Allerdings sollte Sie sich nicht ausschließlich auf den Verlust verlassen, denn bei überwachten Trainingsaufgaben kann der Bewertungsverlust als Überanpassung erscheinen, während sich das Modell weiter verbessert.
- Je höher die Genauigkeit, desto besser ist Ihr Modell, aber denken Sie daran, dass eine Genauigkeit von nahezu 100 % eine Überanpassung bedeuten kann.
- Die folgenden Metriken werden nach der Ausführung im MLflow angezeigt:
LanguageCrossEntropy
berechnet Kreuzentropie in Sprachmodellierungsausgaben. Ein niedrigerer Score ist besser.LanguagePerplexity
misst, wie gut ein Sprachmodell das nächste Wort oder Zeichen in einem Textblock basierend auf vorherigen Wörtern oder Zeichen vorhersagt. Ein niedrigerer Score ist besser.TokenAccuracy
berechnet die Genauigkeit für die Sprachmodellierung auf Tokenebene. Ein höherer Score ist besser.
- Auf dieser Registerkarte können Sie auch die Ausgabe Ihrer Auswertungsaufforderungen anzeigen, wenn Sie sie angegeben haben.
Schritt 6: Auswerten mehrerer angepasster Modelle mit Mosaik AI Agent Evaluation vor der Bereitstellung
Sehen Sie, was ist Mosaik AI Agent Evaluation?.
Schritt 7: Bereitstellen ihres Modells
Das Training wird automatisch in Unity Catalog registriert, nachdem es abgeschlossen ist. Das Modell wird basierend auf dem, was Sie im Feld „register_to
“ in der Run-Methode „create()
“ angegeben haben, registriert.
Führen Sie die folgenden Schritte aus, um das Modell für die Bereitstellung bereitzustellen:
- Navigieren Sie zum Modell in Unity Catalog.
- Klicken Sie auf Dieses Modell bereitstellen.
- Klicken Sie auf Bereitstellungsendpunkt erstellen.
- Geben Sie im Feld Name einen Namen für Ihren Endpunkt an.
- Klicken Sie auf Erstellen.
Zusätzliche Ressourcen
- Erstellen einer Schulungsausführung mithilfe der Foundation Model Fine-Tuning-API
- Foundation Model Fine-tuning
- Modellbereitstellung mit Azure Databricks
- Ein Beispiel finden Sie im Demo-Notebook für die Feinabstimmung von Instruktionen mit dem Titel Feinabstimmung von Instruktionen: Erkennung benannter Entitäten, das Sie durch die Datenvorbereitung, die Konfiguration des Feinabstimmungs-Trainingslaufs und die Bereitstellung führt.