Konfigurasi estimator dengan parameter untuk pembuatan profil dasar menggunakan modul Amazon SageMaker Debugger Python - Amazon SageMaker

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

Konfigurasi estimator dengan parameter untuk pembuatan profil dasar menggunakan modul Amazon SageMaker Debugger Python

Secara default, pembuatan profil dasar SageMaker Debugger aktif secara default dan memantau metrik pemanfaatan sumber daya, seperti pemanfaatan, pemanfaatan, CPU pemanfaatan GPU memori, GPU Jaringan, dan waktu tunggu I/O, dari semua pekerjaan pelatihan yang dikirimkan menggunakan Amazon Python. SageMaker SageMaker SDK SageMaker Debugger mengumpulkan metrik pemanfaatan sumber daya ini setiap 500 milidetik. Anda tidak perlu membuat perubahan tambahan dalam kode, skrip pelatihan, atau peluncur pekerjaan untuk melacak pemanfaatan sumber daya dasar. Jika Anda ingin mengubah interval pengumpulan metrik untuk pembuatan profil dasar, Anda dapat menentukan parameter khusus Debugger saat membuat peluncur pekerjaan SageMaker pelatihan menggunakan Python SageMaker ,, atau (). SDK AWS SDK for Python (Boto3) AWS Command Line Interface CLI Dalam panduan ini, kami fokus pada cara mengubah opsi pembuatan profil menggunakan Amazon SageMaker Python SDK. Halaman ini memberikan template referensi untuk mengkonfigurasi objek estimator ini.

Jika Anda ingin mengakses dasbor metrik pemanfaatan sumber daya dari pekerjaan pelatihan Anda di SageMaker Studio, Anda dapat melompat ke halaman. Amazon SageMaker Debugger UI di Eksperimen Klasik Amazon SageMaker Studio

Jika Anda ingin mengaktifkan aturan yang mendeteksi masalah pemanfaatan sumber daya sistem secara otomatis, Anda dapat menambahkan rules parameter di objek estimator untuk mengaktifkan aturan.

penting

Untuk menggunakan fitur SageMaker Debugger terbaru, Anda perlu memutakhirkan SageMaker Python SDK dan pustaka klien. SMDebug Di iPython kernel, Jupyter Notebook, atau JupyterLab lingkungan Anda, jalankan kode berikut untuk menginstal versi terbaru dari pustaka dan restart kernel.

import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)

Template kode untuk mengonfigurasi objek SageMaker estimator dengan modul SageMaker Debugger Python di Python SageMaker SDK

Untuk menyesuaikan konfigurasi profil dasar (profiler_config) atau menambahkan aturan profiler (rules), pilih salah satu tab untuk mendapatkan templat untuk menyiapkan estimator. SageMaker Di halaman berikutnya, Anda dapat menemukan informasi lebih lanjut tentang cara mengkonfigurasi dua parameter.

catatan

Contoh kode berikut tidak dapat dieksekusi secara langsung. Lanjutkan ke bagian berikutnya untuk mempelajari cara mengkonfigurasi setiap parameter.

PyTorch
# An example of constructing a SageMaker PyTorch estimator import boto3 import sagemaker from sagemaker.pytorch import PyTorch from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=PyTorch( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.12.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
TensorFlow
# An example of constructing a SageMaker TensorFlow estimator import boto3 import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs session=boto3.session.Session() region=session.region_name profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=TensorFlow( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.8.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
MXNet
# An example of constructing a SageMaker MXNet estimator import sagemaker from sagemaker.mxnet import MXNet from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=MXNet( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.7.0", py_version="py37", # SageMaker Debugger parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
catatan

UntukMXNet, saat mengkonfigurasi profiler_config parameter, Anda hanya dapat mengkonfigurasi untuk pemantauan sistem. Metrik kerangka kerja profil tidak didukung untuk. MXNet

XGBoost
# An example of constructing a SageMaker XGBoost estimator import sagemaker from sagemaker.xgboost.estimator import XGBoost from sagemaker.debugger import ProfilerConfig, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=XGBoost( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-profiling-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.5-1", # Debugger-specific parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)
catatan

UntukXGBoost, saat mengkonfigurasi profiler_config parameter, Anda hanya dapat mengkonfigurasi untuk pemantauan sistem. Metrik kerangka kerja profil tidak didukung untuk. XGBoost

Generic estimator
# An example of constructing a SageMaker generic estimator using the XGBoost algorithm base image import boto3 import sagemaker from sagemaker.estimator import Estimator from sagemaker import image_uris from sagemaker.debugger import ProfilerConfig, DebuggerHookConfig, Rule, ProfilerRule, rule_configs profiler_config=ProfilerConfig(...) rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] region=boto3.Session().region_name xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.5-1") estimator=Estimator( role=sagemaker.get_execution_role() image_uri=xgboost_container, base_job_name="debugger-demo", instance_count=1, instance_type="ml.m5.2xlarge", # Debugger-specific parameters profiler_config=profiler_config, rules=rules ) estimator.fit(wait=False)

Berikut ini memberikan deskripsi singkat tentang parameter.

  • profiler_config— Konfigurasikan Debugger untuk mengumpulkan metrik sistem dan metrik kerangka kerja dari pekerjaan pelatihan Anda dan simpan ke bucket S3 atau mesin lokal Anda yang aman. URI Anda dapat mengatur seberapa sering atau longgar mengumpulkan metrik sistem. Untuk mempelajari cara mengkonfigurasi profiler_config parameter, lihat Konfigurasikan pengaturan untuk pembuatan profil dasar pemanfaatan sumber daya sistem danKonfigurasi estimator untuk pembuatan profil kerangka kerja.

  • rules— Konfigurasikan parameter ini untuk mengaktifkan aturan bawaan SageMaker Debugger yang ingin Anda jalankan secara paralel. Pastikan bahwa pekerjaan pelatihan Anda memiliki akses ke bucket S3 ini. Aturan berjalan pada wadah pemrosesan dan secara otomatis menganalisis pekerjaan pelatihan Anda untuk menemukan masalah kinerja komputasi dan operasional. ProfilerReportAturan ini adalah aturan paling terintegrasi yang menjalankan semua aturan pembuatan profil bawaan dan menyimpan hasil pembuatan profil sebagai laporan ke dalam bucket S3 aman Anda. Untuk mempelajari cara mengkonfigurasi rules parameter, lihatMenggunakan aturan profiler bawaan yang dikelola oleh Amazon SageMaker Debugger.

catatan

Debugger menyimpan data keluaran dengan aman di subfolder bucket S3 default Anda. Misalnya, format bucket S3 default URI adalahs3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/. Ada tiga subfolder yang dibuat oleh Debugger:debug-output,, profiler-output dan. rule-output Anda juga dapat mengambil bucket S3 default URIs menggunakan classmethods SageMaker estimator.

Lihat topik berikut untuk mengetahui cara mengonfigurasi parameter khusus Debugger secara detail.