

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.

# Iteratives Training
<a name="nova-iterative-training"></a>

## -Übersicht
<a name="nova-iterative-overview"></a>

Iteratives Training ist der Prozess der wiederholten Feinabstimmung eines Modells durch mehrere Trainingszyklen mit unterschiedlichen Trainingsmethoden — Training, Bewertung, Fehleranalyse, Anpassung data/objectives/hyperparameters — wobei jede Runde am vorherigen Checkpoint beginnt. Dieser Ansatz ermöglicht es Ihnen, systematisch auf die Ursachen von Modellfehlern einzugehen, kuratierte Beispiele für spezifische Schwächen einzubeziehen und sich im Laufe der Zeit an sich ändernde Anforderungen anzupassen.

**Vorteile gegenüber einer Schulung in nur einem Durchgang:**
+ **Gezielte Verbesserung**: Behebung spezifischer Fehlermuster, die im Rahmen von Evaluierungen entdeckt wurden
+ **Adaptive Verfeinerung**: Reagieren Sie auf Veränderungen im Vertrieb oder sich ändernde Produktanforderungen
+ **Risikominderung**: Überprüfen Sie Verbesserungen schrittweise, anstatt sich auf einen einzigen langen Schulungslauf festzulegen
+ **Dateneffizienz**: Konzentrieren Sie die Datenerhebung auf Bereiche, in denen das Modell unterdurchschnittlich abschneidet
+ **Lehrplanausbildung**: Mehrere Schulungsrunden mit immer hochwertigeren Daten

## Funktionsweise
<a name="nova-iterative-how-it-works"></a>

### Standort und Zugang zum Checkpoint
<a name="nova-iterative-checkpoint-location"></a>

Nach Abschluss jedes Trainingsjobs wird eine Manifestdatei an dem durch den `output_path` Parameter in Ihrer Trainingskonfiguration angegebenen Ausgabespeicherort generiert.

**Um auf Ihren Checkpoint zuzugreifen**
+ Navigieren Sie zu Ihrem `output_path` in S3 angegebenen
+ Laden Sie die `output.tar.gz` Datei herunter und extrahieren Sie sie
+ Öffnen Sie die `manifest.json` Datei im Inneren
+ Suchen Sie den `checkpoint_s3_bucket` Parameter, der die S3-URI Ihres trainierten Modells enthält

**Beispiel für eine manifest.json-Struktur**

```
{  
  "checkpoint_s3_bucket": "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>/stepID",  
  ...  
}
```

### Grundlegendes zu Treuhandbuckets
<a name="nova-iterative-escrow-buckets"></a>

Da es sich bei Amazon Nova um firmeneigene Prüfpunkte handelt, werden die Prüfpunkte des trainierten Modells in **Treuhand-S3-Buckets** innerhalb AWS verwalteter Konten gespeichert, anstatt auf Ihr Konto kopiert zu werden. Diese Treuhandkonten:
+ Bewahren Sie die Gewichte Ihrer maßgeschneiderten Modelle sicher auf
+ Kann von anderen AWS Diensten referenziert werden (Inferenz-, Evaluierungs- und nachfolgende Schulungsaufträge)
+ Sind nur für Ihr AWS Konto über IAM-Berechtigungen zugänglich
+ Für Ihr Konto fallen die üblichen S3-Speichergebühren an (siehe Überlegungen zu den Kosten)

Sie können den Escrow-Bucket-Pfad als Pfad für Ihren nächsten `model_name_or_path` Trainingslauf verwenden, um das iterative Training fortzusetzen.

### Checkpoints für iteratives Training verwenden
<a name="nova-iterative-using-checkpoints"></a>

Konfigurieren Sie Ihren nächsten Trainingsjob so, dass er den vorherigen Checkpoint als Basismodell verwendet:

```
run:  
  name: "my-iterative-training-job"  
  model_type: amazon.nova-2-lite-v1:0:256k  
  model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<previous-job-name>"  
  data_s3_path: s3://<bucket>/<data-file>.jsonl  
  replicas: 4
```

## Wann sollte iteratives Training verwendet werden
<a name="nova-iterative-when-to-use"></a>

