Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Diese Funktion befindet sich in der öffentlichen Vorschau in den folgenden Regionen: centralus
, eastus
, eastus2
, northcentralus
, und westus
.
Dieser Artikel beschreibt, wie Sie einen Lauf mit der API für die Feinabstimmung des Grundlagenmodells (jetzt Element von Mosaic AI Model Training) erstellen und konfigurieren und anschließend die Ergebnisse überprüfen und das Modell mithilfe der Databricks UI und Mosaic 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. Siehe Daten für die Feinabstimmung des Grundlagenmodells vorbereiten.
Schritt 1: Vorbereiten Ihrer Daten für das Training
Siehe Daten für die Feinabstimmung des Grundlagenmodells vorbereiten.
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 Trainingslauf mit der create()
-Funktion Grundlagenmodell-Feinabstimmung . 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 Metrik-Diagramme auf der Registerkarte Diagramme. Trainingsmetriken werden für jeden Trainingslauf generiert und Evaluierungsmetriken werden nur generiert, wenn ein Evaluierungsdatenpfad bereitgestellt wird.
- 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. Sie sollten sich jedoch nicht ausschließlich auf den Verlust verlassen, denn bei Trainingsaufgaben kann der Evaluierungsverlust als Overfitting 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 dem Ausführen in MLflow angezeigt:
-
LanguageCrossEntropy
berechnet die Kreuzentropie für die Ergebnisse der Sprachmodellierung. Ein niedriger Score ist besser. -
LanguagePerplexity
misst, wie gut ein Sprachmodell das nächste Wort oder Zeichen in einem Textblock auf der Grundlage der vorherigen Wörter oder Zeichen vorhersagt. Ein niedriger Score ist besser. -
TokenAccuracy
berechnet die Genauigkeit auf Token-Ebene für die Sprachmodellierung. 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: Evaluieren Sie mehrere angepasste Modelle mit Mosaic AI Agent Evaluation, bevor Sie sie bereitstellen
Siehe Mosaik AI Agent Evaluation (MLflow 2).
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 Sie einen Trainingslauf mit der Grundlagenmodell-Feinabstimmung-API
- Feinabstimmung von Grundlagenmodellen
- Bereitstellen von Modellen mit Mosaik AI Model Serving
- 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.