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.
Important
Elemente, die in diesem Artikel als Vorschau gekennzeichnet sind, befinden sich derzeit in der Vorschau. Diese Vorschauversion wird ohne Service Level Agreement bereitgestellt, und Microsoft empfiehlt ihren Einsatz nicht für Produktionsworkloads. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbedingungen für Microsoft Azure-Vorschauversionen.
Important
Interaktives Training erfordert eine explizite Zugriffsgenehmigung. Fordern Sie den Zugriff über das Vorschau-Registrierungsformular an, und warten Sie vor dem Erstellen einer Schulungssitzung auf die Genehmigung.
Mit interaktiven Schulungen können Sie steuern, wie ein Modell lernt, während Microsoft Foundry das Modell ausführt. Ihr Programm, auch als training driver bezeichnet, wählt die Beispiele aus, wertet Antworten aus und entscheidet, wann das Modell aktualisiert werden soll.
Die folgenden Konzepte erläutern, wie die Teile einer Trainingsschleife zusammenpassen. Code- und Implementierungsdetails finden Sie im SDK-Cheatsheet.
Schulungen
Eine Trainingssitzung enthält das Modell und den aktuellen Schulungsfortschritt, während Ihr Experiment ausgeführt wird. Ihr Treiber fordert einzelne Vorgänge an, z. B. das Generieren von Antworten oder das Anwenden eines Updates.
Eine Sitzung dient einem anderen Zweck als ein verwalteter Job oder eine Bereitstellung:
| Resource | Purpose |
|---|---|
| Interaktive Schulung | Ihr Programm steuert die Trainingsschleife jeweils einen Vorgang nach dem anderen. |
| Verwalteter Fine-Tuning-Auftrag | Der Dienst führt einen vordefinierten Schulungsworkflow mit den von Ihnen bereitgestellten Daten und Einstellungen aus. |
| Serving-Bereitstellung | Ein trainiertes Modell beantwortet Anfragen aus einer Anwendung. |
Ihr Fahrer hält die Sitzung aktiv, während das Experiment ausgeführt wird. Der Fortschritt, der nur in der Sitzung gehalten wird, ist kein dauerhafter Datensatz; ein abgeschlossener Trainings-Checkpoint bewahrt ihn.
LoRA-Adapter
Ein Basismodell ist das Modell, mit dem Sie beginnen. Die Gewichtungen sind die gelernten Werte, die ihr Verhalten gestalten.
Ein LoRA-Adapter für Low-Rank Adaptation ist ein kleiner Satz trainierbarer Gewichte, die dem Basismodell hinzugefügt werden. Das Training ändert den Adapter, anstatt alle originalen Gewichte des Modells neu zu trainieren.
Der Adapter enthält das, was Ihr Experiment lernt. Es bleibt an ein kompatibles Basismodell gebunden; es ist kein eigenständiger Ersatz für dieses Modell.
Details zur Implementierung finden Sie unter Eine Sitzung erstellen.
Schulungsstufen
Eine Trainingsstufe beschreibt die Dienstoption, die zum Ausführen von Schulungen verwendet wird. Tiers können sich darin unterscheiden, wo Training ausgeführt wird, wie Kapazität bereitgestellt wird und welche Servicegarantien gelten.
Die verfügbaren Optionen hängen vom Modell, der Region und dem Projekt ab. Trainingsstufen sind von Bereitstellungsoptionen getrennt, die zum Bereitstellen eines trainierten Modells verwendet werden. Siehe Schulungstypen.
Nachrichtenformatierung
Ihre Nachrichten müssen in eine Form konvertiert werden, die das ausgewählte Modell versteht. Dieses Format unterscheidet auch Benutzeraufforderungen, Assistentenantworten und informationen, die von Tools zurückgegeben werden.
- Token sind kleine Texteinheiten, z. B. Wörter oder Wortteile, die das Modell liest und generiert.
- Ein Tokenizer konvertiert Text in Token und Token wieder in Text.
- Eine Chatvorlage organisiert Nachrichten, sodass das Modell Sprecher unterscheiden und erkennen kann, wo eine Antwort beginnt.
- Ein Renderer bereitet Nachrichten im Format des Modells vor und konvertiert generierte Antworten wieder in lesbaren Inhalt.
Verschiedene Modelle können unterschiedliche Nachrichtenformate verwenden. Durch eine konsistente Formatierung kann das Schulungsprogramm ermitteln, welche Teile einer Interaktion zum Lernen beitragen sollen.
Bildbasiertes Training erfordert auch ein kompatibles Vision-Language-Modell und Unterstützung für Bildtraining für Ihr Projekt. Ein Nachrichtenformatierer, der Bilder versteht, stellt nicht fest, dass für sie ein Training verfügbar ist.
Die Trainingsschleife
Interaktives Training trennt das Generieren von Antworten, die Berechnung von Lernsignalen und das Anwenden von Updates. Ihr Treiber kombiniert diese Vorgänge in einem Workflow.
| Operation | Was dies bedeutet |
|---|---|
| Stichproben | Das Modell generiert Antworten aus einer ausgewählten Momentaufnahme des Adapters. |
| Vorwärtsdurchlauf | Das Modell verarbeitet Beispiele, sodass Sie Verlust messen oder Lernsignale prüfen können, ohne Änderungen für ein Update zu sammeln. |
| Farbverlaufsberechnung | Das Training berechnet, wie sich die Gewichte des Adapters ändern könnten, um das Lernziel zu verbessern. |
| Update des Optimierers | Der Optimierer wendet die akkumulierten Gradienten an, um den Adapter zu ändern. |
| Auswertung | Ihr Treiber misst die Leistung an Beispielen, die vom Training getrennt gehalten werden. |
Farbverläufe beschreiben potenzielle Änderungen am Adapter. Ein Optimierer wandelt diese Gradienten in ein Update um. Das Berechnen von Gradienten ändert den Adapter nicht selbst.
Mehrere Beispiele können Gradienten zu einem Update beitragen. Nach einem Update benötigt die Stichprobenentnahme eine aktualisierte Momentaufnahme, um den neuesten gelernten Zustand des Adapters zu verwenden.
Bei der Auswertung werden zurückgehaltene Beispiele verwendet, die nicht für das Training verwendet werden, um die Leistung bei der Aufgabe zu überprüfen, die Sie interessiert. Ein geringerer Trainingsverlust oder eine höhere Trainingsbelohnung allein stellt keine bessere Leistung fest.
Die entsprechenden Vorgänge im Code finden Sie im SDK-Cheatsheet.
Verlustfunktionen und Tokengewichtungen
Eine Verlustfunktion drückt das Ziel aus, das training versucht zu verbessern. Es wandelt Beispiele und Lernsignale in eine Metrik um, die Änderungen am Adapter steuert.
| Lernmethode | Was das Update steuert |
|---|---|
| überwachtes Lernen | Die gewünschten Antworten zeigen dem Modell, was es produzieren soll. |
| Vertiefendes Lernen | Bewertungen und Vergleiche zwischen generierten Antworten helfen zu bestimmen, welches Verhalten verstärkt werden soll. |
Eine Verlustfunktion ist ein Teil eines Workflows. Sie wählt nicht Ihre Beispiele aus, bewertet Antworten oder entscheidet, wann das Training beendet wird.
Tokengewichtungen steuern, wie stark Teile eines Beispiels zum Lernen beitragen. Masken schließen Teile aus, die nicht berücksichtigt werden sollen.
Beispielsweise kann ein überwachter Lernworkflow aus der Antwort des Assistenten lernen, ohne die Aufforderung des Benutzers zu reproduzieren.
Beim Reinforcement Learning unterscheidet das Lernsignal auch modellgenerierte Antworten von Informationen, die vom Benutzer oder der Umgebung bereitgestellt werden. Es verwendet Informationen aus dem Modell, das jede Antwort generiert hat, auch wenn sich das Modell später ändert.
Benutzerdefinierte Ziele können Modellausgaben mit Berechnungen in Ihrer Steuerroutine kombinieren. Der Treiber koordiniert weiterhin die Lernsignale und Modellaktualisierungen.
Informationen zu Datenstrukturen und Beispielen finden Sie unter Vorbereiten überwachter Daten und Vorbereiten von RL-Daten.
Wie Lernsignale kombiniert werden
Unterschiedliche Ziele können Lernsignale unterschiedlich kombinieren, z. B. zusammenfügen oder mitteln. Das Kombinieren inkompatibler Ansätze in einem Update kann seinen Umfang ändern oder dazu führen, dass der Dienst ihn ablehnt.
Beiträge zum gleichen Update benötigen eine konsistente Möglichkeit, Lernsignale zu kombinieren. Ein Update wird abgeschlossen, bevor der Workflow zu einem inkompatiblen Ansatz wechselt.
Belohnungen, Einführungen und Vorteile
Beim bestärkenden Lernen bewertet Ihr Treiber, was das Modell tut, und wandelt diese Bewertung in ein Lernsignal um.
| Konzept | Dies bedeutet |
|---|---|
| Rollout | Eine generierte Antwort oder eine längere Interaktion, die Toolaufrufe und Beobachtungen umfassen kann. |
| Belohnung | Eine Bewertung, die beschreibt, wie gut ein Rollout das Ziel der Aufgabe erfüllt. Ihr Programm weist diese Bewertung zu. |
| Vorteil | Ein Vergleich, der angibt, ob eine Antwort besser oder schlechter ist als eine Referenz, z. B. andere Antworten auf dieselbe Eingabeaufforderung. |
Ein Ansatz generiert mehrere Antworten auf dieselbe Aufforderung und vergleicht jede Belohnung mit der durchschnittlichen Belohnung der Gruppe:
- Über dem Durchschnitt: Die Antwort hat einen klaren Vorteil.
- Unter dem Durchschnitt: Die Antwort hat einen Nachteil.
- Gleiche Belohnungen: Alle Antworten haben keinen Vorteil, sodass dieser Vergleich kein Lernsignal liefert.
Bei einer mathematischen Aufgabe kann die Belohnung widerspiegeln, ob die endgültige Antwort korrekt ist. Eine hohe Formatierungsbewertung allein belegt nicht, dass die Antwort korrekt ist.
Ihr Driver definiert die Benotungsregeln und Vergleichsmethode. Vollständige Beispiele finden Sie im Repository für Feinabstimmungsbeispiele.
Abschluss der Operation
Jeder Vorgang benötigt Zeit für die Ausführung. Das Annehmen einer Anfrage ist etwas anderes als das Abschließen der angeforderten Arbeit.
| Status | Was es Ihnen sagt |
|---|---|
| Akzeptiert | Der Dienst empfängt den Request. Die Arbeit wartet oder läuft möglicherweise noch. |
| Completed | Der Vorgang wird beendet, und das Ergebnis kann von einem abhängigen Vorgang verwendet werden. |
| Zeitlimit überschritten | Ihr Fahrer hört auf zu warten. Dies beweist nicht, dass der Vorgang beim Dienst fehlschlägt oder beendet wird. |
Die Reihenfolge ist wichtig: Eine Aktualisierung hängt von der abgeschlossenen Gradientenberechnung ab, und das Sampling von neuen Gewichtungen hängt von einer abgeschlossenen Aktualisierung der Gewichte ab. Ein fehlendes Ergebnis ist weder ein erfolgreiches Ergebnis noch eine nullwertige Messung.
Einzelheiten zur Implementierung finden Sie unter Asynchrone Operationen verwenden.
Kontrollpunkte
Ein Checkpoint zeichnet den Modellstatus an einem bestimmten Punkt auf. Trainings-Checkpoints und Sampler-Checkpoints speichern unterschiedliche Informationen.
| Type | Was es bewahrt | Wofür Sie es verwenden |
|---|---|---|
| Schulungskontrollpunkt | Die gelernten Gewichte des Adapters und die Aufzeichnung früherer Updates des Optimierers. | Wiederherstellen des Fortschritts oder dem Fortsetzen des Trainings in einer kompatiblen Sitzung. |
| Sampler-Checkpoint | Eine Momentaufnahme der Adaptergewichte zum Generieren von Antworten. | Stichprobenentnahme aus einer ausgewählten Version des Adapters ohne die erforderlichen Informationen zum Fortsetzen des Trainings. |
Eine Sampleraktualisierung bereitet den neuesten Adapterstatus für die Generation vor. Es ist kein Ersatz für einen gespeicherten Trainings-Checkpoint, und es erstellt nicht unbedingt ein persistentes Artefakt.
Ihr Treiber hat einen eigenen Status, den es beibehält, z. B. welche Beispiele es bereits verwendet hat und wann die Auswertung erfolgt. Ein Modell-Checkpoint stellt diesen Fortschritt nicht automatisch wieder her.
Kein Prüfpunkttyp ist ein Anwendungsendpunkt. Die Verwendung des trainierten Modells in einer Anwendung ist eine separate Bereitstellungsaufgabe.
Codebeispiele finden Sie unter Speichern und Fortsetzen der Schulung.
Sitzungslebenszyklus
Das Entladen gibt die aktiven Schulungsressourcen einer Sitzung frei. Es dient einem anderen Zweck als das Löschen der Sitzung und der gespeicherten Artefakte.
| Action | Dies bedeutet |
|---|---|
| Inspizieren | Überprüfen Sie den Status der Sitzung, und identifizieren Sie die gespeicherten Checkpoints. |
| Entladen | Geben Sie die Computeressourcen der aktiven Sitzung frei. Dies ist kein Löschen eines Prüfpunkts. |
| Delete | Entfernen Sie die Session. Dies kann auch seine Prüfpunkte und Samplingressourcen entfernen. |
Das Übermitteln einer Unload-Anforderung bestätigt nicht, dass die Bereinigung abgeschlossen wird. Das Schließen der Netzwerkverbindung des Treibers entspricht auch nicht dem Beenden der Sitzung.
Ein abgeschlossener Trainingskontrollpunkt speichert den Fortschritt, bevor eine Sitzung endet. Durch das Löschen der Sitzung kann dieser gespeicherte Zustand entfernt werden, sodass das Löschen nicht mit dem Freigeben von Compute austauschbar ist.
Details zur Implementierung finden Sie unter Schließen von Ressourcen.
Verwandte Inhalte
Erkunden Sie diese Ressourcen, wenn Sie bereit sind, die Konzepte zu verwenden:
- Beginnen Sie mit interaktivem Training, um ein kurzes Trainingsrezept auszuführen.
- SDK-Cheatsheet für Codebeispiele und Implementierungsdetails.
- Feinabstimmungsbeispiele auf GitHub für vollständige Schulungsworkflows.