View a markdown version of this page

Modell Merge - Amazon Nova

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Modell Merge

Wichtig

In diesem Dokument werden wir „Basismodell“ als eines der beiden Modelle bezeichnen. Es kann das ursprüngliche Basismodell (z. B. Nova Lite 2.0) sein, wenn kein iteratives Training durchgeführt wurde, oder das Ergebnis des vorherigen iterativen Trainingslaufs.

Nach Abschluss der Feinabstimmung durchläuft Ihr benutzerdefiniertes Modell einen optionalen, vom Benutzer konfigurierbaren Schritt zur Modellzusammenführung, bei dem das neu erlernte Wissen mit den Funktionen des „Basismodells“ kombiniert wird. Dieser Prozess stellt sicher, dass Ihr endgültiges Modell die ursprüngliche Intelligenz des „Basismodells“ beibehält und gleichzeitig das spezielle Verhalten berücksichtigt, das Sie während des letzten Feinabstimmungstrainings gelernt haben. Durch die Modellzusammenführung wird ein Phänomen, das als katastrophales Vergessen bezeichnet wird, abgemildert, bei dem ein Modell zuvor erlerntes Wissen verliert, nachdem es anhand neuer Daten verfeinert wurde.

Anwendbarkeit der Modellzusammenführung nach Schulungstyp

Das Zusammenführen von Modellen ist nur für SFT-Schulungen konfigurierbar. In der folgenden Tabelle wird das Verhalten beim Zusammenführen von Modellen für jeden Trainingstyp zusammengefasst:

Art des Trainings Verhalten beim Zusammenführen von Modellen
Beaufsichtigt Fine-Tuning (SFT) User-configurable Die Modellzusammenführung wird angewendet. Sie können das Gewicht der Zusammenführung zwischen dem fein abgestimmten Modell und dem Basismodell steuern, wie in diesem Dokument beschrieben.
Verstärkung Fine-Tuning (RFT) Keine Modellzusammenführung. Der Checkpoint für das trainierte Modell wird direkt als das endgültige Modell ausgegeben. An einem Zusammenführungsschritt ist kein Basismodell beteiligt.
Fortsetzung Pre-Training (CPT) Keine Modellzusammenführung. Der Checkpoint für das trainierte Modell wird direkt als das endgültige Modell ausgegeben. An einem Zusammenführungsschritt ist kein Basismodell beteiligt.

Wann sollte das Zusammenführen von Modellen verwendet werden

Sie sollten die Modellzusammenführung in folgenden Fällen aktivieren:

  • Die allgemeinen Funktionen verschlechtern sich nach der Feinabstimmung. Wenn Ihr fein abgestimmtes Modell bei Aufgaben, die nicht zu Ihren Trainingsdaten gehören, an Leistung verliert (z. B. Mathematik, Argumentation oder Programmieren), wird beim Zusammenführen das Wissen aus dem Basismodell zusammengeführt, um diese Fähigkeiten wiederherzustellen.

  • Iterative/continual Training. Bei der Feinabstimmung zusätzlich zu einem zuvor angepassten Checkpoint ist die Zusammenführung unerlässlich, um die in früheren Runden erlernten Fähigkeiten beizubehalten. Andernfalls kann jede neue Runde das, was in der vorherigen Runde gelehrt wurde, überschreiben.

In folgenden Fällen ist eine Modellzusammenführung möglicherweise nicht erforderlich:

  • Sie möchten nur die Leistung der Zielaufgabe maximieren, und die generelle Beibehaltung von Fähigkeiten ist kein Problem.

  • Bergsteigen. Sie möchten mit demselben Datensatz weiter iterieren, um die Evaluierungsleistung weiter zu optimieren.

  • Sie verwenden eine auf Argumenten basierende Feinabstimmung. Studien haben gezeigt, dass eine auf Argumenten basierende SFT katastrophales Vergessen erheblich abmildert.

Wie konfiguriert man Gewichte für die Zusammenführung von Modellen

Der Standardwert model_importance_score.fine_tuned_model ist 1,0, was bedeutet, dass der Trainings-Output-Checkpoint ausschließlich die fein abgestimmten Gewichte verwendet, ohne dass es zu einer Mischung aus dem „Basismodell“ kommt. Die Standardeinstellung funktioniert gut, wenn Ihre Trainingsdaten umfassend sind und Ihrer Zielaufgabe sehr nahe kommen.

Sie können steuern, wie das endgültige Modell ein Gleichgewicht zwischen Spezialisierung und Allgemeinwissen herstellt, indem Sie dies model_importance_score in Ihren Hyperparametern festlegen. Beispiel:

training_config: # ... model_importance_score: fine_tuned_model: 0.75 # set value between 0.0 to 1.0 inclusive

