Coba lagi Kebijakan untuk Langkah-langkah Pipa - Amazon SageMaker

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

Coba lagi Kebijakan untuk Langkah-langkah Pipa

Kebijakan coba lagi membantu Anda mencoba ulang langkah SageMaker Pipelines secara otomatis setelah terjadi kesalahan. Setiap langkah pipeline dapat menemukan pengecualian, dan pengecualian terjadi karena berbagai alasan. Dalam beberapa kasus, coba lagi dapat menyelesaikan masalah ini. Dengan kebijakan coba lagi untuk langkah-langkah pipeline, Anda dapat memilih apakah akan mencoba lagi langkah pipeline tertentu atau tidak.

Kebijakan coba lagi hanya mendukung langkah-langkah pipeline berikut:

catatan

Pekerjaan yang berjalan di dalam langkah penyetelan dan AutoML melakukan percobaan ulang secara internal dan tidak akan mencoba lagi jenis pengecualian, meskipun kebijakan coba SageMaker.JOB_INTERNAL_ERROR lagi dikonfigurasi. Anda dapat memprogram Strategi Coba Ulang Anda sendiri menggunakan SageMaker API.

Jenis pengecualian yang didukung untuk kebijakan coba lagi

Kebijakan coba lagi untuk langkah-langkah pipeline mendukung jenis pengecualian berikut:

  • Step.SERVICE_FAULT: Pengecualian ini terjadi ketika kesalahan server internal atau kesalahan sementara terjadi saat memanggil layanan hilir. SageMaker Pipelines mencoba ulang jenis kesalahan ini secara otomatis. Dengan kebijakan coba lagi, Anda dapat mengganti operasi coba ulang default untuk jenis pengecualian ini.

  • Step.THROTTLING: Pengecualian pelambatan dapat terjadi saat memanggil layanan hilir. SageMaker Pipelines mencoba ulang jenis kesalahan ini secara otomatis. Dengan kebijakan coba lagi, Anda dapat mengganti operasi coba ulang default untuk jenis pengecualian ini.

  • SageMaker.JOB_INTERNAL_ERROR: Pengecualian ini terjadi ketika SageMaker pekerjaan kembaliInternalServerError. Dalam hal ini, memulai pekerjaan baru dapat memperbaiki masalah sementara.

  • SageMaker.CAPACITY_ERROR: SageMaker Pekerjaan itu mungkin menghadapi Amazon EC2InsufficientCapacityErrors, yang menyebabkan kegagalan SageMaker pekerjaan. Anda dapat mencoba lagi dengan memulai SageMaker pekerjaan baru untuk menghindari masalah.

  • SageMaker.RESOURCE_LIMIT: Anda dapat melampaui kuota batas sumber daya saat menjalankan pekerjaan. SageMaker Anda dapat menunggu dan mencoba lagi menjalankan SageMaker pekerjaan setelah periode singkat dan melihat apakah sumber daya dirilis.

Skema JSON untuk kebijakan coba lagi

Kebijakan coba lagi untuk Pipelines memiliki skema JSON berikut:

"RetryPolicy": { "ExceptionType": [String] "IntervalSeconds": Integer "BackoffRate": Double "MaxAttempts": Integer "ExpireAfterMin": Integer }
  • ExceptionType: Bidang ini membutuhkan jenis pengecualian berikut dalam format array string.

    • Step.SERVICE_FAULT

    • Step.THROTTLING

    • SageMaker.JOB_INTERNAL_ERROR

    • SageMaker.CAPACITY_ERROR

    • SageMaker.RESOURCE_LIMIT

  • IntervalSeconds(opsional): Jumlah detik sebelum percobaan ulang pertama (1 secara default). IntervalSecondsmemiliki nilai maksimum 43200 detik (12 jam).

  • BackoffRate(opsional): Pengganda dimana interval coba lagi meningkat selama setiap upaya (2.0 secara default).

  • MaxAttempts(opsional): Sebuah bilangan bulat positif yang mewakili jumlah maksimum percobaan ulang (5 secara default). Jika kesalahan berulang lebih dari yang MaxAttempts ditentukan, percobaan ulang berhenti dan penanganan kesalahan normal dilanjutkan. Nilai 0 menentukan bahwa kesalahan tidak pernah dicoba lagi. MaxAttemptsmemiliki nilai maksimum 20.

  • ExpireAfterMin(opsional): Sebuah bilangan bulat positif yang mewakili rentang waktu maksimum percobaan ulang. Jika kesalahan berulang setelah hitungan ExpireAfterMin menit dari langkah dijalankan, percobaan ulang berhenti dan penanganan kesalahan normal dilanjutkan. Nilai 0 menentukan bahwa kesalahan tidak pernah dicoba lagi. ExpireAfterMin memiliki nilai maksimum 14.400 menit (10 hari).

    catatan

    Hanya satu dari MaxAttempts atau ExpireAfterMin dapat diberikan, tetapi tidak keduanya; jika keduanya tidak ditentukan, MaxAttempts menjadi default. Jika kedua properti diidentifikasi dalam satu kebijakan, maka kebijakan coba lagi menghasilkan kesalahan validasi.

Mengonfigurasi kebijakan coba lagi

Berikut ini adalah contoh langkah pelatihan dengan kebijakan coba lagi.

{ "Steps": [ { "Name": "MyTrainingStep", "Type": "Training", "RetryPolicies": [ { "ExceptionType": [ "SageMaker.JOB_INTERNAL_ERROR", "SageMaker.CAPACITY_ERROR" ], "IntervalSeconds": 1, "BackoffRate": 2, "MaxAttempts": 5 } ] } ] }

Berikut ini adalah contoh cara membuat TrainingStep in SDK for Python (Boto3) dengan kebijakan coba lagi.

from sagemaker.workflow.retry import ( StepRetryPolicy, StepExceptionTypeEnum, SageMakerJobExceptionTypeEnum, SageMakerJobStepRetryPolicy ) step_train = TrainingStep( name="MyTrainingStep", xxx, retry_policies=[ // override the default StepRetryPolicy( exception_types=[ StepExceptionTypeEnum.SERVICE_FAULT, StepExceptionTypeEnum.THROTTLING ], expire_after_mins=5, interval_seconds=10, backoff_rate=2.0 ), // retry when resource limit quota gets exceeded SageMakerJobStepRetryPolicy( exception_types=[SageMakerJobExceptionTypeEnum.RESOURCE_LIMIT], expire_after_mins=120, interval_seconds=60, backoff_rate=2.0 ), // retry when job failed due to transient error or EC2 ICE. SageMakerJobStepRetryPolicy( failure_reason_types=[ SageMakerJobExceptionTypeEnum.INTERNAL_ERROR, SageMakerJobExceptionTypeEnum.CAPACITY_ERROR, ], max_attempts=10, interval_seconds=30, backoff_rate=2.0 ) ] )

Untuk informasi selengkapnya tentang mengonfigurasi perilaku coba lagi untuk jenis langkah tertentu, lihat Amazon SageMaker Model Building Pipelines - Kebijakan Coba Lagi dalam dokumentasi Amazon Python SageMaker SDK.