

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) auf Nova 2.0 am SageMaker HyperPod
<a name="nova-cpt-2"></a>

Amazon Nova Lite 2.0 ist ein Argumentationsmodell, das auf größeren und vielfältigeren Datensätzen als Nova Lite 1.0 trainiert wurde. Obwohl Nova Lite 2.0 ein größeres Modell ist, liefert es schnellere Inferenzen als Nova Lite 1.0 und bietet gleichzeitig erweiterte Argumentationsfunktionen, längere Kontextlängen und eine verbesserte mehrsprachige Leistung.

Mit CPT auf Nova 2.0 Lite können Sie diese erweiterten Funktionen mit Ihren domänenspezifischen Daten erweitern und fundiertes Fachwissen in speziellen Bereichen entwickeln, während Sie gleichzeitig die überlegenen Denk- und Analysefähigkeiten des Modells beibehalten.

## Beispiel für ein CPT-Rezept
<a name="nova-cpt-2-sample-recipe"></a>

Im Folgenden finden Sie ein Beispielrezept für CPT. Sie finden dieses Rezept und andere im [ SageMaker HyperPod ](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/training/nova) Rezept-Repository unter GitHub.

```
# Note:
# This recipe can run on p5.48xlarge
# Run config
run:
  name: "my-cpt-run"                           # A descriptive name for your training job
  model_type: "amazon.nova-2-lite-v1:0:256k"   # Model variant specification, do not change
  model_name_or_path: "nova-lite-2/prod"        # Base model path, do not change
  replicas: 8                                   # Number of compute instances for training, allowed values are 4, 8, 16, 32
  data_s3_path: ""                              # Customer data paths
  validation_data_s3_path: ""                   # Customer validation data paths
  output_s3_path: ""                            # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training Jobs
  mlflow_tracking_uri: ""                       # Required for MLFlow
  mlflow_experiment_name: "my-cpt-experiment"   # Optional for MLFlow. Note: leave this field non-empty
  mlflow_run_name: "my-cpt-run"                 # Optional for MLFlow. Note: leave this field non-empty

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

  trainer:
    max_steps: 10                               # The number of training steps to run total
    val_check_interval: 10                      # The number of steps between running validation. Integer count or float percentage
    limit_val_batches: 2                        # Batches of the validation set to use each trigger

  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

  optim:
    optimizer: adam
    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
    adam_beta1: 0.9                             # Beta1 for Adam optimizer
    adam_beta2: 0.95                            # Beta2 for Adam optimizer
    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
```

## Ich beginne einen weiteren Job vor dem Training am SageMaker HyperPod
<a name="nova-cpt-2-starting-job"></a>

### Aufbereitung Ihrer Daten
<a name="nova-cpt-2-preparing-data"></a>

Informationen zum Datenformat, zu den unterstützten Funktionen, Einschränkungen und bewährten Methoden für die Vorbereitung von CPT-Trainingsdaten finden Sie unter. [Daten für CPT auf Amazon Nova 2 vorbereiten](nova-data-prep-cpt-2.md)

### Hochladen Ihrer Daten
<a name="nova-cpt-2-data-upload"></a>

Laden Sie Trainings- und Validierungsdatensätze in einen S3-Bucket hoch. Geben Sie diese Speicherorte im `run` Rezeptblock an:

```
## Run config
run:
  ...
  data_s3_path: "s3://<bucket-name>/<training-directory>/<training-file>.jsonl"
  validation_data_s3_path: "s3://<bucket-name>/<validation-directory>/<validation-file>.jsonl"
```

**Anmerkung**  
Ersetzen Sie `<bucket-name>``<training-directory>`, `<validation-directory>``<training-file>`, und `<validation-file>` durch tatsächliche S3-Pfade.

### Definieren Sie Ihre Konfiguration
<a name="nova-cpt-2-defining-config"></a>

Definieren Sie das Basismodell mithilfe der `model_name_or_path` Felder `model_type` und im `run` Block:

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

## CPT-Tuning-Parameter
<a name="nova-cpt-2-tuning-parameters"></a>

Zu den Parametern, die für die Feinabstimmung mit CPT verfügbar sind, gehören:

**Ausführungskonfiguration**  

+ **Name**: Ein aussagekräftiger Name für Ihren Ausbildungsberuf. Dies hilft Ihnen, Ihren Job in der AWS Management Console zu identifizieren.
+ **model\_type**: Die zu verwendende Amazon Nova-Modellvariante. Die verfügbaren Optionen sind. `amazon.nova-2-lite-v1:0:256k`
+ **model\_name\_or\_path**: Der Pfad zum Basismodell, das Sie für Ihr Training verwenden möchten. Die verfügbaren Optionen sind `nova-lite-2/prod` oder der S3-Pfad für den Checkpoint nach dem Training (). `s3://customer-escrow-bucket-unique_id/training_run_name`
+ **Repliken**: Die Anzahl der Recheninstanzen, die für verteiltes Training verwendet werden sollen. Die verfügbaren Werte variieren abhängig vom ausgewählten Modell. Amazon Nova Lite 2.0 unterstützt 4, 8, 16 oder 32 Replikate.
+ **data\_s3\_path**: Der S3-Speicherort des Trainingsdatensatzes, bei dem es sich um eine JSONL-Datei handelt. Diese Datei muss sich in demselben Konto und derselben Region wie AWS 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, bei dem es sich um eine JSONL-Datei handelt. 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 Protokolle gespeichert sind. TensorBoard Alle angegebenen S3-Speicherorte müssen sich in demselben Konto und derselben AWS Region befinden. AWS 
+ **mlflow\_tracking\_uri**: Der ARN der MLflow-App, der für die MLflow-Protokollierung verwendet werden soll
+ **mlflow\_experiment\_name**: Name des MLflow-Experiments
+ **mlflow\_run\_name**: MLflow-Laufname

**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, dass Sie den Parameter max\_length an Ihre Datenverteilung anpassen.
+ **global\_batch\_size**: Die Gesamtzahl der Trainingsproben, die zusammen in einem Vorwärts- oder Rückwärtsdurchgang auf allen Geräten und Mitarbeitern 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.

**Trainer-Einstellungen**  

+ **max\_steps**: Die Anzahl der auszuführenden Trainingsschritte. Bei jedem Schritt wird das Modell mit der `global_batch_size` Anzahl der Elemente trainiert

**Modelleinstellungen**  

+ **hidden\_dropout**: Die Wahrscheinlichkeit, versteckte State-Ausgaben zu löschen. 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 Aufmerksamkeitsgewichte fallen. Dieser Parameter kann bei der Generalisierung helfen. Zulässig sind alle Werte zwischen 0 und 1, beide inklusive.

**Konfiguration des Optimierers**  

+ **lr**: Die Lernrate, die die Schrittweite bei 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, um die Lernrate schrittweise zu erhöhen. Dies verbessert die Trainingsstabilität. Zulässig sind alle Werte zwischen 1 und 20, beide inklusive.
+ **min\_lr**: Die minimale Lernrate am Ende des Zerfalls. Gültige Werte liegen zwischen 0 und 1 (beide inklusive), müssen jedoch unter der Lernrate liegen.