

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.

# Fortgesetztes Vortraining (CPT)
<a name="nova-cpt"></a>

Continued Pre-Training (CPT) ist eine Trainingstechnik, die die Vortrainingsphase eines Basismodells verlängert, indem es mit zusätzlichem unbeschriftetem Text aus bestimmten Bereichen oder Korpora vertraut gemacht wird. Im Gegensatz zur überwachten Feinabstimmung, für die beschriftete Input-Output-Paare erforderlich sind, trainiert CPT anhand von Rohdokumenten, um dem Modell zu helfen, sich tiefere Kenntnisse über neue Bereiche anzueignen, domänenspezifische Terminologie und Schreibmuster zu erlernen und sich an bestimmte Inhaltstypen oder Fachbereiche anzupassen.

Dieser Ansatz ist besonders nützlich, wenn Sie über große Mengen (zig Milliarden Tokens) domänenspezifischer Textdaten verfügen, wie z. B. Rechtsdokumente, medizinische Literatur, technische Dokumentation oder firmeneigene Geschäftsinhalte, und Sie möchten, dass das Modell in diesem Bereich systemeigene Sprachkenntnisse entwickelt. Im Allgemeinen muss das Modell nach der CPT-Phase weitere Stufen zur Anpassung der Anweisungen durchlaufen, damit das Modell das neu gewonnene Wissen nutzen und nützliche Aufgaben ausführen kann.

**Unterstützte Modelle**  
CPT ist für die folgenden Amazon Nova-Modelle verfügbar:
+ Nova 1.0 (Micro, Lite, Pro)
+ Nova 2.0 (Lite)

Wählen Sie Nova 1.0, wenn Folgendes zutrifft:
+ Ihr Anwendungsfall erfordert Standardsprachenkenntnisse ohne fortgeschrittene Argumentation.
+ Sie möchten für niedrigere Schulungs- und Inferenzkosten optimieren.
+ Ihr Schwerpunkt liegt eher darauf, dem Modell domänenspezifisches Wissen und Verhalten beizubringen, als komplexe Denkaufgaben.
+ Sie haben die Leistung von Nova 1.0 bereits validiert und benötigen keine zusätzlichen Funktionen.

**Anmerkung**  
Das größere Modell ist nicht immer besser. Berücksichtigen Sie bei der Auswahl zwischen den Modellen Nova 1.0 und Nova 2.0 den Kosten-Nutzen-Kompromiss und Ihre spezifischen Geschäftsanforderungen.

# CPT auf Nova 1.0
<a name="nova-cpt-1"></a>

Sie sollten CPT in den folgenden Szenarien verwenden:
+ Sie verfügen über umfangreiche, unbeschriftete Daten, die spezifisch für einen bestimmten Bereich sind (z. B. Medizin oder Finanzen).
+ Sie möchten, dass das Modell allgemeine Sprachfunktionen beibehält und betreffend bereichsspezifischer Inhalte verbessert wird.
+ Sie möchten die Zero-Shot- und Few-Shot-Leistung in speziellen Bereichen verbessern, ohne umfangreiche, aufgabenspezifische Optimierungen vornehmen zu müssen.

**Anforderungen an das Datenformat**  
Wir empfehlen, bei der Durchführung von CPT die folgenden Datensatzmerkmale einzuhalten:
+ **Diversität**: Ihre Daten sollten ein breites Spektrum von Ausdrücken innerhalb des Zielbereichs abdecken, um eine Überanpassung zu vermeiden.
+ **Repräsentation**: Ihre Daten sollten die Verteilung widerspiegeln, der das Modell bei der Inferenz ausgesetzt sein wird.
+ **Reinheit**: Rauschen und Redundanz in Ihren Daten können die Leistung beeinträchtigen. Deduplizierung und Textnormalisierung verbessern das Modelltraining.
+ **Skalierung**: Größere Datensätze sind hilfreich, aber ab einem bestimmten Schwellenwert (z. B. die Ausführung mehrerer Epochen mit begrenzten Daten) steigt das Risiko einer Überanpassung.

Bei den Trainings- und Validierungsdatensätzen muss es sich um JSONL-Dateien im unten angegebenen Format handeln, wobei jede Zeile ein JSON-Objekt enthält, das eine Konversation mit den erforderlichen Feldern und der erforderlichen Struktur darstellt. Ein Beispiel:

```
{"text": "AWS stands for Amazon Web Services"}
{"text": "Amazon SageMaker is a fully managed machine learning service"}
{"text": "Amazon Bedrock is a fully managed service for foundation models"}
```

Texteinträge sollten natürlich fließende, qualitativ hochwertige Inhalte enthalten, die Ihren Zielbereich repräsentieren.

