Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Tutorial zur Vorbereitung von SageMaker Trainingsjobs bei Trainium

Fokusmodus
Tutorial zur Vorbereitung von SageMaker Trainingsjobs bei Trainium - Amazon SageMaker KI

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.

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.

Dieses Tutorial führt Sie Schritt für Schritt durch die Einrichtung und Ausführung eines Vorbereitungsjobs mithilfe von Trainingsaufträgen mit SageMaker Trainium-Instanzen. AWS

  • So richten Sie Ihre Umgebung ein

  • Starten Sie einen Schulungsjob

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen.

Voraussetzungen

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • FSx Amazon-Dateisystem oder S3-Bucket, in den Sie die Daten laden und die Trainingsartefakte ausgeben können.

  • Fordern Sie ein Service-Kontingent für die ml.trn1.32xlarge Instance auf Amazon SageMaker AI an. Gehen Sie wie folgt vor, um eine Erhöhung des Servicekontingents zu beantragen:

    Um eine Erhöhung des Servicekontingents für die ml.trn1.32xlarge-Instance zu beantragen
    1. Navigieren Sie zur AWS Service Quotas Quotas-Konsole.

    2. Wählen Sie AWS Dienste aus.

    3. Wählen Sie aus JupyterLab.

    4. Geben Sie eine Instanz für anml.trn1.32xlarge.

  • Erstellen Sie eine AWS Identity and Access Management (IAM-) Rolle mit den AmazonSageMakerFullAccess und AmazonEC2FullAccess verwalteten Richtlinien. Diese Richtlinien gewähren Amazon SageMaker AI die Erlaubnis, die Beispiele auszuführen.

  • Daten in einem der folgenden Formate:

    • JSON

    • JSONGZ (komprimiertes JSON)

    • PFEIL

  • (Optional) Wenn du die vortrainierten Gewichte von einem Lama 3.2-Modell benötigst HuggingFace oder wenn du ein Lama 3.2-Modell trainierst, musst du dir den HuggingFace Token besorgen, bevor du mit dem Training beginnst. Weitere Informationen zum Abrufen des Tokens finden Sie unter Benutzerzugriffstoken.

Richten Sie Ihre Umgebung für Trainium-Schulungsjobs SageMaker ein

Bevor Sie einen SageMaker Trainingsjob ausführen, konfigurieren Sie mit dem aws configure Befehl Ihre AWS Anmeldeinformationen und Ihre bevorzugte Region. Als Alternative können Sie Ihre Anmeldeinformationen auch über Umgebungsvariablen wie AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, und angebenAWS_SESSION_TOKEN. Weitere Informationen finden Sie unter SageMaker AI Python SDK.

Wir empfehlen dringend, ein SageMaker KI-Jupyter-Notizbuch in SageMaker KI JupyterLab zu verwenden, um einen SageMaker Trainingsjob zu starten. Weitere Informationen finden Sie unter SageMaker JupyterLab.

  • (Optional) Wenn Sie das Jupyter-Notebook in Amazon SageMaker Studio verwenden, können Sie die Ausführung des folgenden Befehls überspringen. Stellen Sie sicher, dass Sie eine Version >= Python 3.9 verwenden

    # set up a virtual environment python3 -m venv ${PWD}/venv source venv/bin/activate # install dependencies after git clone. git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git cd sagemaker-hyperpod-recipes pip3 install -r requirements.txt
  • Installieren Sie das SageMaker AI Python SDK

    pip3 install --upgrade sagemaker
    • Wenn Sie einen multimodalen Lama 3.2-Trainingsjob ausführen, muss die transformers Version 4.45.2 oder höher sein.

      • Hängen Sie transformers==4.45.2 es nur an requirements.txt in source_dir an, wenn Sie das SageMaker AI Python SDK verwenden.

      • Wenn Sie HyperPod Rezepte zum Starten sm_jobs als Clustertyp verwenden, müssen Sie die Transformer-Version nicht angeben.

    • Container: Der Neuron-Container wird automatisch vom SageMaker AI Python SDK festgelegt.

