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

Akses wadah pelatihan AWS Systems Manager untuk debugging jarak jauh

Mode fokus
Akses wadah pelatihan AWS Systems Manager untuk debugging jarak jauh - 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.

Anda dapat terhubung dengan aman ke wadah SageMaker pelatihan melalui AWS Systems Manager (SSM). Ini memberi Anda akses tingkat shell ke pekerjaan pelatihan debug yang berjalan di dalam wadah. Anda juga dapat mencatat perintah dan tanggapan yang dialirkan ke Amazon CloudWatch. Jika Anda menggunakan Amazon Virtual Private Cloud (VPC) Anda sendiri untuk melatih model, Anda dapat menggunakannya untuk menyiapkan titik akhir VPC AWS PrivateLink untuk SSM dan terhubung ke kontainer secara pribadi melalui SSM.

Anda dapat terhubung ke SageMaker AI Framework Container atau terhubung ke wadah pelatihan Anda sendiri yang diatur dengan lingkungan SageMaker Pelatihan.

Siapkan izin IAM

Untuk mengaktifkan SSM dalam wadah SageMaker pelatihan Anda, Anda perlu menyiapkan peran IAM untuk kontainer. Agar Anda atau pengguna di AWS akun Anda dapat mengakses wadah pelatihan melalui SSM, Anda perlu menyiapkan pengguna IAM dengan izin untuk menggunakan SSM.

Peran IAM

Untuk wadah SageMaker pelatihan untuk memulai dengan agen SSM, berikan peran IAM dengan izin SSM.

Untuk mengaktifkan debugging jarak jauh untuk pekerjaan pelatihan Anda, SageMaker AI perlu memulai agen SSM di wadah pelatihan saat pekerjaan pelatihan dimulai. Untuk memungkinkan agen SSM berkomunikasi dengan layanan SSM, tambahkan kebijakan berikut ke peran IAM yang Anda gunakan untuk menjalankan pekerjaan pelatihan Anda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }

Pengguna IAM

Tambahkan kebijakan berikut untuk memberikan izin sesi SSM kepada pengguna IAM untuk terhubung ke target SSM. Dalam hal ini, target SSM adalah wadah SageMaker pelatihan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }

Anda dapat membatasi pengguna IAM untuk terhubung hanya ke kontainer untuk pekerjaan pelatihan tertentu dengan menambahkan Condition kunci, seperti yang ditunjukkan dalam contoh kebijakan berikut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": [ "*" ], "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:target-id": [ "sagemaker-training-job:*" ] } } } ] }

Anda juga dapat secara eksplisit menggunakan tombol sagemaker:EnableRemoteDebug kondisi untuk membatasi debugging jarak jauh. Berikut ini adalah contoh kebijakan bagi pengguna IAM untuk membatasi debugging jarak jauh.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyRemoteDebugInTrainingJob", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:UpdateTrainingJob" ], "Resource": "*", "Condition": { "BoolIfExists": { "sagemaker:EnableRemoteDebug": false } } } ] }

Untuk informasi selengkapnya, lihat Kunci kondisi untuk Amazon SageMaker AI di Referensi Otorisasi AWS Layanan.

Cara mengaktifkan debugging jarak jauh untuk pekerjaan SageMaker pelatihan

Di bagian ini, pelajari cara mengaktifkan debugging jarak jauh saat memulai atau memperbarui pekerjaan pelatihan di Amazon SageMaker AI.

SageMaker Python SDK

Menggunakan kelas estimator di SageMaker Python SDK, Anda dapat mengaktifkan atau menonaktifkan debugging jarak jauh menggunakan enable_remote_debug parameter atau metode and. enable_remote_debug() disable_remote_debug()

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan baru, setel enable_remote_debug parameternya keTrue. Nilai defaultnya adalahFalse, jadi jika Anda tidak menyetel parameter ini sama sekali, atau Anda secara eksplisit mengaturnyaFalse, fungsionalitas debugging jarak jauh dinonaktifkan.

