Memulai pekerjaan pelatihan menggunakan HyperPod CLI - Amazon SageMaker AI

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

Memulai pekerjaan pelatihan menggunakan HyperPod CLI

SageMaker HyperPod CLI adalah alat antarmuka baris perintah untuk mengelola cluster Amazon. SageMaker HyperPod Anda dapat menggunakan HyperPod CLI untuk membuat, mengonfigurasi, dan memantau HyperPod cluster untuk beban kerja pembelajaran mesin. Untuk informasi lebih lanjut, lihat sagemaker-hyperpod-cli GitHubrepositori.

Prasyarat

  • Instal CLI HyperPod . Untuk kustomisasi Amazon Nova di Amazon SageMaker HyperPod, Anda harus memeriksa release_v2 cabang untuk menggunakan SageMaker HyperPod CLI.

  • Verifikasi bahwa bucket keluaran Nova ada sebelum mengirimkan pekerjaan. Untuk memverifikasi, jalankanaws s3 ls s3://nova-111122223333/.

    Nama bucket adalah nilai yang Anda tentukan recipes.run.output_s3_path dalam resep. Bucket keluaran ini akan menyimpan file manifes yang dihasilkan setelah pelatihan, yang akan berisi jalur S3 ke artefak keluaran yang disimpan dalam bucket Amazon S3 yang dikelola layanan. Selain itu, mungkin secara opsional menyimpan TensorBoard file atau hasil evaluasi.

  • Memahami persyaratan sinkronisasi FSx data Amazon. Amazon FSx membutuhkan waktu untuk menyinkronkan data pelatihan Amazon S3 sebelum pekerjaan dapat berjalan.

Siapkan HyperPod CLI untuk kustomisasi Amazon Nova

Untuk mengatur HyperPod CLI untuk kustomisasi Amazon Nova, ikuti langkah-langkah ini.
  1. Kloning sagemaker-hyperpod-cli GitHub repositori dengan cabang. release_v2

    git clone --recurse-submodules https://github.com/aws/sagemaker-hyperpod-cli.git --branch release_v2
  2. Arahkan ke sagemaker-hyperpod-cli folder.

    cd sagemaker-hyperpod-cli
  3. Periksa apakah Anda memiliki semua prasyarat dalam Prasyarat.

  4. Untuk mengatur Helm, ikuti langkah-langkah ini.

    1. Untuk mengunduh skrip instalasi Helm, jalankan:

      curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    2. Untuk membuat skrip dapat dieksekusi, jalankan:

      chmod 700 get_helm.sh

      Perintah ini mengubah izin untuk membuat skrip dapat dieksekusi.

    3. Untuk menjalankan skrip instalasi Helm, jalankan:

      ./get_helm.sh
    4. Untuk menghapus skrip instalasi, jalankan:

      rm -f ./get_helm.sh
  5. Untuk menginstal HyperPod dependensi dengan dukungan grup instans terbatas (RIG), ikuti langkah-langkah berikut.

    catatan

    Sebelum menginstal dependensi, Anda harus memiliki cluster HyperPod EKS dengan RIG. Jika Anda belum memilikinya, ikuti petunjuk ini untuk membuatnya.

    1. Untuk terhubung ke kluster HyperPod EKS Anda, jalankan:

      aws eks update-kubeconfig --name <eks_cluster_name> --region us-east-1
    2. Untuk memverifikasi koneksi ke kluster HyperPod EKS Anda, jalankan:

      kubectl config current-context
    3. Untuk menarik pembaruan untuk HyperPod dependensi standar, jalankan:

      helm dependencies update helm_chart/HyperPodHelmChart
    4. Untuk menginstal HyperPod dependensi standar, jalankan:

      helm install dependencies helm_chart/HyperPodHelmChart --namespace kube-system
    5. Untuk menavigasi ke direktori bagan Helm, jalankan:

      cd helm_chart
    6. Untuk menginstal HyperPod dependensi spesifik RIG, jalankan perintah berikut.

      catatan

      Sebelum menginstal dependensi, pertimbangkan hal berikut:

      • Anda hanya harus menjalankan perintah ini sekali per cluster setelah dibuat.

      • Anda harus memastikan utilitas yq diinstal dengan versi minimal 4 (seperti v4). Ada pemeriksaan bawaan untuk mengonfirmasi yq > = 4 tersedia di skrip instalasi.

      • Anda perlu mengonfirmasi instalasi dengan memasukkan y saat diminta. Secara opsional, sebelum konfirmasi, lihat instalasi yang dimaksud di./rig-dependencies.yaml.

      chmod 700 ./install_rig_dependencies.sh && ./install_rig_dependencies.sh
    7. Untuk menavigasi kembali ke root codesagemaker-hyperpod-cli repo, jalankan:

      cd ..
  6. Untuk melanjutkan dengan menginstal HyperPod CLI disagemaker-hyperpod-cli, ikuti langkah-langkah ini.

    1. Instal CLI menggunakan pip:

      pip install -e .
    2. Verifikasi instalasi:

      hyperpod --help