model_importance_score.fine_tuned_modelBei Werten, die näher an 1,0 liegen, orientiert sich das Modell eher an Ihren fein abgestimmten Daten, während bei Werten, die näher an 0,0 liegen, die allgemeinen Funktionen des Basismodells in größerem Umfang erhalten bleiben. Im obigen Beispiel wird das endgültige trainierte Modell erstellt, indem das zu 75% fein abgestimmte Modell des spezifischen Datensatzes mit 25% des „Basismodells“ zusammengeführt wird.

Wenn Sie feststellen, dass Ihr fein abgestimmtes Modell an allgemeinen Fähigkeiten verliert (z. B. verminderte Leistung bei Aufgaben außerhalb Ihrer Trainingsdaten), reduzieren Sie es, model_importance_score.fine_tuned_model um mehr Wissen aus dem „Basismodell“ einfließen zu lassen.

Anmerkung

Wir können zwar die Gewichte der Modellzusammenführung konfigurieren, aber der Benutzer kann nicht wählen, mit welchen Modellen er zusammengeführt werden soll. Mit anderen Worten, es wird immer zwischen dem „Basismodell“ und dem fein abgestimmten Modell des aktuellen Trainingslaufs liegen. Das „Basismodell“ kann das ursprüngliche Basismodell (z. B. Nova Lite 2.0) oder das Ergebnis des vorherigen iterativen Trainingslaufs sein.

Modell wählen, Gewichte zusammenführen

Der model_importance_score.fine_tuned_model Parameter steuert das Gleichgewicht zwischen Ihrem fein abgestimmten Modell und dem Basismodell. Beginnen Sie mit diesen Richtlinien:

Szenario Empfohlenes Startgewicht Begründung
Single-round SFT mit umfassenden Trainingsdaten 1.0 (Standard, keine Zusammenführung) Ihre Trainingsdaten decken die Zielaufgabe gut ab. Eine Zusammenführung würde erlerntes Verhalten ohne Nutzen verwässern.
Single-round SFT, wenn sich die allgemeinen Fähigkeiten verschlechtern 0,7—0,9 Kombiniert ausreichend Basismodellwissen, um allgemeine Fähigkeiten (Mathematik, Argumentation, Programmieren) wiederherzustellen und gleichzeitig den Großteil der fein abgestimmten Leistung beizubehalten.
Iterative/continual SFT (baut auf einem früheren Checkpoint auf) 0,3—0,7 Bei niedrigeren Gewichten ist mehr Wissen aus früheren Trainingsrunden enthalten. Ohne Zusammenführung können spätere Runden die in früheren Runden erlernten Fähigkeiten überschreiben.
Explorativ//unsicher 0.7 Ein vernünftiger Mittelweg; Anpassung auf der Grundlage der Bewertungsergebnisse.

Allgemeines Prinzip: Höhere Gewichte (näher an 1,0) maximieren die Leistung der Zielaufgabe, bergen jedoch die Gefahr, dass allgemeine Fähigkeiten verloren gehen. Niedrigere Gewichtungen (näher an 0,0) behalten die allgemeinen Fähigkeiten des Basismodells bei, verringern jedoch die Spezialisierung. Es gibt keinen allgemein optimalen Wert — die richtige Gewichtung hängt von der Größe Ihres Datensatzes, der Domänenüberschneidung mit dem Basismodell und den Funktionen ab, die Sie beibehalten müssen.

Tipp

Wenn Ihre Trainingsdaten Argumentationsspuren (Gedankenkette) enthalten, können Sie in der Regel eine höhere Gewichtung bei der Zusammenführung verwenden (oder die Zusammenführung bei 1,0 komplett überspringen), da mit Argumentation erweiterte Daten als Regulator dienen, der allgemeine Fähigkeiten beibehält.

Dein Gewicht beim Zusammenführen auswerten