import sagemaker session = sagemaker.Session() estimator = sagemaker.estimator.Estimator( ..., sagemaker_session=session, image_uri="<your_image_uri>", #must be owned by your organization or Amazon DLCs role=role, instance_type="ml.m5.xlarge", instance_count=1, output_path=output_path, max_run=1800, enable_remote_debug=True )

Untuk mengaktifkan debugging jarak jauh dengan memperbarui pekerjaan pelatihan

Dengan menggunakan metode kelas estimator berikut, Anda dapat mengaktifkan atau menonaktifkan debugging jarak jauh saat pekerjaan pelatihan berjalan saat pekerjaan sedang Downloading atau. SecondaryStatus Training

# Enable RemoteDebug estimator.enable_remote_debug() # Disable RemoteDebug estimator.disable_remote_debug()
AWS SDK for Python (Boto3)

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan baru, tetapkan nilai EnableRemoteDebug kunci ke True dalam RemoteDebugConfig parameter.

import boto3 sm = boto3.Session(region_name=region).client("sagemaker") # Start a training job sm.create_training_job( ..., TrainingJobName=job_name, AlgorithmSpecification={ // Specify a training Docker container image URI // (Deep Learning Container or your own training container) to TrainingImage. "TrainingImage": "<your_image_uri>", "TrainingInputMode": "File" }, RoleArn=iam_role_arn, OutputDataConfig=output_path, ResourceConfig={ "InstanceType": "ml.m5.xlarge", "InstanceCount": 1, "VolumeSizeInGB": 30 }, StoppingCondition={ "MaxRuntimeInSeconds": 86400 }, RemoteDebugConfig={ "EnableRemoteDebug": True } )

Untuk mengaktifkan debugging jarak jauh dengan memperbarui pekerjaan pelatihan

Dengan menggunakan update_traing_job API, Anda dapat mengaktifkan atau menonaktifkan debugging jarak jauh saat pekerjaan pelatihan berjalan saat pekerjaan sedang Downloading atauTraining. SecondaryStatus

# Update a training job sm.update_training_job( TrainingJobName=job_name, RemoteDebugConfig={ "EnableRemoteDebug": True # True | False } )
AWS Command Line Interface (CLI)

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan

Siapkan file CreateTrainingJob permintaan dalam format JSON, sebagai berikut.

// train-with-remote-debug.json { "TrainingJobName": job_name, "RoleArn": iam_role_arn, "AlgorithmSpecification": { // Specify a training Docker container image URI (Deep Learning Container or your own training container) to TrainingImage. "TrainingImage": "<your_image_uri>", "TrainingInputMode": "File" }, "OutputDataConfig": { "S3OutputPath": output_path }, "ResourceConfig": { "InstanceType": "ml.m5.xlarge", "InstanceCount": 1, "VolumeSizeInGB": 30 }, "StoppingCondition": { "MaxRuntimeInSeconds": 86400 }, "RemoteDebugConfig": { "EnableRemoteDebug": True } }

Setelah menyimpan file JSON, jalankan perintah berikut di terminal tempat Anda mengirimkan pekerjaan pelatihan. Contoh perintah berikut mengasumsikan bahwa file JSON diberi nama. train-with-remote-debug.json Jika Anda menjalankannya dari notebook Jupyter, tambahkan tanda seru (!) ke awal baris.

aws sagemaker create-training-job \ --cli-input-json file://train-with-remote-debug.json

Untuk mengaktifkan debugging jarak jauh dengan memperbarui pekerjaan pelatihan

Siapkan file UpdateTrainingJob permintaan dalam format JSON, sebagai berikut.

// update-training-job-with-remote-debug-config.json { "TrainingJobName": job_name, "RemoteDebugConfig": { "EnableRemoteDebug": True } }

Setelah menyimpan file JSON, jalankan perintah berikut di terminal tempat Anda mengirimkan pekerjaan pelatihan. Contoh perintah berikut mengasumsikan bahwa file JSON diberi nama. train-with-remote-debug.json Jika Anda menjalankannya dari notebook Jupyter, tambahkan tanda seru (!) ke awal baris.

aws sagemaker update-training-job \ --cli-input-json file://update-training-job-with-remote-debug-config.json

Menggunakan kelas estimator di SageMaker Python SDK, Anda dapat mengaktifkan atau menonaktifkan debugging jarak jauh menggunakan enable_remote_debug parameter atau metode and. enable_remote_debug() disable_remote_debug()

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan

Untuk mengaktifkan debugging jarak jauh saat Anda membuat pekerjaan pelatihan baru, setel enable_remote_debug parameternya keTrue. Nilai defaultnya adalahFalse, jadi jika Anda tidak menyetel parameter ini sama sekali, atau Anda secara eksplisit mengaturnyaFalse, fungsionalitas debugging jarak jauh dinonaktifkan.

import sagemaker session = sagemaker.Session() estimator = sagemaker.estimator.Estimator( ..., sagemaker_session=session, image_uri="<your_image_uri>", #must be owned by your organization or Amazon DLCs role=role, instance_type="ml.m5.xlarge", instance_count=1, output_path=output_path, max_run=1800, enable_remote_debug=True )

Untuk mengaktifkan debugging jarak jauh dengan memperbarui pekerjaan pelatihan

Dengan menggunakan metode kelas estimator berikut, Anda dapat mengaktifkan atau menonaktifkan debugging jarak jauh saat pekerjaan pelatihan berjalan saat pekerjaan sedang Downloading atau. SecondaryStatus Training

# Enable RemoteDebug estimator.enable_remote_debug() # Disable RemoteDebug estimator.disable_remote_debug()

Akses wadah pelatihan Anda

Anda dapat mengakses wadah pelatihan saat pekerjaan pelatihan yang sesuai adalahTraining. SecondaryStatus Contoh kode berikut menunjukkan cara memeriksa status pekerjaan pelatihan Anda menggunakan DescribeTrainingJob API, cara memeriksa log masuk pekerjaan pelatihan CloudWatch, dan cara masuk ke wadah pelatihan.

Untuk memeriksa status pekerjaan pelatihan

SageMaker Python SDK

Untuk memeriksa SecondaryStatus pekerjaan pelatihan, jalankan kode SDK SageMaker Python berikut.

import sagemaker session = sagemaker.Session() # Describe the job status training_job_info = session.describe_training_job(job_name) print(training_job_info)
AWS SDK for Python (Boto3)

Untuk memeriksa pekerjaan pelatihan, jalankan kode SDK for Python (Boto3) berikut. SecondaryStatus

import boto3 session = boto3.session.Session() region = session.region_name sm = boto3.Session(region_name=region).client("sagemaker") # Describe the job status sm.describe_training_job(TrainingJobName=job_name)
AWS Command Line Interface (CLI)

Untuk memeriksa SecondaryStatus pekerjaan pelatihan, jalankan AWS CLI perintah berikut untuk SageMaker AI.

aws sagemaker describe-training-job \ --training-job-name job_name

Untuk memeriksa SecondaryStatus pekerjaan pelatihan, jalankan kode SDK SageMaker Python berikut.

import sagemaker session = sagemaker.Session() # Describe the job status training_job_info = session.describe_training_job(job_name) print(training_job_info)

Untuk menemukan nama host dari wadah pelatihan

Untuk terhubung ke wadah pelatihan melalui SSM, gunakan format ini untuk ID target:sagemaker-training-job:<training-job-name>_algo-<n>, di algo-<n> mana nama host kontainer. Jika pekerjaan Anda berjalan pada satu contoh, host selalualgo-1. Jika Anda menjalankan pekerjaan pelatihan terdistribusi pada beberapa instans, SageMaker AI membuat jumlah host dan aliran log yang sama. Misalnya, jika Anda menggunakan 4 instance, SageMaker AI membuatalgo-1,, algo-2algo-3, danalgo-4. Anda harus menentukan aliran log mana yang ingin Anda debug, dan nomor host-nya. Untuk mengakses aliran log yang terkait dengan pekerjaan pelatihan, lakukan hal berikut.

  1. Buka konsol Amazon SageMaker AI di https://console.aws.amazon.com/sagemaker/.

  2. Di panel navigasi kiri, pilih Pelatihan, lalu pilih Pekerjaan pelatihan.

  3. Dari daftar pekerjaan Pelatihan, pilih pekerjaan pelatihan yang ingin Anda debug. Halaman detail pekerjaan pelatihan terbuka.

  4. Di bagian Monitor, pilih Lihat log. Daftar aliran log pekerjaan pelatihan terkait terbuka di CloudWatch konsol.

  5. Nama aliran log muncul dalam <training-job-name>/algo-<n>-<time-stamp> format, dengan algo-<n> mewakili nama host.

Untuk mempelajari selengkapnya tentang cara SageMaker AI mengelola informasi konfigurasi untuk pelatihan terdistribusi multi-instans, lihat Konfigurasi Pelatihan Terdistribusi.

Untuk mengakses wadah pelatihan

Gunakan perintah berikut di terminal untuk memulai sesi SSM (aws ssm start-session) dan sambungkan ke wadah pelatihan.

aws ssm start-session --target sagemaker-training-job:<training-job-name>_algo-<n>

Misalnya, jika nama pekerjaan pelatihan training-job-test-remote-debug dan nama host adalahalgo-1, ID target menjadisagemaker-training-job:training-job-test-remote-debug_algo-1. Jika output dari perintah ini mirip denganStarting session with SessionId:xxxxx, koneksi berhasil.

Akses SSM dengan AWS PrivateLink

Jika wadah pelatihan Anda berjalan dalam Amazon Virtual Private Cloud yang tidak terhubung ke internet publik, Anda dapat menggunakannya AWS PrivateLink untuk mengaktifkan SSM. AWS PrivateLink membatasi semua lalu lintas jaringan antara instans titik akhir Anda, SSM, dan Amazon ke jaringan Amazon EC2 . Untuk informasi selengkapnya tentang cara mengatur akses SSM dengan AWS PrivateLink, lihat Menyiapkan titik akhir VPC Amazon untuk Pengelola Sesi.

Log perintah dan hasil sesi SSM

Setelah mengikuti petunjuk di Buat dokumen preferensi Manajer Sesi (baris perintah), Anda dapat membuat dokumen SSM yang menentukan preferensi Anda untuk sesi SSM. Anda dapat menggunakan dokumen SSM untuk mengonfigurasi opsi sesi, termasuk enkripsi data, durasi sesi, dan pencatatan. Misalnya, Anda dapat menentukan apakah akan menyimpan data log sesi di bucket Amazon Simple Storage Service (Amazon S3) atau di grup Amazon CloudWatch Logs. Anda dapat membuat dokumen yang menentukan preferensi umum untuk semua sesi untuk AWS akun dan Wilayah AWS, atau dokumen yang menentukan preferensi untuk sesi individual.

Memecahkan masalah dengan memeriksa log kesalahan dari SSM

Amazon SageMaker AI mengunggah kesalahan dari agen SSM ke CloudWatch Log Anda di grup /aws/sagemaker/TrainingJobs log. Aliran log agen SSM diberi nama dalam format ini:. <job-name>/algo-<n>-<timestamp>/ssm Misalnya, jika Anda membuat pekerjaan pelatihan dua simpul bernamatraining-job-test-remote-debug, log pekerjaan pelatihan training-job-test-remote-debug/algo-<n>-<timestamp> dan beberapa log kesalahan agen SSM akan diunggah ke Log training-job-test-remote-debug/algo-<n>-<timestamp>/ssm Anda. CloudWatch Dalam contoh ini, Anda dapat meninjau aliran */ssm log untuk memecahkan masalah SSM.

training-job-test-remote-debug/algo-1-1680535238 training-job-test-remote-debug/algo-2-1680535238 training-job-test-remote-debug/algo-1-1680535238/ssm training-job-test-remote-debug/algo-2-1680535238/ssm

Pertimbangan

Pertimbangkan hal berikut saat menggunakan SageMaker AI remote debugging.

  • Debugging jarak jauh tidak didukung untuk kontainer algoritma SageMaker AI atau kontainer dari SageMaker AI aktif. AWS Marketplace

  • Anda tidak dapat memulai sesi SSM untuk kontainer yang memiliki isolasi jaringan diaktifkan karena isolasi mencegah panggilan jaringan keluar.

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