### Ideale Anwendungsfälle
<a name="nova-iterative-ideal-use-cases"></a>

Verwenden Sie iteratives Training, wenn Sie:
+ **Feedbackschleifen** — Fähigkeit, reale Fehlerfälle zu sammeln und diese systematisch zu behandeln
+ **Dynamische Umgebungen** — sich entwickelnde Dokumentations- oder Supportthemen APIs, die regelmäßige Modellaktualisierungen erfordern
+ **Solide Evaluierung** — Starke Benchmarks und Bewertungsrahmen (siehe Beispiele unten), um Verbesserungen zuverlässig messen zu können
+ **ML-Operationsfähigkeit** — Ressourcen zur Verwaltung mehrerer Trainingszyklen und zur Versionskontrolle

**Beispiele für robuste Bewertungsrahmen**
+ Automatisierte Benchmark-Suiten mit pass/fail Schwellenwerten
+ Bewertungsprotokolle durch Menschen mit Zuverlässigkeitsmetriken verschiedener Prüfer
+ Testszenarien im RED-Team, die Sonderfälle und gegnerische Eingaben abdecken
+ A/B-Testinfrastruktur zur Messung der Auswirkungen auf die Produktion

### Allgemeine Muster
<a name="nova-iterative-common-patterns"></a>

**SFT → RFT-Pipeline**: Ein häufig verwendetes iteratives Muster beinhaltet:
+ **Zuerst SFT** — Bringen Sie dem Modell anhand von Demonstrationsbeispielen bei, wie Probleme gelöst werden können
+ **RFT zweitens** — Optimieren Sie die Leistung im breiteren Problembereich mithilfe von Belohnungssignalen

Diese Reihenfolge ist wichtig, wenn Modelle anfänglich schlecht abschneiden — RFT auf Modellen mit einer Genauigkeit von nahezu Null verbessert die Leistung nicht, wenn nicht zuerst grundlegende Problemlösungsfunktionen durch SFT eingerichtet wurden.

### Wann sollte iteratives Training nicht verwendet werden
<a name="nova-iterative-when-not-to-use"></a>

Vermeiden Sie iteratives Training für:
+ **Stabile, klar definierte Aufgaben** — Stationäre Daten mit konsistenten Anforderungen erreichen bereits nahezu maximale Leistung
+ **Einfache Klassifizierungsprobleme** — Eingeschränkte Aufgaben, bei denen eine Schulung in einem einzigen Durchgang ausreicht
+ **Ressourcenengpässe** — Es fehlen spezielle ML-Betriebsfunktionen zur Verwaltung mehrerer Trainingszyklen
+ **Marginale Gewinne** — Wenn der Overhead minimale Leistungsverbesserungen nicht rechtfertigt

## Beispiel-Workflow: SFT → RFT
<a name="nova-iterative-example-workflow"></a>

Dieses Beispiel zeigt ein gängiges iteratives Trainingsmuster für Argumentationsmodelle.

### Schritt 1: Anfängliches SFT-Training
<a name="nova-iterative-step1"></a>

Konfigurieren und starten Sie Ihren SFT-Trainingsjob mit Ihrem Datensatz:

```
run:  
  name: "initial-sft-training"  
  model_type: amazon.nova-2-lite-v1:0:256k  
  model_name_or_path: "nova-lite-2/prod"  
  data_s3_path: s3://<bucket>/sft-training-data.jsonl  
  validation_data_s3_path: s3://<bucket>/sft-validation-data.jsonl
```

**Begründung**: SFT bietet zusätzliche Demonstrationen, mit denen die Modellausgaben in das gewünschte Format und die gewünschte Sprache gebracht werden, wodurch grundlegende Funktionen vermittelt werden.

**Nach Abschluss der Schulung**
+ Notieren Sie sich die in Ihrem Trainingsjob `output_path` konfigurierten
+ Laden Sie es `output.tar.gz` von diesem Ort herunter
+ Extrahieren und lokalisieren `manifest.json`
+ Kopieren Sie den `checkpoint_s3_bucket` Wert

### Schritt 2: RFT-Training am SFT-Checkpoint
<a name="nova-iterative-step2"></a>