Mengirim tugas

Anda dapat menggunakan HyperPod CLI untuk mengirimkan pekerjaan pelatihan.

Untuk mengirimkan pekerjaan menggunakan resep, jalankan perintah berikut.

hyperpod start-job [--namespace <namespace>] --recipe {{fine-tuning | evaluation | training}}/nova/<Your_Recipe_Name> --override-parameters \ '{ "instance_type":"p5d.48xlarge", "container": <Docker Image>, "recipes.run.name": <custom-run-name>, "recipes.run.output_s3_path": "<customer-s3-path>" }'
  • --recipe: Jenis pekerjaan yang Anda jalankan menggunakan resep. Nilai yang valid adalah: fine-tuning | evaluation |training.

    Jenis Tugas Nilai
    Tugas SFT/PEFT/PPO/DPO fine-tuning
    Tugas evaluasi evaluation
    Lowongan kerja CPT training
  • Nama resep: Anda dapat menemukan nama di repositori di bawah direktori:. /src/hyperpod_cli/sagemaker_hyperpod_recipes/recipe_collection/recipes/

  • Contoh resep:--recipe evaluation/nova/nova_lite_g5_12xl_bring_your_own_dataset_eval.

  • Kontainer: Bidang ini diperlukan. Untuk menemukan gambar Anda untuk jenis pekerjaan, lihat tabel berikut.

    Teknik Kontainer
    DPO 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-DPO Terbaru nova-fine-tune-repo
    Tugas evaluasi 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-Eval-terbaru nova-evaluation-repo
    CPT 708977205387.dkr. ecr.us-east-1.amazonaws.com /:hp-cpt-terbaru nova-fine-tune-repo
    PPO 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SMHP-PPO-Train-Terbaru nova-fine-tune-repo
    SFT/PEFT 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-Terbaru nova-fine-tune-repo
  • Nama run khusus: Ada batasan definisi pada custom-run-time input, misalnya, tidak ada huruf besar, tidak ada spasi, tidak ada garis bawah. Untuk informasi selengkapnya, lihat Nama Objek dan IDs.

[Opsional] Jika Anda sudah memiliki pekerjaan pelatihan dan ingin menargetkan node tertentu untuk pekerjaan Anda berikutnya, ikuti langkah-langkah ini.

  1. Untuk mendapatkan semua node gratis, jalankan perintah berikut.

    kubectl get nodes —no-headers | awk '$2 != "NotReady" && $3 != "SchedulingDisabled" {print $1}'
  2. Tambahkan berikut ini ke src\hyperpod_cli\sagemaker_hyperpod_recipes\recipes_collection\cluster\k8s.yaml file untuk pemilih label.

    label_selector: required: kubernetes.io/hostname: - <node_name>
  3. Pada direktori root, jalankan perintah berikut. SageMaker HyperPod Ini memastikan diinstal pada sistem pengguna, memungkinkan mereka untuk menggunakan kata kunci “hyperpod” untuk pengiriman pekerjaan dan fungsi lainnya. Anda harus menjalankan perintah ini dari folder root tempat kode HyperPod CLI berada.

    pip install .

Daftar lowongan kerja

Untuk daftar pekerjaan, jalankan perintah berikut.

hyperpod list-jobs [--namespace <namespace>] [--all-namespaces]

Perintah ini mencantumkan semua pekerjaan di namespace yang ditentukan atau di semua ruang nama.

Dapatkan detail pekerjaan

Untuk mendapatkan detail pekerjaan, jalankan perintah berikut.

hyperpod get-job --job-name <job-name> [--namespace <namespace>] [--verbose]

Perintah mengambil informasi rinci tentang pekerjaan tertentu.

Daftar pod

Untuk membuat daftar pod, jalankan perintah berikut.

hyperpod list-pods --job-name <job-name> [--namespace <namespace>]

Perintah ini mencantumkan semua pod yang terkait dengan job tertentu di namespace yang ditentukan.

Batalkan pekerjaan

Untuk membatalkan pekerjaan, jalankan perintah berikut.

hyperpod cancel-job --job-name <job-name> [--namespace <namespace>]

Perintah ini membatalkan dan menghapus pekerjaan pelatihan yang sedang berjalan di namespace yang ditentukan.