**Datensatzvalidierung**  
Um Ihren Datensatz zu validieren, bevor Sie Ihren CPT-Job einreichen, überprüfen Sie die folgenden Bedingungen:
+ Jede Zeile muss ein gültiges JSON-Objekt enthalten.
+ Jedes Objekt hat ein „Text“-Feld, das Zeichenkettendaten enthält.
+ Es sind keine anderen Felder als „Text“ vorhanden.
+ Die Datei ist eine `.jsonl`-Erweiterung.

**Trainingsdauer**  
Wie viel Zeit für das Training aufgewendet wird, hängt stark von der Größe des Datensatzes, der Anzahl der verwendeten Instances und dem trainierten Modell ab. Die Trainingsdauer steigt gewöhnlich linear an. Die folgende Tabelle enthält einige Beispiele zur Trainingsdauer für verschiedene Modelle.


| Modelltyp | GB | Anzahl der Proben im Datensatz | Anzahl der P5-Instances | `max_length` Wert | Ungefähre Trainingsdauer in Stunden | 
| --- |--- |--- |--- |--- |--- |
| Amazon Nova Micro | 256 | 100 000 | 8 | 8,192 | 4 | 
| Amazon Nova Lite | 256 | 100 000 | 16 | 8,192 | 4 | 
| Amazon Nova Pro | 256 | 100 000 | 24 | 8,192 | 10 | 

Bei den Trainings- und Validierungsdatensätzen muss es sich um JSONL-Dateien im unten angegebenen Format handeln, wobei jede Zeile ein JSON-Objekt enthält, das eine Konversation mit den erforderlichen Feldern und der erforderlichen Struktur darstellt.

Zu den Amazon-Nova-Parametern, die für die Optimierung mit CPT verfügbar sind, gehören:
+ **Ausführungskonfiguration**
  + `name`: Ein aussagekräftiger Name für Ihren Trainingsjob. Dies hilft dabei, Ihren Job in der zu identifizieren. AWS-Managementkonsole
  + `model_type`: Die zu verwendende Amazon-Nova-Modellvariante. Die verfügbaren Optionen sind `amazon.nova-micro-v1:0:128k`, `amazon.nova-lite-v1:0:300k` oder `amazon.nova-pro-v1:0:300k`.
  + `model_name_or_path`: Der Pfad zum Basismodell, das Sie für Ihr Training verwenden. Die verfügbaren Optionen sind `nova-micro/prod`, `nova-lite/prod`, `nova-pro/prod`, oder der S3-Pfad für den Checkpoint nach dem Training (`s3://customer-escrow-bucket-unique_id/training_run_name`).
  + `replicas`: Die Anzahl der Datenverarbeitungs-Instances, die für das verteilte Training verwendet werden sollen. Die verfügbaren Werte variieren abhängig vom ausgewählten Modell. Amazon Nova Micro unterstützt 2, 4 oder 8 Replikate. Amazon Nova Lite unterstützt 4, 8, 16 oder 32 Replikate. Amazon Nova Pro unterstützt 6, 12 oder 24 Replikate.
  + `data_s3_path`: Der S3-Speicherort des Trainingsdatensatzes, der eine JSONL-Datei ist. Diese Datei muss sich in derselben AWS-Konto Region wie der Cluster befinden. Alle angegebenen S3-Standorte müssen sich im selben Konto und in derselben Region befinden.
  + `validation_data_s3_path`: (Optional) Der S3-Speicherort des Validierungsdatensatzes, der eine JSONL-Datei ist. Diese Datei muss sich im selben Konto und derselben Region wie der Cluster befinden. Alle angegebenen S3-Standorte müssen sich im selben Konto und in derselben Region befinden.
  + `output_s3_path`: Der S3-Speicherort, an dem das Manifest und die TensorBoard Protokolle gespeichert sind. Alle angegebenen S3-Speicherorte müssen sich im selben AWS-Konto und in derselben AWS-Region befinden.
+ **Konfiguration des Trainings**
  + `max_length`: Die maximale Sequenzlänge in Token. Dies bestimmt die Größe des Kontextfensters für das Training. Der maximal unterstützte Wert beträgt 8192 Token für CPT.

    Längere Sequenzen verbessern die Trainingseffizienz auf Kosten eines erhöhten Speicherbedarfs. Wir empfehlen Ihnen, den Parameter `max_length` an Ihre Datenverteilung anzupassen.