Erstellen Sie mithilfe des SFT-Checkpoints einen neuen RFT-Trainingsjob:

```
run:  
  name: "rft-on-sft-checkpoint"  
  model_type: amazon.nova-2-lite-v1:0:256k  
  model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<initial-sft-training>"  
  data_s3_path: s3://<bucket>/rft-training-data.jsonl  
  reward_lambda_arn: <your-reward-function-arn>
```

**Begründung**: Das RFT-Training baut auf der SFT-Grundlage auf und ermöglicht es dem Modell, komplexere Argumentationsmuster zu entwickeln, die anhand Ihrer Belohnungsfunktion optimiert sind.

### Schritt 3: Evaluieren und iterieren
<a name="nova-iterative-step3"></a>

Führen Sie die Bewertung am RFT-Checkpoint durch, um die Leistung zu bewerten:

```
run:  
  name: "evaluate-rft-checkpoint"  
  model_type: amazon.nova-2-lite-v1:0:256k  
  model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<rft-on-sft-checkpoint>"  
  data_s3_path: s3://<bucket>/evaluation-data.jsonl
```

Wenn die Zielkennzahlen nicht erfüllt sind, fahren Sie mit der Iteration mit angepassten Daten oder Hyperparametern fort.

**Wichtig**  
Die Trainingstechnik (LoRa vs. Full Rank) muss in allen Iterationen konsistent bleiben:  
**Wenn Sie SFT mit **LoRa verwenden, müssen Sie RFT mit LoRa** verwenden**
**Wenn Sie SFT mit **vollem Rang verwenden, müssen Sie RFT mit vollständigem Rang** verwenden**
Sie können nicht während der Pipeline zwischen LoRa und Full Rank wechseln

**Wichtig**  
Wenn ein KMS-Schlüssel für die Verschlüsselung im Amazon-eigenen Ausgabe-S3-Bucket verwendet wird, muss derselbe KMS-Schlüssel für alle future Iterationen verwendet werden.

## Überwachung des Fortschritts zwischen den Iterationen
<a name="nova-iterative-monitoring"></a>

