Langkah 2: Luncurkan dan Debug Pekerjaan Pelatihan Menggunakan Python SageMaker SDK - Amazon SageMaker

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

Langkah 2: Luncurkan dan Debug Pekerjaan Pelatihan Menggunakan Python SageMaker SDK

Untuk mengonfigurasi SageMaker estimator dengan SageMaker Debugger, gunakan Amazon SageMaker Python SDK dan tentukan parameter khusus Debugger. Untuk sepenuhnya memanfaatkan fungsionalitas debugging, ada tiga parameter yang perlu Anda konfigurasi:debugger_hook_config,tensorboard_output_config, dan. rules

penting

Sebelum membangun dan menjalankan metode kecocokan estimator untuk meluncurkan pekerjaan pelatihan, pastikan Anda menyesuaikan skrip pelatihan Anda mengikuti instruksi di. Langkah 1: Sesuaikan Script Pelatihan Anda untuk Mendaftarkan Hook

Buat SageMaker Estimator dengan parameter khusus Debugger

Contoh kode di bagian ini menunjukkan cara membuat SageMaker estimator dengan parameter khusus Debugger.

catatan

Contoh kode berikut adalah template untuk membangun estimator SageMaker kerangka kerja dan tidak dapat dieksekusi secara langsung. Anda perlu melanjutkan ke bagian berikutnya dan mengkonfigurasi parameter khusus Debugger.

PyTorch
# An example of constructing a SageMaker PyTorch estimator import boto3 import sagemaker from sagemaker.pytorch import PyTorch from sagemaker.debugger import CollectionConfig, DebuggerHookConfig, Rule, rule_configs session=boto3.session.Session() region=session.region_name debugger_hook_config=DebuggerHookConfig(...) rules=[ Rule.sagemaker(rule_configs.built_in_rule()) ] estimator=PyTorch( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.12.0", py_version="py37", # Debugger-specific parameters debugger_hook_config=debugger_hook_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 CollectionConfig, DebuggerHookConfig, Rule, rule_configs session=boto3.session.Session() region=session.region_name debugger_hook_config=DebuggerHookConfig(...) rules=[ Rule.sagemaker(rule_configs.built_in_rule()), ProfilerRule.sagemaker(rule_configs.BuiltInRule()) ] estimator=TensorFlow( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="2.9.0", py_version="py39", # Debugger-specific parameters debugger_hook_config=debugger_hook_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 CollectionConfig, DebuggerHookConfig, Rule, rule_configs debugger_hook_config=DebuggerHookConfig(...) rules=[ Rule.sagemaker(rule_configs.built_in_rule()) ] estimator=MXNet( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.7.0", py_version="py37", # Debugger-specific parameters debugger_hook_config=debugger_hook_config, rules=rules ) estimator.fit(wait=False)
XGBoost
# An example of constructing a SageMaker XGBoost estimator import sagemaker from sagemaker.xgboost.estimator import XGBoost from sagemaker.debugger import CollectionConfig, DebuggerHookConfig, Rule, rule_configs debugger_hook_config=DebuggerHookConfig(...) rules=[ Rule.sagemaker(rule_configs.built_in_rule()) ] estimator=XGBoost( entry_point="directory/to/your_training_script.py", role=sagemaker.get_execution_role(), base_job_name="debugger-demo", instance_count=1, instance_type="ml.p3.2xlarge", framework_version="1.5-1", # Debugger-specific parameters debugger_hook_config=debugger_hook_config, rules=rules ) estimator.fit(wait=False)
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 CollectionConfig, DebuggerHookConfig, Rule, rule_configs debugger_hook_config=DebuggerHookConfig(...) rules=[ Rule.sagemaker(rule_configs.built_in_rule()) ] 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 debugger_hook_config=debugger_hook_config, rules=rules ) estimator.fit(wait=False)

Konfigurasikan parameter berikut untuk mengaktifkan SageMaker Debugger:

  • debugger_hook_config(objek dari DebuggerHookConfig) - Diperlukan untuk mengaktifkan hook dalam skrip pelatihan yang disesuaikan selamaLangkah 1: Sesuaikan Script Pelatihan Anda untuk Mendaftarkan Hook, konfigurasikan peluncur SageMaker pelatihan (estimator) untuk mengumpulkan tensor keluaran dari pekerjaan pelatihan Anda, dan menyimpan tensor ke dalam bucket S3 aman atau mesin lokal Anda. Untuk mempelajari cara mengkonfigurasi debugger_hook_config parameter, lihatKonfigurasikan SageMaker Debugger untuk Menyimpan Tensor.

  • rules(daftar Ruleobjek) — Konfigurasikan parameter ini untuk mengaktifkan aturan bawaan SageMaker Debugger yang ingin Anda jalankan secara real time. Aturan bawaan adalah logika yang secara otomatis men-debug kemajuan pelatihan model Anda dan menemukan masalah pelatihan dengan menganalisis tensor keluaran yang disimpan di bucket S3 aman Anda. Untuk mempelajari cara mengkonfigurasi rules parameter, lihatKonfigurasikan Aturan Built-in Debugger. Untuk menemukan daftar lengkap aturan bawaan untuk men-debug tensor keluaran, lihat. Aturan Debugger Jika Anda ingin membuat logika Anda sendiri untuk mendeteksi masalah pelatihan apa pun, lihatBuat Aturan Kustom Debugger untuk Training Job Analysis.

    catatan

    Aturan bawaan hanya tersedia melalui contoh SageMaker pelatihan. Anda tidak dapat menggunakannya dalam mode lokal.

  • tensorboard_output_config(objek dari TensorBoardOutputConfig) - Konfigurasikan SageMaker Debugger untuk mengumpulkan tensor keluaran dalam format TensorBoard -kompatibel dan simpan ke jalur keluaran S3 Anda yang ditentukan dalam objek. TensorBoardOutputConfig Untuk mempelajari selengkapnya, lihat Visualisasikan Tensor Output Amazon SageMaker Debugger di TensorBoard.

    catatan

    tensorboard_output_configHarus dikonfigurasi dengan debugger_hook_config parameter, yang juga mengharuskan Anda untuk menyesuaikan skrip pelatihan Anda dengan menambahkan sagemaker-debugger kait.

catatan

SageMaker Debugger menyimpan tensor keluaran dengan aman di subfolder bucket S3 Anda. Misalnya, format bucket S3 default URI di akun Anda adalahs3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/. Ada dua subfolder yang dibuat oleh SageMaker Debugger:debug-output, dan. rule-output Jika Anda menambahkan tensorboard_output_config parameter, Anda juga akan menemukan tensorboard-output folder.

Lihat topik berikut untuk menemukan lebih banyak contoh cara mengonfigurasi parameter khusus Debugger secara detail.