+ **Trainer-Einstellungen**
  + `global_batch_size`: Die Gesamtzahl der Trainingsproben, die zusammen in einem Vorwärts- oder Rückwärtsdurchlauf auf allen Geräten und Workern verarbeitet wurden.

    Dieser Wert multipliziert die Batchgröße pro Gerät und die Anzahl der Geräte. Er wirkt sich auf die Stabilität des Trainings und den Durchsatz aus. Wir empfehlen Ihnen, mit einer Batchgröße zu beginnen, die problemlos in Ihren Arbeitsspeicher passt, und anschließend hochzuskalieren. Bei Domain-spezifischen Daten können größere Batches zu einer übermäßigen Gradientenglättung führen.
  + `max_epochs`: die Anzahl abgeschlossener Durchläufe durch Ihren Trainingsdatensatz

    Im Allgemeinen benötigen größere Datensätze weniger Epochen zum Konvergieren und kleinere Datensätze mehr Epochen. Wir empfehlen, die Anzahl der Epochen an die Größe der Daten anzupassen, um eine Überanpassung zu vermeiden.
+ **Modelleinstellungen**
  + `hidden_dropout`: Die Wahrscheinlichkeit, dass versteckte Zustandsausgaben verloren gehen. Erhöhen Sie diesen Wert um etwa 0,0 bis 0,2, um eine Überanpassung bei kleineren Datensätzen zu vermeiden. Zulässig sind alle Werte zwischen 0 und 1, beide inklusive.
  + `attention_dropout`: Die Wahrscheinlichkeit, dass Aufmerksamkeitsgewichtungen verloren gehen. Dieser Parameter kann bei der Generalisierung helfen. Zulässig sind alle Werte zwischen 0 und 1, beide inklusive.
  + `ffn_dropout`: Die Wahrscheinlichkeit, dass Ausgaben eines Feed-Forward-Netzwerks verloren gehen. Zulässig sind alle Werte zwischen 0 und 1, beide inklusive.
+ **Konfiguration des Optimierers**
  + `lr`: Die Lernrate, die die Schrittgröße während der Optimierung steuert. Für eine gute Leistung empfehlen wir Werte zwischen 1e-6 und 1e-4. Zulässig sind alle Werte zwischen 0 und 1, beide inklusive.
  + `name`: Der Optimierer-Algorithmus. Derzeit wird nur `distributed_fused_adam` unterstützt.
  + `weight_decay`: Die Stärke der L2-Regularisierung. Höhere Werte (zwischen 0,01 und 0,1) erhöhen die Regularisierung.
  + `warmup_steps`: Die Anzahl der Schritte zur schrittweisen Erhöhung der Lernrate. Dies verbessert die Trainingsstabilität. Zulässig sind alle Werte zwischen 1 und 20, beide inklusive.
  + `min_lr`: Die minimale Lernrate am Ende des Rückgangs. Gültige Werte liegen zwischen 0 und 1 (beide inklusive), müssen jedoch unter der Lernrate liegen.

**CPT-Rezept**  
Das Folgende ist ein Rezept für CPT.

```
## Run config
run:
  name: "my-cpt-run"             # A descriptive name for your training job
  model_type: "amazon.nova-lite-v1:0:300k"  # Model variant specification, do not change
  model_name_or_path: "nova-lite/prod"      # Base model path, do not change
  replicas: 4                     # Number of compute instances for training, allowed values are 4, 8, 16
  data_s3_path: [S3_PATH_TO_TRAIN_DATASET]
  validation_data_s3_path: (OPTIONAL)[S3_PATH_TO_VALIDATION_DATASET]
  output_s3_path: [S3_PATH_TO_STORE_MANIFEST]

## Training specific configs
training_config:
  max_length: 8192               # Maximum context window size (tokens).
  global_batch_size: 256           # Global batch size, allowed values are 32, 64, 128, 256.

  trainer:
      max_epochs: 2                # Number of training epochs

  model:
      hidden_dropout: 0.0          # Dropout for hidden states, must be between 0.0 and 1.0
      attention_dropout: 0.0       # Dropout for attention weights, must be between 0.0 and 1.0
      ffn_dropout: 0.0             # Dropout for feed-forward networks, must be between 0.0 and 1.0

      optim:
        lr: 1e-5                 # Learning rate
        name: distributed_fused_adam  # Optimizer algorithm, do not change
        adam_w_mode: true        # Enable AdamW mode
        eps: 1e-06               # Epsilon for numerical stability
        weight_decay: 0.0        # L2 regularization strength, must be between 0.0 and 1.0
        betas:                   # Adam optimizer betas, must be between 0.0 and 1.0
          - 0.9
          - 0.999
        sched:
          warmup_steps: 10     # Learning rate warmup steps
          constant_steps: 0    # Steps at constant learning rate
          min_lr: 1e-6         # Minimum learning rate, must be lower than lr
```

**Einschränkungen**  
Für CPT gelten folgende Einschränkungen:
+ Multimodale Datensätze werden nicht unterstützt.
+ Zwischen-Checkpoints werden nicht zur Bewertung gespeichert und Sie können nicht von einem Zwischen-Checkpoint aus fortfahren. Nur der letzte Checkpoint wird gespeichert.