Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Tutorial pra-pelatihan klaster Kubernetes (GPU)

Mode fokus
Tutorial pra-pelatihan klaster Kubernetes (GPU) - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ada dua cara untuk meluncurkan pekerjaan pelatihan di cluster GPU Kubernetes:

Prasyarat

Sebelum Anda mulai mengatur lingkungan Anda, pastikan Anda memiliki:

  • Cluster HyperPod GPU Kubernetes diatur dengan benar.

  • Lokasi penyimpanan bersama. Ini bisa berupa sistem FSx file Amazon atau sistem NFS yang dapat diakses dari node cluster.

  • Data dalam salah satu format berikut:

    • JSON

    • JSONGZ (JSON Terkompresi)

    • PANAH

  • (Opsional) Anda harus mendapatkan HuggingFace token jika Anda menggunakan bobot model HuggingFace untuk pra-pelatihan atau fine-tuning. Untuk informasi selengkapnya tentang mendapatkan token, lihat Token akses pengguna.

Pengaturan lingkungan GPU Kubernetes

Untuk menyiapkan lingkungan GPU Kubernetes, lakukan hal berikut:

  • Siapkan lingkungan virtual. Pastikan Anda menggunakan Python 3.9 atau lebih tinggi.

    python3 -m venv ${PWD}/venv source venv/bin/activate
  • Instal dependensi menggunakan salah satu metode berikut:

    • (Disarankan): HyperPod metode alat baris perintah:

      # install HyperPod command line tools git clone https://github.com/aws/sagemaker-hyperpod-cli cd sagemaker-hyperpod-cli pip3 install .
    • SageMaker HyperPod metode resep:

      # install SageMaker HyperPod Recipes. git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git cd sagemaker-hyperpod-recipes pip3 install -r requirements.txt
  • Siapkan kubectl dan eksctl

  • Instal Helm

  • Connect ke klaster Kubernetes Anda

    aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}" hyperpod connect-cluster --cluster-name "${CLUSTER_NAME}" [--region "${CLUSTER_REGION}"] [--namespace <namespace>]

Luncurkan pekerjaan pelatihan dengan SageMaker HyperPod CLI

Sebaiknya gunakan alat antarmuka SageMaker HyperPod baris perintah (CLI) untuk mengirimkan pekerjaan pelatihan Anda dengan konfigurasi Anda. Contoh berikut mengirimkan pekerjaan pelatihan untuk hf_llama3_8b_seq16k_gpu_p5x16_pretrain model.

  • your_training_container: Wadah Pembelajaran Mendalam. Untuk menemukan rilis terbaru dari wadah SMP, lihatCatatan rilis untuk pustaka paralelisme SageMaker model.

  • (Opsional) Anda dapat memberikan HuggingFace token jika Anda membutuhkan bobot yang telah dilatih sebelumnya HuggingFace dengan menetapkan pasangan nilai kunci berikut:

    "recipes.model.hf_access_token": "<your_hf_token>"
hyperpod start-job --recipe training/llama/hf_llama3_8b_seq16k_gpu_p5x16_pretrain \ --persistent-volume-claims fsx-claim:data \ --override-parameters \ '{ "recipes.run.name": "hf-llama3-8b", "recipes.exp_manager.exp_dir": "/data/<your_exp_dir>", "container": "658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121", "recipes.model.data.train_dir": "<your_train_data_dir>", "recipes.model.data.val_dir": "<your_val_data_dir>", "cluster": "k8s", "cluster_type": "k8s" }'

Setelah mengirimkan pekerjaan pelatihan, Anda dapat menggunakan perintah berikut untuk memverifikasi apakah Anda berhasil mengirimkannya.

kubectl get pods NAME READY STATUS RESTARTS AGE hf-llama3-<your-alias>-worker-0 0/1 running 0 36s

Jika STATUS ada PENDING atauContainerCreating, jalankan perintah berikut untuk mendapatkan detail lebih lanjut.

kubectl describe pod <name of pod>

Setelah pekerjaan STATUS berubahRunning, Anda dapat memeriksa log dengan menggunakan perintah berikut.

kubectl logs <name of pod>

STATUSMenjadi Completed ketika Anda berlarikubectl get pods.

Luncurkan pekerjaan pelatihan dengan peluncur resep

Atau, Anda dapat menggunakan SageMaker HyperPod resep untuk mengirimkan pekerjaan pelatihan Anda. Menggunakan resep melibatkan pembaruank8s.yaml,config.yaml, dan menjalankan skrip peluncuran.

  • Dik8s.yaml, perbaruipersistent_volume_claims. Ini memasang FSx klaim Amazon ke /data direktori setiap pod komputasi

    persistent_volume_claims: - claimName: fsx-claim mountPath: data
  • Diconfig.yaml, perbarui repo_url_or_path di bawahgit.

    git: repo_url_or_path: <training_adapter_repo> branch: null commit: null entry_script: null token: null
  • Perbarui launcher_scripts/llama/run_hf_llama3_8b_seq16k_gpu_p5x16_pretrain.sh

    • your_contrainer: Wadah Pembelajaran Mendalam. Untuk menemukan rilis terbaru dari wadah SMP, lihatCatatan rilis untuk pustaka paralelisme SageMaker model.

    • (Opsional) Anda dapat memberikan HuggingFace token jika Anda membutuhkan bobot yang telah dilatih sebelumnya HuggingFace dengan menetapkan pasangan nilai kunci berikut:

      recipes.model.hf_access_token=<your_hf_token>
    #!/bin/bash #Users should setup their cluster type in /recipes_collection/config.yaml REGION="<region>" IMAGE="658645717510.dkr.ecr.${REGION}.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121" SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"} EXP_DIR="<your_exp_dir>" # Location to save experiment info including logging, checkpoints, ect TRAIN_DIR="<your_training_data_dir>" # Location of training dataset VAL_DIR="<your_val_data_dir>" # Location of talidation dataset HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \ recipes=training/llama/hf_llama3_8b_seq8k_gpu_p5x16_pretrain \ base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \ recipes.run.name="hf-llama3" \ recipes.exp_manager.exp_dir="$EXP_DIR" \ cluster=k8s \ cluster_type=k8s \ container="${IMAGE}" \ recipes.model.data.train_dir=$TRAIN_DIR \ recipes.model.data.val_dir=$VAL_DIR
  • Luncurkan pekerjaan pelatihan

    bash launcher_scripts/llama/run_hf_llama3_8b_seq16k_gpu_p5x16_pretrain.sh

Setelah Anda mengirimkan pekerjaan pelatihan, Anda dapat menggunakan perintah berikut untuk memverifikasi apakah Anda berhasil mengirimkannya.

kubectl get pods
NAME READY STATUS RESTARTS AGE hf-llama3-<your-alias>-worker-0 0/1 running 0 36s

Jika STATUS ada PENDING atauContainerCreating, jalankan perintah berikut untuk mendapatkan detail lebih lanjut.

kubectl describe pod <name-of-pod>

Setelah pekerjaan STATUS berubahRunning, Anda dapat memeriksa log dengan menggunakan perintah berikut.

kubectl logs <name of pod>

STATUSKehendak beralih ke Completed saat Anda berlarikubectl get pods.

Untuk informasi selengkapnya tentang konfigurasi kluster k8s, lihat. Jalankan pekerjaan pelatihan di HyperPod k8s

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.