

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
<a name="nova-model-merge"></a>

**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](nova-iterative-training.md) durchgeführt wurde, oder das Ergebnis des vorherigen [iterativen Trainingslaufs](nova-iterative-training.md). 

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
<a name="nova-model-merge-applicability"></a>

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)](nova-fine-tune.md) | 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)](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-reinforcement-fine-tuning.html) | 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)](nova-cpt.md) | 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
<a name="nova-model-merge-when-to-use"></a>

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
<a name="nova-model-merge-how-to-configure"></a>

 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](nova-fine-tune-2.md#nova-2-selecting-hyperparameters) 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_model`Bei 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](nova-iterative-training.md) sein. 

## Modell wählen, Gewichte zusammenführen
<a name="nova-model-merge-choosing-weights"></a>

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
<a name="nova-model-merge-evaluating"></a>

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
<a name="nova-model-merge-full-rank"></a>

 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
<a name="nova-model-merge-lora"></a>

 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.alpha`in Ihrem Trainingsrezept) und der `rank` LoRa-Rang. Die verfügbaren ` alpha` Werte finden Sie im [LoRa SFT-Trainingsrezept](https://github.com/aws/sagemaker-hyperpod-recipes/blob/main/recipes_collection/recipes/fine-tuning/nova/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_lora_sft.yaml). 

 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](nova-iterative-training.md#nova-iterative-technique-consistency) 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](nova-iterative-training.md#nova-iterative-technique-consistency). Full-rank 

Diese zusammengeführten Adapter `Merged_B` `Merged_A` geben die gesamte Trainingshistorie wieder und werden für [On-Demand-Inferenzen](nova-model-bedrock-inference.md#custom-fine-tune-odi) verwendet.