

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

# SageMaker Memulai AWS Batch dengan AI
<a name="getting-started-sagemaker"></a>

AWS Batch pekerjaan layanan memungkinkan Anda untuk mengirimkan pekerjaan SageMaker Pelatihan melalui antrian AWS Batch pekerjaan dengan penjadwalan, prioritas, dan kemampuan antrian. Tutorial ini menunjukkan cara mengatur dan menjalankan pekerjaan SageMaker Pelatihan sederhana menggunakan pekerjaan AWS Batch layanan.

**Contents**
+ [Ikhtisar](#getting-started-sagemaker-context)
+ [Prasyarat](#getting-started-sagemaker-prerequisites)
+ [Langkah 1: Buat peran eksekusi SageMaker AI](#getting-started-sagemaker-step-1)
+ [Langkah 2: Buat lingkungan layanan Anda](#getting-started-sagemaker-step-2)
+ [Langkah 3: Buat antrian SageMaker pekerjaan Anda](#getting-started-sagemaker-step-3)
+ [Langkah 4: Buat dan kirimkan pekerjaan pelatihan](#getting-started-sagemaker-step-4)
+ [Langkah 5: Pantau status pekerjaan](#getting-started-sagemaker-step-5)
+ [Langkah 6: Lihat hasil pekerjaan](#getting-started-sagemaker-step-6)
+ [Langkah 7: Bersihkan sumber daya tutorial Anda](#getting-started-sagemaker-step-7)
+ [Sumber daya tambahan](#getting-started-sagemaker-additional-resources)

## Ikhtisar
<a name="getting-started-sagemaker-context"></a>

Tutorial ini menunjukkan bagaimana untuk setup pekerjaan AWS Batch layanan untuk pekerjaan SageMaker Pelatihan menggunakan. AWS CLI

**Audiens yang Dituju**  
Tutorial ini dirancang untuk ilmuwan data dan pengembang yang bertanggung jawab untuk menyiapkan dan menjalankan pekerjaan pelatihan pembelajaran mesin dalam skala besar.

**Fitur yang Digunakan**  
Tutorial ini menunjukkan cara menggunakan AWS CLI to:  
+ Menciptakan lingkungan layanan untuk pekerjaan SageMaker Pelatihan
+ Buat antrian pekerjaan SageMaker Pelatihan
+ Kirim pekerjaan layanan menggunakan `SubmitServiceJob` API
+ Memantau status pekerjaan dan melihat output
+ Akses CloudWatch log untuk pekerjaan pelatihan

**Waktu yang dibutuhkan**  
Diperlukan waktu sekitar 15 menit untuk menyelesaikan tutorial ini.

**Pembatasan Regional**  
Tutorial ini dapat diselesaikan di AWS Wilayah mana pun di mana keduanya AWS Batch dan SageMaker AI tersedia.

**Biaya Penggunaan Sumber Daya**  
Tidak ada biaya untuk membuat AWS akun. Namun, dengan menerapkan solusi ini, Anda mungkin dikenakan biaya untuk sumber daya berikut:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/batch/latest/userguide/getting-started-sagemaker.html)

## Prasyarat
<a name="getting-started-sagemaker-prerequisites"></a>

Sebelum memulai tutorial ini, Anda harus menginstal dan mengonfigurasi alat dan sumber daya berikut yang Anda butuhkan untuk membuat dan mengelola keduanya AWS Batch dan sumber daya SageMaker AI.
+ **AWS CLI**— Alat baris perintah untuk bekerja dengan AWS layanan, termasuk AWS Batch dan SageMaker AI. Panduan ini mengharuskan Anda menggunakan versi 2.8.6 atau yang lebih baru. Untuk informasi selengkapnya, lihat [Menginstal, memperbarui, dan mencopot instalasi AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) di *Panduan Pengguna AWS Command Line Interface *. Setelah menginstal AWS CLI, kami sarankan Anda juga mengkonfigurasinya. Untuk informasi selengkapnya, lihat [Konfigurasi cepat dengan `aws configure`](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) di *Panduan AWS Command Line Interface Pengguna*.

## Langkah 1: Buat peran eksekusi SageMaker AI
<a name="getting-started-sagemaker-step-1"></a>

SageMaker AI menggunakan peran eksekusi untuk melakukan operasi atas nama Anda menggunakan AWS layanan lain. Anda harus membuat peran eksekusi dan memberikan izin SageMaker AI untuk menggunakan layanan dan sumber daya yang diperlukan untuk pekerjaan pelatihan. Gunakan kebijakan `AmazonSageMakerFullAccess` terkelola karena menyertakan izin untuk Amazon S3. 

**catatan**  
Gunakan petunjuk berikut untuk membuat peran eksekusi SageMaker AI untuk tutorial ini.  
Sebelum Anda membuat peran eksekusi untuk lingkungan produksi Anda, kami sarankan Anda meninjau, [Cara menggunakan peran eksekusi SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) dalam *[panduan Pengembang SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)*.

1. 

**Buat peran IAM**

   Buat file JSON bernama `sagemaker-trust-policy.json` dengan kebijakan kepercayaan berikut:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "sagemaker.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   Buat peran IAM menggunakan kebijakan kepercayaan:

   ```
   aws iam create-role \
       --role-name SageMakerExecutionRole \
       --assume-role-policy-document file://sagemaker-trust-policy.json \
       --description "Execution role for SageMaker training jobs"
   ```

1. 

**Lampirkan kebijakan terkelola**

   Lampirkan kebijakan terkelola yang diperlukan ke peran:

   ```
   aws iam attach-role-policy \
       --role-name SageMakerExecutionRole \
       --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
   ```

   ```
   aws iam attach-role-policy \
       --role-name SageMakerExecutionRole \
       --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
   ```

1. 

**Perhatikan peran ARN**

   Dapatkan peran ARN, yang Anda perlukan di langkah selanjutnya:

   ```
   aws iam get-role --role-name SageMakerExecutionRole --query 'Role.Arn' --output text
   ```

   Simpan ARN ini karena Anda akan menggunakannya saat membuat muatan pekerjaan pelatihan Anda.

## Langkah 2: Buat lingkungan layanan Anda
<a name="getting-started-sagemaker-step-2"></a>

Lingkungan layanan mendefinisikan kendala kapasitas untuk pekerjaan Pelatihan. SageMaker Lingkungan layanan merangkum jumlah maksimum instans pelatihan yang dapat berjalan secara bersamaan.

**penting**  
Saat Anda membuat lingkungan layanan pertama untuk SageMaker Pelatihan, AWS Batch secara otomatis membuat peran terkait layanan yang dipanggil `AWSServiceRoleForAWSBatchWithSagemaker` di akun Anda. Peran ini memungkinkan AWS Batch untuk mengantri dan mengelola pekerjaan SageMaker Pelatihan atas nama Anda. Untuk informasi selengkapnya tentang peran terkait layanan ini dan izinnya, lihat. [Menggunakan peran untuk AWS Batch dengan SageMaker AI](using-service-linked-roles-batch-sagemaker.md)

Buat lingkungan layanan yang dapat menangani hingga 5 instance:

```
aws batch create-service-environment \
    --service-environment-name TutorialServiceEnvironment \
    --service-environment-type SAGEMAKER_TRAINING \
    --capacity-limits capacityUnit=NUM_INSTANCES,maxCapacity=5
```

Output:

```
{
    "serviceEnvironmentName": "TutorialServiceEnvironment",
    "serviceEnvironmentArn": "arn:aws:batch:your-region:your-account-id:service-environment/TutorialServiceEnvironment"
}
```

Verifikasi bahwa lingkungan layanan Anda berhasil dibuat:

```
aws batch describe-service-environments --service-environments TutorialServiceEnvironment
```

Output:

```
{
    "serviceEnvironments": [
        {
            "serviceEnvironmentName": "TutorialServiceEnvironment",
            "serviceEnvironmentArn": "arn:aws:batch:your-region:your-account-id:service-environment/TutorialServiceEnvironment",
            "serviceEnvironmentType": "SAGEMAKER_TRAINING",
            "state": "ENABLED",
            "status": "VALID",
            "capacityLimits": [
                {
                    "maxCapacity": 5,
                    "capacityUnit": "NUM_INSTANCES"
                }
            ],
            "tags": {}
        }
    ]
}
```

Untuk informasi selengkapnya tentang lingkungan layanan, lihat[Lingkungan layanan untuk AWS Batch](service-environments.md).

## Langkah 3: Buat antrian SageMaker pekerjaan Anda
<a name="getting-started-sagemaker-step-3"></a>

Antrian SageMaker pekerjaan mengelola penjadwalan dan pelaksanaan pekerjaan layanan. Pekerjaan yang dikirimkan ke antrian ini akan dikirim ke lingkungan layanan Anda berdasarkan kapasitas yang tersedia.

Buat antrian pekerjaan SageMaker Pelatihan:

```
aws batch create-job-queue \
    --job-queue-name my-sm-training-fifo-jq \
    --job-queue-type SAGEMAKER_TRAINING \
    --priority 1 \
    --service-environment-order order=1,serviceEnvironment=TutorialServiceEnvironment
```

Output:

```
{
    "jobQueueName": "my-sm-training-fifo-jq",
    "jobQueueArn": "arn:aws:batch:your-region:your-account-id:job-queue/my-sm-training-fifo-jq"
}
```

Verifikasi bahwa antrian pekerjaan Anda berhasil dibuat:

```
aws batch describe-job-queues --job-queues my-sm-training-fifo-jq
```

Output:

```
{
    "jobQueues": [
        {
            "jobQueueName": "my-sm-training-fifo-jq",
            "jobQueueArn": "arn:aws:batch:your-region:your-account-id:job-queue/my-sm-training-fifo-jq",
            "state": "ENABLED",
            "status": "VALID",
            "statusReason": "JobQueue Healthy",
            "priority": 1,
            "computeEnvironmentOrder": [],
            "serviceEnvironmentOrder": [
                {
                    "order": 1,
                    "serviceEnvironment": "arn:aws:batch:your-region:your-account-id:service-environment/TutorialServiceEnvironment"
                }
            ],
            "jobQueueType": "SAGEMAKER_TRAINING",
            "tags": {}
        }
    ]
}
```

Untuk informasi selengkapnya tentang antrian SageMaker pekerjaan, lihat. [Buat antrian pekerjaan SageMaker Pelatihan di AWS Batch](create-sagemaker-job-queue.md)

## Langkah 4: Buat dan kirimkan pekerjaan pelatihan
<a name="getting-started-sagemaker-step-4"></a>

Sekarang Anda akan membuat pekerjaan pelatihan sederhana dan mengirimkannya ke antrian pekerjaan Anda. Contoh ini menggunakan pekerjaan pelatihan “hello world” dasar yang menunjukkan fungsionalitas pekerjaan layanan.

Buat file dengan nama `my_training_job.json` dengan konten berikut ini. Ganti *your-account-id* dengan ID AWS akun Anda:

**catatan**  
`S3OutputPath`diperlukan untuk membuat pekerjaan SageMaker Pelatihan tetapi hasil tutorial ini tidak disimpan di bucket Amazon S3 dan Anda dapat menggunakan jalur di JSON berikut. Di lingkungan produksi Anda, Anda memerlukan bucket Amazon S3 yang valid untuk menyimpan output di sana jika Anda mau.

```
{
    "TrainingJobName": "my-simple-training-job",
    "RoleArn": "arn:aws:iam::your-account-id:role/SageMakerExecutionRole",
    "AlgorithmSpecification": {
        "TrainingInputMode": "File",
        "TrainingImage": "763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:2.0.0-cpu-py310",
        "ContainerEntrypoint": [
            "echo",
            "hello world"
        ]
    },
    "ResourceConfig": {
        "InstanceType": "ml.c5.xlarge",
        "InstanceCount": 1,
        "VolumeSizeInGB": 1
    },
    "OutputDataConfig": {
        "S3OutputPath": "s3://your-s3-bucket/output"
    },
    "StoppingCondition": {
        "MaxRuntimeInSeconds": 30
    }
}
```

Kirim pekerjaan pelatihan menggunakan [SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html)API:

```
aws batch submit-service-job \
    --job-queue my-sm-training-fifo-jq \
    --job-name my-batch-sm-job \
    --service-job-type SAGEMAKER_TRAINING \
    --retry-strategy attempts=1 \
    --timeout-config attemptDurationSeconds=60 \
    --service-request-payload file://my_training_job.json
```

Output:

```
{
    "jobArn": "arn:aws:batch:your-region:your-account-id:service-job/your-job-id",
    "jobName": "my-batch-sm-job",
    "jobId": "your-job-id"
}
```

Untuk informasi selengkapnya tentang muatan pekerjaan layanan, lihat[Muatan pekerjaan layanan di AWS Batch](service-job-payload.md). Untuk informasi selengkapnya tentang mengirimkan pekerjaan layanan, lihat. [Kirim pekerjaan layanan di AWS Batch](service-job-submit.md)

## Langkah 5: Pantau status pekerjaan
<a name="getting-started-sagemaker-step-5"></a>

Anda dapat memantau pekerjaan pelatihan Anda menggunakan yang berikut AWS Batch APIs: [DescribeServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html), [ListServiceJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListServiceJobs.html), dan [GetJobQueueSnapshot](https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html). Bagian ini menunjukkan berbagai cara untuk memeriksa status pekerjaan dan informasi antrian.

Lihat pekerjaan yang sedang berjalan dalam antrian Anda:

```
aws batch list-service-jobs \
    --job-queue my-sm-training-fifo-jq --job-status RUNNING
```

Output:

```
{
    "jobSummaryList": [
        {
            "latestAttempt": {
                "serviceResourceId": {
                    "name": "TrainingJobArn",
                    "value": "arn:aws:sagemaker:your-region:your-account-id:training-job/AWSBatch<my-simple-training-job><your-attempt-id>"
                }
            },
            "createdAt": 1753718760,
            "jobArn": "arn:aws:batch:your-region:your-account-id:service-job/your-job-id",
            "jobId": "your-job-id",
            "jobName": "my-batch-sm-job",
            "serviceJobType": "SAGEMAKER_TRAINING",
            "status": "RUNNING",
            "startedAt": 1753718820
        }
    ]
}
```

Lihat pekerjaan yang ada di `RUNNABLE` negara bagian:

```
aws batch list-service-jobs \
    --job-queue my-sm-training-fifo-jq --job-status RUNNABLE
```

Dapatkan snapshot pekerjaan yang akan datang dalam antrian Anda:

```
aws batch get-job-queue-snapshot --job-queue my-sm-training-fifo-jq
```

Output:

```
{
    "frontOfQueue": {
        "jobs": [
            {
                "jobArn": "arn:aws:batch:your-region:your-account-id:service-job/your-job-id",
                "earliestTimeAtPosition": 1753718880
            },
            {
                "jobArn": "arn:aws:batch:your-region:your-account-id:service-job/your-job-id-2",
                "earliestTimeAtPosition": 1753718940
            }
        ],
        "lastUpdatedAt": 1753718970
    }
}
```

Cari pekerjaan berdasarkan nama:

```
aws batch list-service-jobs \
    --job-queue my-sm-training-fifo-jq \
    --filters name=JOB_NAME,values="my-batch-sm-job"
```

Output:

```
{
    "jobSummaryList": [
        {
            "latestAttempt": {
                "serviceResourceId": {
                    "name": "TrainingJobArn",
                    "value": "arn:aws:sagemaker:your-region:your-account-id:training-job/AWSBatch<my-simple-training-job><your-attempt-id>"
                }
            },
            "createdAt": 1753718760,
            "jobArn": "arn:aws:batch:your-region:your-account-id:service-job/your-job-id",
            "jobId": "your-job-id",
            "jobName": "my-batch-sm-job",
            "serviceJobType": "SAGEMAKER_TRAINING",
            "status": "RUNNING"
        }
    ]
}
```

Untuk informasi selengkapnya tentang pemetaan status pekerjaan, lihat[Memetakan status pekerjaan AWS Batch layanan ke status SageMaker AI](service-job-status.md).

## Langkah 6: Lihat hasil pekerjaan
<a name="getting-started-sagemaker-step-6"></a>

Setelah pekerjaan Anda selesai, Anda dapat melihat output dan lognya melalui keduanya AWS Batch dan SageMaker AI APIs.

Dapatkan informasi rinci tentang pekerjaan Anda dari AWS Batch:

```
aws batch describe-service-job \
    --job-id your-job-id
```

Output:

```
{
    "attempts": [
        {
            "serviceResourceId": {
                "name": "TrainingJobArn",
                "value": "arn:aws:sagemaker:your-region:your-account-id:training-job/AWSBatch<my-simple-training-job><your-attempt-id>"
            },
            "startedAt": 1753718820,
            "stoppedAt": 1753718880,
            "statusReason": "Received status from SageMaker: Training job completed"
        }
    ],
    "createdAt": 1753718760,
    "jobArn": "arn:aws:batch:your-region:your-account-id:service-job/your-job-id",
    "jobId": "your-job-id",
    "jobName": "my-batch-sm-job",
    "jobQueue": "arn:aws:batch:your-region:your-account-id:job-queue/my-sm-training-fifo-jq",
    "latestAttempt": {
        "serviceResourceId": {
            "name": "TrainingJobArn",
            "value": "arn:aws:sagemaker:your-region:your-account-id:training-job/AWSBatch<my-simple-training-job><your-attempt-id>"
        }
    },
    "retryStrategy": {
        "attempts": 1,
        "evaluateOnExit": []
    },
    "serviceRequestPayload": "your-training-job-request-json",
    "serviceJobType": "SAGEMAKER_TRAINING",
    "startedAt": 1753718820,
    "status": "SUCCEEDED",
    "statusReason": "Received status from SageMaker: Training job completed",
    "stoppedAt": 1753718880,
    "tags": {},
    "timeoutConfig": {
        "attemptDurationSeconds": 60
    }
}
```

Perintah ini mengembalikan informasi pekerjaan yang komprehensif termasuk ARN pekerjaan SageMaker Pelatihan, yang dapat Anda gunakan untuk mengakses pekerjaan secara langsung melalui SageMaker AI:

```
aws sagemaker describe-training-job \
    --training-job-name AWSBatch<my-simple-training-job><your-attempt-id>
```

Untuk melihat CloudWatch log untuk pekerjaan pelatihan Anda, pertama-tama dapatkan nama aliran log:

```
aws logs describe-log-streams \
    --log-group-name /aws/sagemaker/TrainingJobs \
    --log-stream-name-prefix AWSBatchmy-simple-training-job
```

Output:

```
{
    "logStreams": [
        {
            "logStreamName": "your-log-stream-name",
            "creationTime": 1753718830,
            "firstEventTimestamp": 1753718840,
            "lastEventTimestamp": 1753718850,
            "lastIngestionTime": 1753718860,
            "uploadSequenceToken": upload-sequence-token,
            "arn": "arn:aws:logs:your-region:your-account-id:log-group:/aws/sagemaker/TrainingJobs:log-stream:AWSBatch<my-simple-training-job><your-attempt-id>/algo-1-algo-id",
            "storedBytes": 0
        }
    ]
}
```

Kemudian ambil log menggunakan nama aliran log dari respons sebelumnya:

```
aws logs get-log-events \
    --log-group-name /aws/sagemaker/TrainingJobs \
    --log-stream-name your-log-stream-name
```

Output:

```
{
    "events": [
        {
            "timestamp": 1753718845,
            "message": "hello world",
            "ingestionTime": 1753718865
        }
    ],
    "nextForwardToken": "next-forward-token",
    "nextBackwardToken": "next-backward-token"
}
```

Output log menunjukkan pesan “hello world” dari pekerjaan pelatihan Anda, mengonfirmasi bahwa pekerjaan tersebut berhasil dijalankan.

## Langkah 7: Bersihkan sumber daya tutorial Anda
<a name="getting-started-sagemaker-step-7"></a>

Setelah selesai dengan tutorial, bersihkan sumber daya yang Anda buat untuk menghindari biaya yang sedang berlangsung.

Pertama, nonaktifkan dan hapus antrian pekerjaan:

```
aws batch update-job-queue \
    --job-queue my-sm-training-fifo-jq \
    --state DISABLED
```

Tunggu antrian pekerjaan dinonaktifkan, lalu hapus:

```
aws batch delete-job-queue \
    --job-queue my-sm-training-fifo-jq
```

Selanjutnya, nonaktifkan dan hapus lingkungan layanan:

```
aws batch update-service-environment \
    --service-environment TutorialServiceEnvironment \
    --state DISABLED
```

Tunggu hingga lingkungan layanan dinonaktifkan, lalu hapus:

```
aws batch delete-service-environment \
    --service-environment TutorialServiceEnvironment
```

## Sumber daya tambahan
<a name="getting-started-sagemaker-additional-resources"></a>

Setelah Anda menyelesaikan tutorial, Anda mungkin ingin menjelajahi topik-topik berikut:
+ Sebaiknya gunakan pySDK untuk pembuatan pekerjaan layanan dan pengiriman ke antrean Job Anda karena pySDK memiliki kelas dan utilitas helper. Untuk contoh penggunaan pySDK, lihat [contoh SageMaker AI](https://github.com/aws/amazon-sagemaker-examples) di. GitHub
+ Pelajari lebih lanjut tentang [Lowongan kerja Service di AWS Batch](service-jobs.md).
+ Jelajahi [Muatan pekerjaan layanan di AWS Batch](service-job-payload.md) konfigurasi pekerjaan pelatihan yang lebih kompleks.
+ Pelajari tentang [Kirim pekerjaan layanan di AWS Batch](service-job-submit.md) dan `SubmitServiceJob` API.
+ Tinjau [Memetakan status pekerjaan AWS Batch layanan ke status SageMaker AI](service-job-status.md) untuk memahami transisi status pekerjaan.
+ Kunjungi [dokumentasi SageMaker AI Python SDK](https://sagemaker.readthedocs.io/en/stable/) untuk lebih banyak cara kaya fitur untuk membuat dan mengirimkan pekerjaan Pelatihan SageMaker menggunakan Python.
+ Jelajahi [SageMakercontoh buku catatan](https://github.com/aws/amazon-sagemaker-examples) untuk alur kerja pembelajaran mesin yang lebih kompleks.