Anzeigen, Verwalten und Analysieren von Foundation Model Fine-Tuning-Läufen

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 Foundation Model Fine-Tuning (jetzt Teil der Mosaik AI Model Training) mit APIs oder der Benutzeroberfläche anzeigen, verwalten und analysieren.

Informationen zum Erstellen von Ausführungen finden Sie unter Erstellen eines Trainingslaufs mithilfe der Foundation Model Fine-Tuning-API und Erstellen eines Trainingslaufs mithilfe der Foundation Model Fine-Tuning-Benutzeroberfläche.

Verwenden von Foundation Model Fine-Tuning-APIs zum Anzeigen und Verwalten von Schulungsläufen

Die Foundation Model Fine-Tuning-APIs stellen die folgenden Funktionen zum Verwalten Ihrer Schulungsläufe bereit.

Einen Lauf abrufen

Verwenden Sie die Funktion „get()“, um eine Ausführung anhand des Namens oder des Ausführungsobjekts abzurufen, die Sie gestartet haben.

from databricks.model_training import foundation_model as fm

fm.get('<your-run-name>')

Ausführungen auflisten

Verwenden Sie die Funktion „list()“, um die Ausführungen anzuzeigen, die Sie gestartet haben. In der folgenden Tabelle sind die optionalen Filter aufgeführt, die Sie angeben können.

Optionale Filter Definition
finetuning_runs Eine Liste von auszuführenden Läufen. Es werden standardmäßig alle Durchläufe ausgewählt.
user_emails Wenn geteilte Durchläufe für Ihren Arbeitsbereich aktiviert sind, können Sie Ergebnisse nach Benutzer*innen filtern, die die Trainingsdurchführung eingereicht haben. Standardmäßig wird kein Benutzerfilter verwendet.
before Die Datum-Uhrzeit oder Datum-Uhrzeit-Zeichenfolge, vor der die Ausführungen gefiltert werden sollen. Der Standard ist auf „Alle Ausführungen“ eingestellt.
after Ein Datum/Uhrzeit oder eine Datum/Uhrzeit-Zeichenfolge, nach der die Ausführungen gefiltert werden sollen. Der Standardwert lautet „Alle Ausführungen“.
from databricks.model_training import foundation_model as fm

fm.list()

# filtering example
fm.list(before='2023-01-01', limit=50)

Abbrechen von Trainingsausführungen

Verwenden Sie die cancel()-Funktion und geben Sie den Namen des Laufs an, um einen einzelnen Trainingslauf abzubrechen.

from databricks.model_training import foundation_model as fm

run_to_cancel = '<name-of-run-to-cancel>'
fm.cancel(run_to_cancel)

Übergeben Sie die spezifischen Ausführungsnamen als Liste, um mehrere Trainingsausführungen abzubrechen.

from databricks.model_training import foundation_model as fm

runs_to_cancel = ['<run_1>, <run_2>, <run_3>']
fm.cancel(runs=runs_to_cancel)

Übergeben Sie die Experiment-ID, um alle Trainingsausführungen in einem Experiment abzubrechen.

from databricks.model_training import foundation_model as fm

experiment_to_cancel = '<experiment-id-to-cancel>'
fm.cancel(experiment_id=experiment_to_cancel)

Überprüfen des Status von Trainingsläufen

In der folgenden Tabelle sind die Ereignisse aufgeführt, die von einem Trainingslauf erstellt wurden. Verwenden Sie die get_events() Funktion jederzeit während Ihres Laufs, um den Fortschritt Ihres Laufs anzuzeigen.

Hinweis

Foundation Model Fine-Tuning erzwingt eine Beschränkung von 10 aktiven Läufen. Diese Ausführungen befinden sich entweder in der Warteschlange, werden ausgeführt oder werden beendet. Ausführungen werden nicht mehr als aktiv betrachtet, wenn sie sich im Status ABGESCHLOSSEN, FEHLGESCHLAGEN oder GESTOPPT befinden.