Starten Sie den Trainingsjob mit einem Jupyter Notebook

Sie können den folgenden Python-Code verwenden, um einen SageMaker Trainingsjob nach Ihrem Rezept auszuführen. Es nutzt den PyTorch Schätzer aus dem SageMaker AI Python SDK, um das Rezept einzureichen. Im folgenden Beispiel wird das Rezept llama3-8b als KI-Trainingsjob gestartet. SageMaker

  • compiler_cache_url: Cache, der zum Speichern der kompilierten Artefakte verwendet werden soll, z. B. eines Amazon S3 S3-Artefakts.

import os import sagemaker,boto3 from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch sagemaker_session = sagemaker.Session() role = sagemaker.get_execution_role() recipe_overrides = { "run": { "results_dir": "/opt/ml/model", }, "exp_manager": { "explicit_log_dir": "/opt/ml/output/tensorboard", }, "data": { "train_dir": "/opt/ml/input/data/train", }, "model": { "model_config": "/opt/ml/input/data/train/config.json", }, "compiler_cache_url": "<compiler_cache_url>" } tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=os.path.join(output, 'tensorboard'), container_local_output_path=overrides["exp_manager"]["explicit_log_dir"] ) estimator = PyTorch( output_path=output_path, base_job_name=f"llama-trn", role=role, instance_type="ml.trn1.32xlarge", sagemaker_session=sagemaker_session, training_recipe="training/llama/hf_llama3_70b_seq8k_trn1x16_pretrain", recipe_overrides=recipe_overrides, ) estimator.fit(inputs={"train": "your-inputs"}, wait=True)

Der obige Code erstellt ein PyTorch Schätzerobjekt mit dem Trainingsrezept und passt das Modell dann mithilfe der fit() Methode an. Verwenden Sie den training_recipe Parameter, um das Rezept anzugeben, das Sie für das Training verwenden möchten.

Starten Sie den Trainingsjob mit dem Launcher für Rezepte

  • Aktualisieren: ./recipes_collection/cluster/sm_jobs.yaml

    • compiler_cache_url: Die URL, die zum Speichern der Artefakte verwendet wurde. Es kann sich um eine Amazon S3 S3-URL handeln.

    sm_jobs_config: output_path: <s3_output_path> wait: True tensorboard_config: output_path: <s3_output_path> container_logs_path: /opt/ml/output/tensorboard # Path to logs on the container wait: True # Whether to wait for training job to finish inputs: # Inputs to call fit with. Set either s3 or file_system, not both. s3: # Dictionary of channel names and s3 URIs. For GPUs, use channels for train and validation. train: <s3_train_data_path> val: null additional_estimator_kwargs: # All other additional args to pass to estimator. Must be int, float or string. max_run: 180000 image_uri: <your_image_uri> enable_remote_debug: True py_version: py39 recipe_overrides: model: exp_manager: exp_dir: <exp_dir> data: train_dir: /opt/ml/input/data/train val_dir: /opt/ml/input/data/val
  • Aktualisieren: ./recipes_collection/config.yaml

    defaults: - _self_ - cluster: sm_jobs - recipes: training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain cluster_type: sm_jobs # bcm, bcp, k8s or sm_jobs. If bcm, k8s or sm_jobs, it must match - cluster above. instance_type: ml.trn1.32xlarge base_results_dir: ~/sm_job/hf_llama3_8B # Location to store the results, checkpoints and logs.
  • Starten Sie den Job mit main.py

    python3 main.py --config-path recipes_collection --config-name config

Weitere Informationen zur Konfiguration von SageMaker Trainingsjobs finden Sie unterSageMaker Anleitung zur Vorbereitung von Schulungsaufträgen (GPU).

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.