

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.

# Tutorials — Amazon SageMaker HyperPod Checkpointless — Vortraining oder Feinabstimmung benutzerdefinierter Modelle
<a name="sagemaker-eks-checkpointless-recipes-custom"></a>

Die folgende Abfolge von Schritten ist erforderlich, um ein Training ohne Checkpoint durchzuführen, während Ihr benutzerdefiniertes Modell aktiviert ist. HyperPod

## Voraussetzungen
<a name="sagemaker-eks-checkpointless-recipes-custom-prereqs"></a>

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ [Amazon EKS-Unterstützung in Amazon aktiviert SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Richten Sie den HyperPod Trainingsoperator ein (v1.2\$1)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)
+ Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
+ Daten in einem der folgenden Formate:
  + JSON
  + JSONGZ (komprimiertes JSON)
  + ARROW
+ [Laden Sie die Gewichte des Modells Hugging Face](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) [herunter und konvertieren Sie es in das von Nemo unterstützte Format.](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemo-2.0/features/hf-integration.html#importing-from-hugging-face)
+ Einrichtung Ihrer Umgebung

## Einrichtung der Kubernetes-Umgebung
<a name="sagemaker-eks-checkpointless-recipes-custom-kubernetes"></a>

Gehen Sie wie folgt vor, um Ihre Kubernetes-Umgebung einzurichten:

1. Richten Sie die virtuelle Umgebung ein. Stellen Sie sicher, dass Sie Python verwenden, das größer oder gleich 3.10 und kleiner als 3.14 ist.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. [Richten Sie kubectl und eksctl ein](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   ```

1. Abhängigkeiten installieren

   ```
   # install SageMaker HyperPod checkpointless training.
   git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git
   cd sagemaker-hyperpod-checkpointless-training
   ```

## Anweisungen zur Änderung des Trainings ohne Checkpointless
<a name="sagemaker-eks-checkpointless-recipes-custom-modification-instructions"></a>

Folgen Sie dem Integrationsleitfaden (hier verwenden wir das Llama 3 70b Pretraining als Beispiel), um das Training ohne Checkpoint für benutzerdefinierte Modelle schrittweise einzuführen. Dieser beinhaltet:
+ Schnelle Erstellung von Kommunikatoren
+ Datenlader mit Speicherabbildung (MMAP)
+ Prozessbegleitende Wiederherstellung und Wiederherstellung ohne Checkpoint

### Komponente 1: Schnelle Erstellung von Kommunikatoren
<a name="sagemaker-eks-checkpointless-recipes-custom-component1"></a>

Dies dient dazu, die Zeit für den Aufbau von Verbindungen zwischen den Arbeitern zu optimieren. Es sind keine Codeänderungen erforderlich und es müssen lediglich Umgebungsvariablen gesetzt werden

```
  # Enable Rootless features
  export HPCT_USE_ROOTLESS=1 && \
  sysctl -w net.ipv4.ip_local_port_range="20000 65535" && \

  hyperpodrun --nproc_per_node=8 \
              ...
              --inprocess-restart \
              ...
```

Die vollständige Änderung finden Sie in der Konfiguration des [llama3 70 Pretrain](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/launch/pretrain_llama3_70b_checkpointless_p5.yaml) Launch Jobs.

### Komponente 2: Memory-mapped Dataloader (MMAP)
<a name="sagemaker-eks-checkpointless-recipes-custom-component2"></a>

MMAP-Caches zum Speichern vorab abgerufener Datenproben und ermöglichen einen sofortigen Trainingsstart, ohne auf die Datenvorverarbeitung warten zu müssen. Für die Übernahme durch das Umschließen vorhandener Dataloader sind nur minimale Codeänderungen erforderlich.

```
data_module = MMAPDataModule(
  data_module=base_data_module,
  mmap_config=CacheResumeMMAPConfig(cache_dir=…)
)
```

### Komponenten 3 und 4: Prozessbegleitende Wiederherstellung und Wiederherstellung ohne Checkpoint
<a name="sagemaker-eks-checkpointless-recipes-custom-components3-4"></a>

Dies ermöglicht die Wiederherstellung nach einem Ausfall, ohne die Trainingsprozesse neu starten oder das Laden von Checkpoints aus durchführen zu müssen. Zusätzliche Codeänderungen erforderlich (Aktualisierung der Strategie- und Trainingskonfiguration, Wrapping vorhandener Hauptdateien)

```
@HPWrapper(
  health_check=CudaHealthCheck(),
  hp_api_factory=HPAgentK8sAPIFactory(),
  abort_timeout=60.0,
...)
def run_main(
  cfg,
  caller: Optional[HPCallWrapper] = None):
...


CheckpointlessMegatronStrategy(
  **self.cfg.strategy,
  ddp=self.ddp,
)
```

Die vollständige Änderung finden Sie im [Pretrain-Eintragsskript llama3 70](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/llama3_70b_pretrain_checkpointless.py) und die entsprechende Änderung der Trainingskonfiguration finden Sie in der [llama3](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/config/llama3_70b_peft_checkpointless.yaml) 70b-Trainingskonfiguration.

### Starten Sie das Training
<a name="sagemaker-eks-checkpointless-recipes-custom-launch"></a>

Sie können das Checkpointless-Training jetzt mit kubectl starten.

```
kubectl apply -f your_job_config.yaml
```