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”.

SageMaker pelatihan pekerjaan pra-pelatihan tutorial (GPU)

Mode fokus
SageMaker pelatihan pekerjaan pra-pelatihan tutorial (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.

Tutorial ini memandu Anda melalui proses menyiapkan dan menjalankan pekerjaan pra-pelatihan menggunakan pekerjaan SageMaker pelatihan dengan instance GPU.

  • Siapkan lingkungan Anda

  • Luncurkan pekerjaan pelatihan menggunakan SageMaker HyperPod resep

Sebelum Anda mulai, pastikan Anda memiliki prasyarat berikut.

Prasyarat

Sebelum Anda mulai mengatur lingkungan Anda, pastikan Anda memiliki:

  • Sistem FSx file Amazon atau bucket Amazon S3 tempat Anda dapat memuat data dan mengeluarkan artefak pelatihan.

  • Meminta Kuota Layanan untuk 1x ml.p4d.24xlarge dan 1x ml.p5.48xlarge di Amazon AI. SageMaker Untuk meminta peningkatan kuota layanan, lakukan hal berikut:

    1. Di konsol AWS Service Quotas, navigasikan ke AWS layanan,

    2. Pilih Amazon SageMaker AI.

    3. Pilih satu ml.p4d.24xlarge dan satu ml.p5.48xlarge instance.

  • Buat peran AWS Identity and Access Management(IAM) dengan kebijakan terkelola berikut untuk memberikan izin SageMaker AI untuk menjalankan contoh.

    • AmazonSageMakerFullAccess

    • Amazon EC2 FullAccess

  • 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 pekerjaan SageMaker pelatihan GPU

Sebelum Anda menjalankan pekerjaan SageMaker pelatihan, konfigurasikan AWS kredensil dan wilayah pilihan Anda dengan menjalankan perintah. aws configure Sebagai alternatif dari perintah configure, Anda dapat memberikan kredensil Anda melalui variabel lingkungan sepertiAWS_ACCESS_KEY_ID,, dan AWS_SESSION_TOKEN. Untuk informasi selengkapnyaAWS_SECRET_ACCESS_KEY, lihat AI SageMaker Python SDK.

Kami sangat menyarankan menggunakan notebook SageMaker AI Jupyter di SageMaker AI JupyterLab untuk meluncurkan pekerjaan SageMaker pelatihan. Untuk informasi selengkapnya, lihat SageMaker JupyterLab.

  • (Opsional) Siapkan lingkungan virtual dan dependensi. Jika Anda menggunakan notebook Jupyter di Amazon SageMaker Studio, Anda dapat melewati langkah ini. Pastikan Anda menggunakan Python 3.9 atau lebih tinggi.

    # 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 # Set the aws region. aws configure set <your_region>
  • Instal SageMaker AI Python SDK

    pip3 install --upgrade sagemaker
  • Container: Wadah GPU diatur secara otomatis oleh SageMaker AI Python SDK. Anda juga dapat menyediakan wadah Anda sendiri.

    catatan

    Jika Anda menjalankan pekerjaan pelatihan multi-modal Llama 3.2, transformers versinya harus 4.45.2 atau lebih besar.

    Tambahkan source_dir hanya saat Anda menggunakan SageMaker AI Python SDKtransformers==4.45.2. requirements.txt Misalnya, tambahkan jika Anda menggunakannya di notebook di SageMaker AI JupyterLab.

    Jika Anda menggunakan HyperPod resep untuk meluncurkan menggunakan tipe clustersm_jobs, ini akan dilakukan secara otomatis.

Luncurkan pekerjaan pelatihan menggunakan Notebook Jupyter

Anda dapat menggunakan kode Python berikut untuk menjalankan pekerjaan SageMaker pelatihan dengan resep Anda. Ini memanfaatkan PyTorch estimator dari AI SageMaker Python SDK untuk mengirimkan resep. Contoh berikut meluncurkan resep llama3-8b pada platform Pelatihan AI. SageMaker

import os import sagemaker,boto3 from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch sagemaker_session = sagemaker.Session() role = sagemaker.get_execution_role() bucket = sagemaker_session.default_bucket() output = os.path.join(f"s3://{bucket}", "output") output_path = "<s3-URI" overrides = { "run": { "results_dir": "/opt/ml/model", }, "exp_manager": { "exp_dir": "", "explicit_log_dir": "/opt/ml/output/tensorboard", "checkpoint_dir": "/opt/ml/checkpoints", }, "model": { "data": { "train_dir": "/opt/ml/input/data/train", "val_dir": "/opt/ml/input/data/val", }, }, } 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-recipe", role=role, instance_type="ml.p5.48xlarge", training_recipe="training/llama/hf_llama3_8b_seq8k_gpu_p5x16_pretrain", recipe_overrides=recipe_overrides, sagemaker_session=sagemaker_session, tensorboard_output_config=tensorboard_output_config, ) estimator.fit(inputs={"train": "s3 or fsx input", "val": "s3 or fsx input"}, wait=True)

Kode sebelumnya membuat objek PyTorch estimator dengan resep pelatihan dan kemudian cocok dengan model menggunakan metode. fit() Gunakan parameter training_recipe untuk menentukan resep yang ingin Anda gunakan untuk pelatihan.

catatan

Jika Anda menjalankan pekerjaan pelatihan multi-modal Llama 3.2, versi transformer harus 4.45.2 atau lebih tinggi.

Tambahkan source_dir hanya saat Anda menggunakan SageMaker AI Python SDK transformers==4.45.2 secara langsung. requirements.txt Misalnya, Anda harus menambahkan versi ke file teks saat Anda menggunakan buku catatan Jupyter.

Saat menerapkan titik akhir untuk pekerjaan SageMaker pelatihan, Anda harus menentukan URI gambar yang Anda gunakan. Jika tidak menyediakan URI gambar, estimator menggunakan image pelatihan sebagai image untuk penerapan. Gambar pelatihan yang SageMaker HyperPod menyediakan tidak berisi dependensi yang diperlukan untuk inferensi dan penerapan. Berikut ini adalah contoh bagaimana gambar inferensi dapat digunakan untuk penerapan:

from sagemaker import image_uris container=image_uris.retrieve(framework='pytorch',region='us-west-2',version='2.0',py_version='py310',image_scope='inference', instance_type='ml.p4d.24xlarge') predictor = estimator.deploy(initial_instance_count=1,instance_type='ml.p4d.24xlarge',image_uri=container)
catatan

Menjalankan kode sebelumnya pada instance notebook Sagemaker mungkin membutuhkan lebih dari penyimpanan 5GB default yang disediakan AI. SageMaker JupyterLab Jika Anda mengalami masalah ruang yang tidak tersedia, buat instance notebook baru di mana Anda menggunakan instance notebook yang berbeda dan tingkatkan penyimpanan notebook.

Luncurkan pekerjaan pelatihan dengan peluncur resep

Perbarui ./recipes_collection/cluster/sm_jobs.yaml file agar terlihat seperti berikut:

sm_jobs_config: output_path: <s3_output_path> 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 enable_remote_debug: True recipe_overrides: 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>"

Perbarui ./recipes_collection/config.yaml untuk menentukan sm_jobs di cluster dancluster_type.

defaults: - _self_ - cluster: sm_jobs # set to `slurm`, `k8s` or `sm_jobs`, depending on the desired cluster - 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.

Luncurkan pekerjaan dengan perintah berikut

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

Untuk informasi selengkapnya tentang mengonfigurasi pekerjaan SageMaker pelatihan, lihat Menjalankan pekerjaan pelatihan tentang pekerjaan SageMaker pelatihan.

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