Ereignistyp Beispielereignisnachricht Definition
CREATED Lauf erstellt. Der Trainingslauf wurde erstellt. Wenn Ressourcen verfügbar sind, wird die Ausführung gestartet. Andernfalls wechselt sie in den Zustand „Pending“.
STARTED Lauf gestartet. Ressourcen wurden zugewiesen, und die Ausführung wurde gestartet.
DATA_VALIDATED Trainingsdaten überprüft. Überprüft, dass Trainingsdaten korrekt formatiert sind.
MODEL_INITIALIZED Modelldaten, die für das Basismodell „meta-llama/Llama-2-7b-chat-hf“ heruntergeladen und initialisiert wurden. Gewichtungen für das Basismodell wurden heruntergeladen, und das Training kann beginnen.
TRAIN_UPDATED [epoche=1/1][batch=50/56][ETA=5min] Zugverlust: 1,71 Meldet den aktuellen Trainingsbatch, die Epoche oder das Token, die geschätzte Zeit für den Abschluss des Trainings (ohne Prüfpunktuploadzeit) und den Verlust des Trainings. Dieses Ereignis wird aktualisiert, wenn jeder Batch endet. Wenn die Ausführungskonfiguration max_duration in tok Einheiten angibt, wird der Fortschritt in Token gemeldet.
TRAIN_FINISHED Training abgeschlossen. Das Training wurde abgeschlossen. Der Prüfpunktupload beginnt.
COMPLETED Ausführung abgeschlossen. Endgültige Gewichtungen hochgeladen. Der Checkpoint wurde hochgeladen, und der Lauf wurde abgeschlossen.
CANCELED Lauf abgebrochen. Die Ausführung wird abgebrochen, wenn fm.cancel() darauf aufgerufen wird.
FAILED Mindestens ein Trainings-Dataset-Beispiel weist unbekannte Schlüssel auf. Überprüfen Sie die Dokumentation auf unterstützte Datenformate. Der Lauf ist fehlgeschlagen. Überprüfen Sie event_message auf handlungsrelevanten Details, oder wenden Sie sich an den Support.
from databricks.model_training import foundation_model as fm

fm.get_events()

Verwenden der Benutzeroberfläche zum Anzeigen und Verwalten von Ausführungen

Um Läufe in der Benutzeroberfläche anzuzeigen:

  1. Klicken Sie auf Experimente in der linken Navigationsleiste, um die Seite „Experimente“ anzuzeigen.

  2. Klicken Sie in der Tabelle auf den Namen ihres Experiments, um die Experimentseite anzuzeigen. Auf der Seite „Experiment“ werden alle dem Experiment zugeordneten Ausführungen aufgeführt.

    Experimentseite

  3. Wenn Sie zusätzliche Informationen oder Metriken in der Tabelle anzeigen möchten, klicken Sie auf Pluszeichen, und wählen Sie die im Menü anzuzeigenden Elemente aus:

    Hinzufügen von Metriken zum Diagramm

  4. Weitere Ausführungsinformationen sind auf der Registerkarte Diagramm verfügbar:

    Registerkarte „Diagramm“

  5. Sie können auch auf den Namen des Laufs klicken, um den Laufbildschirm anzuzeigen. Dieser Bildschirm ermöglicht Ihnen den Zugriff auf weitere Details zur Ausführung.

    Ausführungsseite

Prüfpunkte

Um auf den Prüfpunktordner zuzugreifen, klicken Sie auf der Registerkarte Artefakte auf dem Ausführungsbildschirm. Öffnen Sie den Namen des Experiments, und öffnen Sie dann den Ordner Prüfpunkte. Diese Artefaktprüfpunkte sind nicht mit dem registrierten Modell am Ende einer Trainingsausführung identisch.

Prüfpunktordner auf der Registerkarte „Artefakte“

In diesem Ordner befinden sich einige Verzeichnisse:

  • Die Epochenordner (benannt ep<n>-xxx) enthalten die Gewichtungen und Modellzustände an jedem Prüfpunkt. Prüfpunkte werden in regelmäßigen Abständen durch Schulungen gespeichert. Diese werden zum Fortsetzen eines Feinabstimmungstrainings und einer fortgesetzten Feinabstimmung verwendet. Dies ist der Prüfpunkt, den Sie als custom_weights_path übergeben, um einen weiteren Trainingslauf mit diesen Gewichtungen zu starten. Siehe Erstellen von benutzerdefinierten Modellgewichtungen.
  • checkpoints/latest-sharded-rank0.symlink ist eine Datei, die den Pfad zum neuesten Prüfpunkt enthält, den Sie zum Fortsetzen des Trainings verwenden können.

Sie können die Prüfpunkte für eine Ausführung auch abrufen, nachdem sie gespeichert wurden, indem Sie get_checkpoints(run) verwenden. Diese Funktion verwendet das Ausführungsobjekt als Eingabe. Wenn noch keine Prüfpunkte vorhanden sind, werden Sie aufgefordert, den Vorgang nach dem Speichern der Prüfpunkte erneut auszuführen.