Evaluieren Sie nach Abschluss des Trainings das zusammengeführte Modell, um sicherzustellen, dass das zusammengeführte Gewicht angemessen ist. Du brauchst nicht mehrere Trainingsläufe — ein einziger Testdurchgang kann dir sagen, ob du dich anpassen musst.

  • Leistung der Zielaufgabe — Führen Sie Ihre domänenspezifische Bewertung (Genauigkeit, F1, Extraktionswert usw.) anhand eines Testsatzes aus, der Ihnen zur Verfügung steht. Vergleichen Sie mit dem Basismodell (vor jeder Feinabstimmung), um sicherzustellen, dass die Feinabstimmung die Leistung verbessert hat. Wenn der Gewinn gegenüber dem Basismodell geringer als erwartet ausfällt, ist Ihr Zusammenführungsgewicht möglicherweise zu gering — die Gewichte des Basismodells verwässern das, was während des Trainings gelernt wurde.

  • Stichprobenprüfung allgemeiner Fähigkeiten — Fordere das zusammengeführte Modell mit einigen Aufgaben auf, die nicht zu deiner Trainingsdomäne gehören (z. B. eine mathematische Wortaufgabe, eine Zusammenfassungsanfrage oder eine Programmierfrage). Vergleichen Sie die Antworten qualitativ mit dem Basismodell. Wenn die Antworten des zusammengeführten Modells deutlich schlechter sind als die des Basismodells — inkohärent, Weigerung zu antworten oder Kauderwelsch über Aufgaben, die das Basismodell gut bewältigt —, ist Ihr Zusammenführungsgewicht zu hoch und das Modell hat an allgemeinen Fähigkeiten verloren.

So funktioniert das Zusammenführen: Feinabstimmung Full-rank

Full-rank Beim Training wird ein vollständiger Satz von Modellgewichten erstellt. Beim Zusammenführen wird jeder Parameter als gewichtete Mischung berechnet:

# Weighted interpolation Merged Model = (1 - model_importance_score.fine_tuned_model) * Base Model + model_importance_score.fine_tuned_model * Fine-Tuned Model

Beispielsweise besteht das zusammengeführte Modell zu 70% aus Basismodellwissen und zu 30% aus detailliertem Wissen. model_importance_score.fine_tuned_model = 0.3

So funktioniert die Zusammenführung: LoRa-Feinabstimmung

LoRa (Low-Rank Adaptation) lernt ein kompaktes Paar von Matrizen mit niedrigem Rang (A und B), die die Anpassung als Low-Rank-Update darstellen. Während der Modellzusammenführung wird jede A- und B-LoRa-Matrix wie folgt skaliert. model_importance_score.fine_tuned_model In diesen Formeln alpha steht der LoRa-Skalierungsfaktor (peft.lora_tuning.alphain Ihrem Trainingsrezept) und der rank LoRa-Rang. Die verfügbaren alpha Werte finden Sie im LoRa SFT-Trainingsrezept.

Beachten Sie, dass die A- und B-Matrizen derzeit nur Erkenntnisse aus dem letzten Feinabstimmungslauf enthalten. Es liegen keine Kenntnisse über frühere Trainingsläufe vor. Das Wissen aus früheren Trainingsläufen stammt aus der Verschmelzung des Modells mit dem „Basismodell“ oder der unten beschriebenen Zusammenführung von LoRa-Adaptern in der vorherigen Phase.

Scaled_A = sqrt(model_importance_score.fine_tuned_model) * sqrt(alpha/rank) * A Scaled_B = sqrt(model_importance_score.fine_tuned_model) * sqrt(alpha/rank) * B

Beim LoRa-Training werden zwei Modellartefakte erzeugt: ein vollständig zusammengeführtes Modell und ein Satz zusammengeführter LoRa-Adapter. Schauen wir uns jeden von ihnen einzeln an.

Vollständig zusammengeführtes Modell

Das LoRa-Update wird skaliert und dem „Basismodell“ hinzugefügt:

Merged Model = Base Model + (Scaled_B @ Scaled_A)

Nun Merged Model hat er sowohl Wissen aus dem aktuellen Trainingslauf als auch etwas Wissen aus der Base Model je nach Anwender konfigurierten. model_importance_score.fine_tuned_model

Zusammengeführte LoRa-Adapter

Wie die LoRa-Adapter zusammengeführt werden, hängt davon ab, ob Sie ein einstufiges oder iteratives Training durchführen.

  • Bei einstufigem LoRa-Training (kein iteratives Training) werden die fein abgestimmten LoRa-Adapter ohne Zusammenführung direkt gespeichert, da es keinen vorherigen Satz von LoRa-Adaptern gibt, mit denen zusammengeführt werden kann.

  • In iterativen All-LoRa-Workflows werden die Adapter aus jeder Phase zu einem einzigen Satz zusammengeführt:

    Merged = Stage1_Scaled_B @ Stage1_Scaled_A + Stage2_Scaled_B @ Stage2_Scaled_A

    Die Merged LoRa-Adapter enthalten Informationen über frühere Trainingsiterationen sowie die neuesten Erkenntnisse zur Feinabstimmung, basierend auf den benutzerdefinierten Daten. model_importance_score.fine_tuned_model

    Bitte achten Sie auch genau auf die Einschränkungen beim wiederholten Training bei der Kombination von LoRa und Training. Full-rank

Diese zusammengeführten Adapter Merged_B Merged_A geben die gesamte Trainingshistorie wieder und werden für On-Demand-Inferenzen verwendet.