Du kannst Messwerte nachverfolgen, MLflow [indem du sie MLflow für deine Jobs einrichtest](nova-model-monitor.md#nova-customization-mlflow-setup).

### Erstelle eine MLflow App
<a name="nova-iterative-create-mlflow"></a>

**Verwenden der Studio-Benutzeroberfläche**: Wenn Sie einen Schulungsjob über die Studio-Benutzeroberfläche erstellen, wird automatisch eine MLflow Standard-App erstellt und standardmäßig unter Erweiterte Optionen ausgewählt.

**CLI verwenden**: Wenn Sie die CLI verwenden, müssen Sie eine MLflow App erstellen und sie als Eingabe an die API-Anfrage für den Trainingsjob übergeben.

```
mlflow_app_name="<enter your MLflow app name>"  
role_arn="<enter your role ARN>"   
bucket_name="<enter your bucket name>"   
region="<enter your region>"  
  
mlflow_app_arn=$(aws sagemaker create-mlflow-app \  
  --name $mlflow_app_name \  
  --artifact-store-uri "s3://$bucket_name" \  
  --role-arn $role_arn \  
  --region $region)
```

### Greifen Sie auf die MLflow App zu
<a name="nova-iterative-access-mlflow"></a>

**Verwenden von CLI**: Erstellen Sie eine vorsignierte URL für den Zugriff auf die MLflow App-Benutzeroberfläche:

```
aws sagemaker create-presigned-mlflow-app-url \  
  --arn $mlflow_app_arn \  
  --region $region \  
  --output text
```

**Verwenden der Studio-Benutzeroberfläche**: Die Studio-Benutzeroberfläche zeigt wichtige Kennzahlen an, die in der App-Benutzeroberfläche gespeichert sind, MLflow und bietet einen Link zur MLflow App-Benutzeroberfläche.

### Wichtige Kennzahlen, die es zu verfolgen gilt
<a name="nova-iterative-key-metrics"></a>

Überwachen Sie diese Kennzahlen in allen Iterationen, um die Verbesserung zu bewerten und den Arbeitsfortschritt zu verfolgen:

**Für SFT**
+ Verlustkurven beim Training
+ Anzahl der verbrauchten Proben und Dauer der Probenverarbeitung
+ Leistungsgenauigkeit bei ausgestreckten Testgeräten
+ Formatkonformität (z. B. gültige JSON-Ausgaberate)
+ Unklarheit in Bezug auf domänenspezifische Bewertungsdaten

**Für RFT**
+ Durchschnittliche Belohnungspunktzahlen im Vergleich zum Training
+ Verteilung der Prämien (Prozentsatz der Antworten mit hoher Prämie)
+ Trends bei der Validierung von Prämien (achten Sie auf Überbelegungen)
+ Aufgabenspezifische Erfolgsquoten (z. B. Erfolgsquote bei der Codeausführung, Genauigkeit mathematischer Probleme)

**General**
+ Vergleichen Sie Leistungsdeltas zwischen Iterationen
+ Bewertungsergebnisse am Menschen anhand repräsentativer Stichproben
+ Produktionskennzahlen (bei iterativer Bereitstellung)

### Feststellen, wann gestoppt werden soll
<a name="nova-iterative-when-to-stop"></a>

Beenden Sie die Iteration, wenn:
+ **Leistungsplateaus** — Zusätzliche Schulungen verbessern die Zielkennzahlen nicht mehr nennenswert
+ **Technikwechsel hilft — Wenn eine Technik** ein Plateau erreicht, versuchen Sie es mit einem Wechsel (z. B. SFT → RFT → SFT), um die Leistungsobergrenzen zu durchbrechen
+ **Zielkennzahlen erreicht** — Ihre Erfolgskriterien sind erfüllt
+ **Regression erkannt** — Neue Iterationen verschlechtern die Leistung (siehe Rollback-Verfahren unten)

**Ausführliche Bewertungsverfahren finden Sie im Abschnitt Bewertung.**

## Best Practices
<a name="nova-iterative-best-practices"></a>

### Fangen Sie klein an und skalieren Sie schrittweise
<a name="nova-iterative-start-small"></a>

Beginnen Sie mit minimalen Datensätzen und einzelnen Trainingsepochen, um Ihren Ansatz zu validieren, bevor Sie ihn skalieren. Das schafft Vertrauen und hilft, Probleme frühzeitig zu erkennen.

### Legen Sie klare Erfolgskennzahlen fest
<a name="nova-iterative-success-metrics"></a>

Definieren Sie quantitative und qualitative Indikatoren, bevor Sie beginnen:

**Beispiele für Erfolgskennzahlen nach Anwendungsfall**
+ **Beantwortung von Fragen** — Genaue Treffergenauigkeit, F1-Ergebnis, menschliche Präferenzwerte
+ **Codegenerierung** — Erfolgsquote bei Komponententests, Erfolg bei der Kompilierung, Ausführungszeit
+ **Aufgaben zum Argumentieren** — Genauigkeit der einzelnen Schritte, Richtigkeit der endgültigen Antwort, Punktzahlen
+ **Generierung von Inhalten** — Kohärenzwerte, sachliche Genauigkeit, Einhaltung des Stils

### Implementieren Sie eine automatisierte Bewertung
<a name="nova-iterative-automated-eval"></a>

Richten Sie automatisierte Evaluierungspipelines ein, um die Leistung nach jeder Runde zu verfolgen und so eine schnelle Iteration und einen objektiven Vergleich zu ermöglichen.

### Sorgen Sie für eine strenge Versionskontrolle
<a name="nova-iterative-version-control"></a>

Dokument für jede Iteration:
+ Versionen und Änderungen von Datensätzen
+ Modellieren Sie die Standorte von Checkpoints
+ Änderungen der Hyperparameter
+ Leistungskennzahlen und Deltas
+ Qualitative Beobachtungen

Dadurch wird institutionelles Wissen aufgebaut und das Debuggen ermöglicht.

### Konzentrieren Sie sich auf Datenqualität statt Quantität
<a name="nova-iterative-data-quality"></a>

Analysieren Sie Fehlerfälle aus früheren Runden und fügen Sie gezielte, qualitativ hochwertige Beispiele hinzu, anstatt einfach die Datensatzgröße zu erhöhen.

### Planen Sie das Budget für die Iteration
<a name="nova-iterative-iteration-budget"></a>

Planen Sie für einen typischen **Zeitraum von 3 bis 5 Iterationen** ein:
+ **1—2 Iterationen** — Oft ausreichend für einfache Verbesserungen oder den letzten Feinschliff
+ **3—5 Iterationen** — Geeignet für komplexe Aufgaben, die mehrere Verfeinerungszyklen erfordern
+ **Mehr als 5 Iterationen** — Kann auf sinkende Erträge oder auf die Notwendigkeit unterschiedlicher Ansätze hindeuten

Passen Sie die Anpassung auf der Grundlage des rechnerischen Budgets und der Leistungsverbesserungsraten an.

### Implementieren Sie Rollback-Funktionen
<a name="nova-iterative-rollback"></a>

Wenn eine Iteration Regressionen einführt:
+ **Identifizieren Sie die Regression** — Vergleichen Sie die Bewertungskennzahlen der Checkpoints
+ **Zurück zum vorherigen Checkpoint** — Verwenden Sie den S3-Pfad des früheren Checkpoints als `model_name_or_path`
+ **Trainingsansatz anpassen** — Ändern Sie Daten, Hyperparameter oder Technik, bevor Sie es erneut versuchen
+ **Dokumentieren Sie den Fehler** — Notieren Sie, was die Regression verursacht hat, um eine Wiederholung zu vermeiden

**Beispiel für einen Rollback**

```
run:  
  name: "rollback-to-iteration-2"  
  model_type: amazon.nova-2-lite-v1:0:256k  
  # Use iteration 2 checkpoint instead of failed iteration 3  
  model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<iteration-2-job-name>"
```

## Kostenüberlegungen
<a name="nova-iterative-cost"></a>

### Checkpoint-Speicher
<a name="nova-iterative-checkpoint-storage"></a>
+ **Standort — Für** Checkpoints, die in Treuhandbuchern gespeichert sind, fallen die üblichen S3-Speichergebühren an, die Ihrem Konto in Rechnung gestellt werden AWS 
+ **Aufbewahrung** — Checkpoints werden auf unbestimmte Zeit aufbewahrt, sofern sie nicht ausdrücklich gelöscht werden
+ **Verwaltung** — Implementieren Sie Lebenszyklusrichtlinien, um alte Checkpoints, die Sie nicht mehr benötigen, zu archivieren oder zu löschen

**Tipps zur Kostenoptimierung**
+ Löschen Sie Zwischen-Checkpoints, nachdem Sie neuere Iterationen validiert haben
+ Archivieren Sie Checkpoints auf S3 Glacier für eine langfristige Aufbewahrung zu geringeren Kosten
+ Legen Sie Aufbewahrungsrichtlinien auf der Grundlage Ihrer Compliance- und Testanforderungen fest

## Einschränkungen
<a name="nova-iterative-limitations"></a>

### Modellieren Sie die Konsistenz der Familie
<a name="nova-iterative-model-consistency"></a>

Beim iterativen Training müssen Sie in allen Iterationen **denselben Modelltyp** verwenden.

**Anfängliches Training**

```
run:  
  model_type: amazon.nova-2-lite-v1:0:256k  
  model_name_or_path: "nova-lite-2/prod"
```

**Nachfolgende Iterationen müssen denselben Model\$1Type verwenden**

```
run:  
  model_type: amazon.nova-2-lite-v1:0:256k  # Must match original  
  model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
```

### Konsistenz der Trainingstechnik
<a name="nova-iterative-technique-consistency"></a>

Die Trainingstechnik muss in allen Iterationen konsistent bleiben:
+ Mit **LoRa trainierte Modelle** können nur iterativ mit LoRa trainiert werden
+ **Full-Rank-trained Modelle können nur iterativ** mit Full-Rank trainiert werden

**Wie funktionieren LoRa-Adapter im iterativen Training**
+ Jede LoRa-Trainingsitation produziert neue Adaptergewichte
+ Neue Adapter ersetzen frühere Adapter (nicht im Stapel)
+ Das Basismodell bleibt eingefroren; nur Adapter werden aktualisiert

### Kompatibilitätsmatrix für die Technik
<a name="nova-iterative-compatibility-matrix"></a>


| Erstausbildung | Kann mit iterieren | 
| --- | --- | 
| SFT (voller Rang) | SFT (voller Rang), RFT (voller Rang) | 
| SFT (LoRa) | SFT (LoRa), RFT (LoRa) | 
| RFT (voller Rang) | RFT (voller Rang) | 
| RFT (LoRa) | RFT (LoRa) | 

**Überprüfung der Kompatibilität vor Beginn eines Jobs**
+ Überprüfe dein vorheriges Trainingsrezept, um den Modelltyp und die Trainingstechnik zu ermitteln (LoRa oder Full-Rank)
+ Vergewissere dich, dass dein neues Rezept sowohl dem Modelltyp als auch der Technik entspricht
+ Überprüfen Sie die Datei manifest.json, um sicherzustellen, dass der Checkpoint-Pfad korrekt ist

## Fehlerbehebung
<a name="nova-iterative-troubleshooting"></a>

### Fehler: „Inkompatible Modelltrainingstechniken erkannt“
<a name="nova-iterative-error-incompatible"></a>

**Ursache**: Die Trainingstechnik (LoRa vs. Full-Rank) stimmt nicht mit der Technik des Checkpoints überein.

**Lösung**: Stellen Sie sicher, dass Ihr Rezept dieselbe Trainingstechnik wie das Originalmodell verwendet:
+ Wenn der Checkpoint mit LoRa trainiert wurde, verwenden Sie LoRa in Ihrem neuen Rezept
+ Wenn der Checkpoint mit Full-Rank trainiert wurde, verwende Full-Rank in deinem neuen Rezept

### Fehler: „Das Basismodell für den Job, der aus model\$1name\$1or\$1path extrahiert wurde, stimmt nicht mit model\$1type überein“
<a name="nova-iterative-error-base-model"></a>

**Ursache**: Der in angegebene Modelltyp stimmt `model_type` nicht mit dem tatsächlichen Modell im Checkpoint überein.

**Lösung**: Stellen Sie sicher, dass:
+ Der `model_type` in Ihrem Rezept angegebene Typ entspricht dem ursprünglichen Modelltyp
+ Der Checkpoint S3-Pfad `model_name_or_path` ist korrekt
+ Sie verwenden den Pfad aus der richtigen manifest.json-Datei

**Beispiel für eine korrekte Konfiguration**

```
run:  
  model_type: amazon.nova-2-lite-v1:0:256k  # Must match checkpoint's model  
  model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
```

### Fehler: „Modellkonfiguration nicht gefunden“
<a name="nova-iterative-error-config"></a>

**Ursache**: Der S3-Pfad in `model_name_or_path` ist ungültig oder es kann nicht darauf zugegriffen werden.

**Auflösung**
+ Stellen Sie sicher, dass der S3-Pfad korrekt aus der Datei manifest.json kopiert wurde
+ Stellen Sie sicher, dass Ihre IAM-Rolle über Berechtigungen für den Zugriff auf den Treuhandbereich verfügt
+ Bestätigen Sie, dass der vorherige Schulungsjob erfolgreich abgeschlossen wurde
+ Überprüfen Sie den Pfad auf Tippfehler

### Leistungsrückgang nach der Iteration
<a name="nova-iterative-error-regression"></a>

**Symptome: Die** Bewertungskennzahlen nehmen nach einer neuen Trainingsiteration ab.

**Auflösung**
+ **Rollback** — Verwenden Sie den vorherigen Checkpoint als Basismodell
+ **Analysieren** — Überprüfen Sie die Trainingsprotokolle und die Datenqualität für die fehlgeschlagene Iteration
+ **Anpassen** — Ändern Sie Hyperparameter (reduzieren Sie die Lernrate), verbessern Sie die Datenqualität oder verkürzen Sie Trainingsepochen
+ **Wiederholen** — Startet eine neue Iteration mit Anpassungen