

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
<a name="pipelines-retry-policy"></a>

Kebijakan coba lagi membantu Anda mencoba ulang langkah 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:
+ [Langkah pemrosesan](build-and-manage-steps-types.md#step-type-processing) 
+ [Langkah pelatihan](build-and-manage-steps-types.md#step-type-training) 
+ [Langkah penyetelan](build-and-manage-steps-types.md#step-type-tuning) 
+ [Langkah AutoML](build-and-manage-steps-types.md#step-type-automl) 
+ [Buat langkah model](build-and-manage-steps-types.md#step-type-create-model) 
+ [Daftarkan langkah model](build-and-manage-steps-types.md#step-type-register-model) 
+ [Transformasikan langkah](build-and-manage-steps-types.md#step-type-transform) 
+ [Langkah pekerjaan notebook](build-and-manage-steps-types.md#step-type-notebook-job) 

**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](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RetryStrategy.html) Anda sendiri menggunakan SageMaker API.

## Jenis pengecualian yang didukung untuk kebijakan coba lagi
<a name="pipelines-retry-policy-supported-exceptions"></a>

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. 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. 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 pekerjaan SageMaker AI kembali`InternalServerError`. Dalam hal ini, memulai pekerjaan baru dapat memperbaiki masalah sementara.
+ `SageMaker.CAPACITY_ERROR`: Pekerjaan SageMaker AI mungkin menghadapi Amazon EC2`InsufficientCapacityErrors`, yang menyebabkan kegagalan pekerjaan SageMaker AI. Anda dapat mencoba lagi dengan memulai pekerjaan SageMaker AI baru untuk menghindari masalah tersebut. 
+ `SageMaker.RESOURCE_LIMIT`: Anda dapat melampaui kuota batas sumber daya saat menjalankan pekerjaan SageMaker AI. Anda dapat menunggu dan mencoba lagi menjalankan pekerjaan SageMaker AI setelah waktu yang singkat dan melihat apakah sumber daya dirilis.

## Skema JSON untuk kebijakan coba lagi
<a name="pipelines-retry-policy-json-schema"></a>

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). `IntervalSeconds`memiliki 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. `MaxAttempts`memiliki 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
<a name="pipelines-configuring-retry-policy"></a>

Meskipun SageMaker Pipelines menyediakan cara yang kuat dan otomatis untuk mengatur alur kerja pembelajaran mesin, Anda mungkin mengalami kegagalan saat menjalankannya. Untuk menangani skenario seperti itu dengan anggun dan meningkatkan keandalan pipeline, Anda dapat mengonfigurasi kebijakan coba ulang yang menentukan bagaimana dan kapan harus mencoba ulang langkah-langkah tertentu secara otomatis setelah menemukan pengecualian. Kebijakan coba lagi memungkinkan Anda menentukan jenis pengecualian untuk dicoba lagi, jumlah maksimum percobaan ulang, interval antara percobaan ulang, dan tingkat backoff untuk meningkatkan interval coba lagi. Bagian berikut memberikan contoh cara mengonfigurasi kebijakan coba lagi untuk langkah pelatihan di pipeline Anda, baik di JSON maupun menggunakan Python SageMaker SDK.

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 Pipelines - Kebijakan Coba Lagi dalam](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#retry-policy)* dokumentasi Amazon Python SageMaker SDK.