Gunakan SageMaker Pekerjaan Amazon - Amazon SageMaker

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

Gunakan SageMaker Pekerjaan Amazon

Bagian ini didasarkan pada versi asli SageMaker Operator untuk Kubernetes.

penting

Kami menghentikan pengembangan dan dukungan teknis dari versi asli SageMaker Operator untuk Kubernetes.

Jika saat ini Anda menggunakan SageMaker Operator untuk Kubernetes versi v1.2.2 atau di bawah ini, kami sarankan untuk memigrasikan sumber daya Anda ke ACKpengontrol layanan untuk Amazon. SageMaker Pengontrol ACK layanan adalah generasi baru SageMaker Operator untuk Kubernetes berdasarkan AWS Pengontrol untuk Kubernetes (). ACK

Untuk informasi tentang langkah-langkah migrasi, lihatMigrasikan sumber daya ke Operator terbaru.

Untuk jawaban atas pertanyaan umum di akhir dukungan versi asli SageMaker Operator untuk Kubernetes, lihat Mengumumkan Berakhirnya Support dari SageMaker Operator Versi Asli untuk Kubernetes

Untuk menjalankan SageMaker pekerjaan Amazon menggunakan Operator untuk Kubernetes, Anda dapat menerapkan YAML file atau menggunakan Bagan Helm yang disediakan.

Semua pekerjaan operator sampel dalam tutorial berikut menggunakan data sampel yang diambil dari MNIST kumpulan data publik. Untuk menjalankan sampel ini, unduh kumpulan data ke bucket Amazon S3 Anda. Anda dapat menemukan kumpulan data di Unduh MNIST Dataset.

TrainingJob Operator

Operator pekerjaan pelatihan merekonsiliasi spesifikasi pekerjaan pelatihan yang Anda tentukan SageMaker dengan meluncurkannya untuk Anda di. SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan SageMaker pelatihan dalam SageMaker CreateTrainingJob APIdokumentasi.

Buat YAML file TrainingJob menggunakan

  1. Unduh YAML file sampel untuk pelatihan menggunakan perintah berikut:

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-trainingjob.yaml
  2. Edit xgboost-mnist-trainingjob.yaml file untuk mengganti roleArn parameter dengan Anda<sagemaker-execution-role>, dan outputPath dengan bucket Amazon S3 Anda yang peran SageMaker eksekusi memiliki akses tulis. roleArnHarus memiliki izin sehingga SageMaker dapat mengakses Amazon S3, CloudWatch Amazon, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat SageMaker ExecutionRole, lihat SageMaker Peran. Terapkan YAML file menggunakan perintah berikut:

    kubectl apply -f xgboost-mnist-trainingjob.yaml

Membuat TrainingJob Menggunakan Bagan Helm

Anda dapat menggunakan Helm Charts untuk menjalankan TrainingJobs.

  1. Kloning GitHub repositori untuk mendapatkan sumber menggunakan perintah berikut:

    git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
  2. Arahkan ke amazon-sagemaker-operator-for-k8s/hack/charts/training-jobs/ folder dan edit values.yaml file untuk mengganti nilai seperti rolearn dan outputpath dengan nilai yang sesuai dengan akun Anda. Peran ARN harus memiliki izin sehingga SageMaker dapat mengakses Amazon S3, CloudWatch Amazon, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat SageMaker ExecutionRole, lihat SageMaker Peran.

Buat TrainingJob

Dengan peran dan bucket Amazon S3 diganti dengan nilai yang sesuai divalues.yaml, Anda dapat membuat pekerjaan pelatihan menggunakan perintah berikut:

helm install . --generate-name

Output Anda akan terlihat seperti berikut:

NAME: chart-12345678 LAST DEPLOYED: Wed Nov 20 23:35:49 2019 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: Thanks for installing the sagemaker-k8s-trainingjob.

Verifikasi Bagan Helm pelatihan Anda

Untuk memverifikasi bahwa Bagan Helm berhasil dibuat, jalankan:

helm ls

Output Anda akan terlihat seperti berikut:

NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION chart-12345678 default 1 2019-11-20 23:35:49.9136092 +0000 UTC deployed sagemaker-k8s-trainingjob-0.1.0 rolebased-12345678 default 1 2019-11-20 23:14:59.6777082 +0000 UTC deployed sagemaker-k8s-operator-0.1.0

helm installmembuat sumber daya TrainingJob Kubernetes. Operator meluncurkan pekerjaan pelatihan yang sebenarnya SageMaker dan memperbarui sumber daya TrainingJob Kubernetes untuk mencerminkan status pekerjaan di. SageMaker Anda dikenakan biaya untuk SageMaker sumber daya yang digunakan selama durasi pekerjaan Anda. Anda tidak dikenakan biaya apa pun setelah pekerjaan Anda selesai atau berhenti.

Catatan: SageMaker tidak memungkinkan Anda memperbarui pekerjaan pelatihan yang sedang berjalan. Anda tidak dapat mengedit parameter apa pun dan menerapkan kembali file konfigurasi. Ubah nama metadata atau hapus pekerjaan yang ada dan buat yang baru. Mirip dengan operator pekerjaan pelatihan yang ada seperti TFJob di Kubeflow, tidak update didukung.

Daftar TrainingJobs

Gunakan perintah berikut untuk membuat daftar semua pekerjaan yang dibuat menggunakan operator Kubernetes:

kubectl get TrainingJob

Daftar keluaran semua pekerjaan akan terlihat seperti berikut:

kubectl get trainingjobs NAME STATUS SECONDARY-STATUS CREATION-TIME SAGEMAKER-JOB-NAME xgboost-mnist-from-for-s3 InProgress Starting 2019-11-20T23:42:35Z xgboost-mnist-from-for-s3-examplef11eab94e0ed4671d5a8f

Pekerjaan pelatihan terus terdaftar setelah pekerjaan selesai atau gagal. Anda dapat menghapus TrainingJob pekerjaan dari daftar dengan mengikuti Hapus TrainingJobs langkah-langkahnya. Pekerjaan yang telah selesai atau dihentikan tidak dikenakan biaya apa pun untuk SageMaker sumber daya.

TrainingJob nilai status

STATUSBidang dapat berupa salah satu nilai berikut:

  • Completed

  • InProgress

  • Failed

  • Stopped

  • Stopping

Status ini datang langsung dari APIdokumentasi SageMaker resmi.

Selain SageMaker status resmi, dimungkinkan STATUS untuk menjadiSynchronizingK8sJobWithSageMaker. Ini berarti bahwa operator belum memproses pekerjaan.

Nilai status sekunder

Status sekunder datang langsung dari APIdokumentasi SageMaker resmi. Mereka berisi informasi yang lebih terperinci tentang status pekerjaan.

Jelaskan TrainingJob

Anda bisa mendapatkan detail lebih lanjut tentang pekerjaan pelatihan dengan menggunakan describe kubectl perintah. Ini biasanya digunakan untuk men-debug masalah atau memeriksa parameter pekerjaan pelatihan. Untuk mendapatkan informasi tentang pekerjaan pelatihan Anda, gunakan perintah berikut:

kubectl describe trainingjob xgboost-mnist-from-for-s3

Output untuk pekerjaan pelatihan Anda akan terlihat seperti berikut:

Name: xgboost-mnist-from-for-s3 Namespace: default Labels: <none> Annotations: <none> API Version: sagemaker.aws.amazon.com/v1 Kind: TrainingJob Metadata: Creation Timestamp: 2019-11-20T23:42:35Z Finalizers: sagemaker-operator-finalizer Generation: 2 Resource Version: 23119 Self Link: /apis/sagemaker.aws.amazon.com/v1/namespaces/default/trainingjobs/xgboost-mnist-from-for-s3 UID: 6d7uiui-0bef-11ea-b94e-0ed467example Spec: Algorithm Specification: Training Image: 8256416981234.dkr.ecr.us-east-2.amazonaws.com/xgboost:1 Training Input Mode: File Hyper Parameters: Name: eta Value: 0.2 Name: gamma Value: 4 Name: max_depth Value: 5 Name: min_child_weight Value: 6 Name: num_class Value: 10 Name: num_round Value: 10 Name: objective Value: multi:softmax Name: silent Value: 0 Input Data Config: Channel Name: train Compression Type: None Content Type: text/csv Data Source: S 3 Data Source: S 3 Data Distribution Type: FullyReplicated S 3 Data Type: S3Prefix S 3 Uri: https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/train/ Channel Name: validation Compression Type: None Content Type: text/csv Data Source: S 3 Data Source: S 3 Data Distribution Type: FullyReplicated S 3 Data Type: S3Prefix S 3 Uri: https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/validation/ Output Data Config: S 3 Output Path: s3://amzn-s3-demo-bucket/sagemaker/xgboost-mnist/xgboost/ Region: us-east-2 Resource Config: Instance Count: 1 Instance Type: ml.m4.xlarge Volume Size In GB: 5 Role Arn: arn:aws:iam::12345678910:role/service-role/AmazonSageMaker-ExecutionRole Stopping Condition: Max Runtime In Seconds: 86400 Training Job Name: xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0example Status: Cloud Watch Log URL: https://us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logStream:group=/aws/sagemaker/TrainingJobs;prefix=<example>;streamFilter=typeLogStreamPrefix Last Check Time: 2019-11-20T23:44:29Z Sage Maker Training Job Name: xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94eexample Secondary Status: Downloading Training Job Status: InProgress Events: <none>

Lihat log dari TrainingJobs

Gunakan perintah berikut untuk melihat log dari pekerjaan kmeans-mnist pelatihan:

kubectl smlogs trainingjob xgboost-mnist-from-for-s3

Output-nya semestinya mirip dengan yang berikut. Log dari instance diurutkan secara kronologis.

"xgboost-mnist-from-for-s3" has SageMaker TrainingJobName "xgboost-mnist-from-for-s3-123456789" in region "us-east-2", status "InProgress" and secondary status "Starting" xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC Arguments: train xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [2019-11-20:23:45:22:INFO] Running standalone xgboost training. xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [2019-11-20:23:45:22:INFO] File size need to be processed in the node: 1122.95mb. Available memory size in the node: 8586.0mb xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [2019-11-20:23:45:22:INFO] Determined delimiter of CSV input is ',' xgboost-mnist-from-for-s3-6d7fa0af0bef11eab94e0ed46example/algo-1-1574293123 2019-11-20 23:45:24.7 +0000 UTC [23:45:22] S3DistributionType set as FullyReplicated

Hapus TrainingJobs

Gunakan perintah berikut untuk menghentikan pekerjaan pelatihan di Amazon SageMaker:

kubectl delete trainingjob xgboost-mnist-from-for-s3

Perintah ini menghapus tugas SageMaker pelatihan dari Kubernetes. Perintah ini mengembalikan output sebagai berikut:

trainingjob.sagemaker.aws.amazon.com "xgboost-mnist-from-for-s3" deleted

Jika pekerjaan masih berlangsung SageMaker, pekerjaan berhenti. Anda tidak dikenakan biaya apa pun untuk SageMaker sumber daya setelah pekerjaan Anda berhenti atau selesai.

Catatan: SageMaker tidak menghapus pekerjaan pelatihan. Pekerjaan yang dihentikan terus ditampilkan di SageMaker konsol. deletePerintah membutuhkan waktu sekitar 2 menit untuk membersihkan sumber daya dari SageMaker.

HyperParameterTuningJobOperator

Operator pekerjaan tuning hyperparameter merekonsiliasi spesifikasi pekerjaan tuning hyperparameter yang Anda tentukan dengan meluncurkannya di. SageMaker SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan tuning SageMaker hyperparameter dalam dokumentasi. SageMaker CreateHyperParameterTuningJob API

Buat YAML file HyperparameterTuningJob menggunakan

  1. Unduh YAML file sampel untuk pekerjaan tuning hyperparameter menggunakan perintah berikut:

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-hpo.yaml
  2. Edit xgboost-mnist-hpo.yaml file untuk mengganti roleArn parameter dengan file Andasagemaker-execution-role. Agar pekerjaan tuning hyperparameter berhasil, Anda juga harus mengubah s3InputPath dan s3OutputPath ke nilai yang sesuai dengan akun Anda. Terapkan YAML file pembaruan menggunakan perintah berikut:

    kubectl apply -f xgboost-mnist-hpo.yaml

Buat HyperparameterTuningJob menggunakan Bagan Helm

Anda dapat menggunakan Helm Charts untuk menjalankan pekerjaan tuning hyperparameter.

  1. Kloning GitHub repositori untuk mendapatkan sumber menggunakan perintah berikut:

    git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
  2. Arahkan ke amazon-sagemaker-operator-for-k8s/hack/charts/hyperparameter-tuning-jobs/ folder.

  3. Edit values.yaml file untuk mengganti roleArn parameter dengan file Andasagemaker-execution-role. Agar pekerjaan tuning hyperparameter berhasil, Anda juga harus mengubah s3InputPath dan s3OutputPath ke nilai yang sesuai dengan akun Anda.

Buat HyperparameterTuningJob

Dengan peran dan jalur Amazon S3 diganti dengan nilai yang sesuai divalues.yaml, Anda dapat membuat tugas penyetelan hyperparameter menggunakan perintah berikut:

helm install . --generate-name

Output-nya semestinya mirip dengan yang berikut:

NAME: chart-1574292948 LAST DEPLOYED: Wed Nov 20 23:35:49 2019 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: Thanks for installing the sagemaker-k8s-hyperparametertuningjob.

Verifikasi instalasi bagan

Untuk memverifikasi bahwa Bagan Helm berhasil dibuat, jalankan perintah berikut:

helm ls

Output Anda akan terlihat seperti berikut:

NAME NAMESPACE REVISION UPDATED chart-1474292948 default 1 2019-11-20 23:35:49.9136092 +0000 UTC deployed sagemaker-k8s-hyperparametertuningjob-0.1.0 STATUS CHART APP VERSION chart-1574292948 default 1 2019-11-20 23:35:49.9136092 +0000 UTC deployed sagemaker-k8s-trainingjob-0.1.0 rolebased-1574291698 default 1 2019-11-20 23:14:59.6777082 +0000 UTC deployed sagemaker-k8s-operator-0.1.0

helm installmembuat sumber daya HyperParameterTuningJob Kubernetes. Operator meluncurkan pekerjaan optimasi hyperparameter yang sebenarnya SageMaker dan memperbarui sumber daya HyperParameterTuningJob Kubernetes untuk mencerminkan status pekerjaan di. SageMaker Anda dikenakan biaya untuk SageMaker sumber daya yang digunakan selama durasi pekerjaan Anda. Anda tidak dikenakan biaya apa pun setelah pekerjaan Anda selesai atau berhenti.

Catatan: SageMaker tidak mengizinkan Anda memperbarui pekerjaan tuning hyperparameter yang sedang berjalan. Anda tidak dapat mengedit parameter apa pun dan menerapkan kembali file konfigurasi. Anda harus mengubah nama metadata atau menghapus pekerjaan yang ada dan membuat yang baru. Mirip dengan operator pekerjaan pelatihan yang ada seperti TFJob di Kubeflow, tidak update didukung.

Daftar HyperparameterTuningJobs

Gunakan perintah berikut untuk membuat daftar semua pekerjaan yang dibuat menggunakan operator Kubernetes:

kubectl get hyperparametertuningjob

Output Anda akan terlihat seperti berikut:

NAME STATUS CREATION-TIME COMPLETED INPROGRESS ERRORS STOPPED BEST-TRAINING-JOB SAGEMAKER-JOB-NAME xgboost-mnist-hpo Completed 2019-10-17T01:15:52Z 10 0 0 0 xgboostha92f5e3cf07b11e9bf6c06d6-009-4c7a123 xgboostha92f5e3cf07b11e9bf6c123

Pekerjaan tuning hyperparameter terus terdaftar setelah pekerjaan selesai atau gagal. Anda dapat menghapus a hyperparametertuningjob dari daftar dengan mengikuti langkah-langkah diMenghapus HyperparameterTuningJob. Pekerjaan yang telah selesai atau dihentikan tidak dikenakan biaya apa pun untuk SageMaker sumber daya.

Nilai status pekerjaan tuning hyperparameter

STATUSBidang dapat berupa salah satu nilai berikut:

  • Completed

  • InProgress

  • Failed

  • Stopped

  • Stopping

Status ini datang langsung dari APIdokumentasi SageMaker resmi.

Selain SageMaker status resmi, dimungkinkan STATUS untuk menjadiSynchronizingK8sJobWithSageMaker. Ini berarti bahwa operator belum memproses pekerjaan.

Penghitung status

Outputnya memiliki beberapa penghitung, seperti COMPLETED danINPROGRESS. Ini mewakili berapa banyak pekerjaan pelatihan yang telah diselesaikan dan sedang berlangsung, masing-masing. Untuk informasi selengkapnya tentang bagaimana ini ditentukan, lihat TrainingJobStatusCountersdi SageMaker API dokumentasi.

Terbaik TrainingJob

Kolom ini berisi nama TrainingJob yang paling dioptimalkan metrik yang dipilih.

Untuk melihat ringkasan hyperparameters yang disetel, jalankan:

kubectl describe hyperparametertuningjob xgboost-mnist-hpo

Untuk melihat informasi rinci tentangTrainingJob, jalankan:

kubectl describe trainingjobs <job name>

Melelurkan TrainingJobs

Anda juga dapat melacak semua 10 pekerjaan pelatihan di Kubernetes yang diluncurkan HyperparameterTuningJob dengan menjalankan perintah berikut:

kubectl get trainingjobs

Jelaskan HyperparameterTuningJob

Anda dapat memperoleh detail debugging menggunakan describe kubectl perintah.

kubectl describe hyperparametertuningjob xgboost-mnist-hpo

Selain informasi tentang pekerjaan tuning, SageMaker Operator untuk Kubernetes juga memaparkan pekerjaan pelatihan terbaik yang ditemukan oleh pekerjaan tuning hyperparameter dalam output sebagai berikut: describe

Name: xgboost-mnist-hpo Namespace: default Labels: <none> Annotations: kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"HyperparameterTuningJob","metadata":{"annotations":{},"name":"xgboost-mnist-hpo","namespace":... API Version: sagemaker.aws.amazon.com/v1 Kind: HyperparameterTuningJob Metadata: Creation Timestamp: 2019-10-17T01:15:52Z Finalizers: sagemaker-operator-finalizer Generation: 2 Resource Version: 8167 Self Link: /apis/sagemaker.aws.amazon.com/v1/namespaces/default/hyperparametertuningjobs/xgboost-mnist-hpo UID: a92f5e3c-f07b-11e9-bf6c-06d6f303uidu Spec: Hyper Parameter Tuning Job Config: Hyper Parameter Tuning Job Objective: Metric Name: validation:error Type: Minimize Parameter Ranges: Integer Parameter Ranges: Max Value: 20 Min Value: 10 Name: num_round Scaling Type: Linear Resource Limits: Max Number Of Training Jobs: 10 Max Parallel Training Jobs: 10 Strategy: Bayesian Training Job Early Stopping Type: Off Hyper Parameter Tuning Job Name: xgboostha92f5e3cf07b11e9bf6c06d6 Region: us-east-2 Training Job Definition: Algorithm Specification: Training Image: 12345678910.dkr.ecr.us-east-2.amazonaws.com/xgboost:1 Training Input Mode: File Input Data Config: Channel Name: train Content Type: text/csv Data Source: s3DataSource: s3DataDistributionType: FullyReplicated s3DataType: S3Prefix s3Uri: https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/train/ Channel Name: validation Content Type: text/csv Data Source: s3DataSource: s3DataDistributionType: FullyReplicated s3DataType: S3Prefix s3Uri: https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/validation/ Output Data Config: s3OutputPath: https://s3-us-east-2.amazonaws.com/amzn-s3-demo-bucket/sagemaker/xgboost-mnist/xgboost Resource Config: Instance Count: 1 Instance Type: ml.m4.xlarge Volume Size In GB: 5 Role Arn: arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole Static Hyper Parameters: Name: base_score Value: 0.5 Name: booster Value: gbtree Name: csv_weights Value: 0 Name: dsplit Value: row Name: grow_policy Value: depthwise Name: lambda_bias Value: 0.0 Name: max_bin Value: 256 Name: max_leaves Value: 0 Name: normalize_type Value: tree Name: objective Value: reg:linear Name: one_drop Value: 0 Name: prob_buffer_row Value: 1.0 Name: process_type Value: default Name: rate_drop Value: 0.0 Name: refresh_leaf Value: 1 Name: sample_type Value: uniform Name: scale_pos_weight Value: 1.0 Name: silent Value: 0 Name: sketch_eps Value: 0.03 Name: skip_drop Value: 0.0 Name: tree_method Value: auto Name: tweedie_variance_power Value: 1.5 Stopping Condition: Max Runtime In Seconds: 86400 Status: Best Training Job: Creation Time: 2019-10-17T01:16:14Z Final Hyper Parameter Tuning Job Objective Metric: Metric Name: validation:error Value: Objective Status: Succeeded Training End Time: 2019-10-17T01:20:24Z Training Job Arn: arn:aws:sagemaker:us-east-2:123456789012:training-job/xgboostha92f5e3cf07b11e9bf6c06d6-009-4sample Training Job Name: xgboostha92f5e3cf07b11e9bf6c06d6-009-4c7a3059 Training Job Status: Completed Training Start Time: 2019-10-17T01:18:35Z Tuned Hyper Parameters: Name: num_round Value: 18 Hyper Parameter Tuning Job Status: Completed Last Check Time: 2019-10-17T01:21:01Z Sage Maker Hyper Parameter Tuning Job Name: xgboostha92f5e3cf07b11e9bf6c06d6 Training Job Status Counters: Completed: 10 In Progress: 0 Non Retryable Error: 0 Retryable Error: 0 Stopped: 0 Total Error: 0 Events: <none>

Lihat log dari HyperparameterTuningJobs

Pekerjaan tuning hyperparameter tidak memiliki log, tetapi semua pekerjaan pelatihan yang diluncurkan oleh mereka memang memiliki log. Log ini dapat diakses seolah-olah itu adalah pekerjaan pelatihan normal. Untuk informasi selengkapnya, lihat Lihat log dari TrainingJobs.

Menghapus HyperparameterTuningJob

Gunakan perintah berikut untuk menghentikan pekerjaan hyperparameter di SageMaker.

kubectl delete hyperparametertuningjob xgboost-mnist-hpo

Perintah ini menghapus tugas tuning hyperparameter dan pekerjaan pelatihan terkait dari klaster Kubernetes Anda dan menghentikannya. SageMaker Pekerjaan yang telah berhenti atau selesai tidak dikenakan biaya apa pun untuk SageMaker sumber daya. SageMaker tidak menghapus pekerjaan tuning hyperparameter. Pekerjaan yang dihentikan terus ditampilkan di SageMaker konsol.

Output Anda akan terlihat seperti berikut:

hyperparametertuningjob.sagemaker.aws.amazon.com "xgboost-mnist-hpo" deleted

Catatan: Perintah delete membutuhkan waktu sekitar 2 menit untuk membersihkan sumber daya dari SageMaker.

BatchTransformJob Operator

Operator pekerjaan transformasi Batch merekonsiliasi spesifikasi pekerjaan transformasi batch yang Anda tentukan SageMaker dengan meluncurkannya. SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan transformasi SageMaker batch dalam SageMaker CreateTransformJob APIdokumentasi.

Buat BatchTransformJob menggunakan YAML File

  1. Unduh YAML file sampel untuk pekerjaan transformasi batch menggunakan perintah berikut:

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-batchtransform.yaml
  2. Edit file xgboost-mnist-batchtransform.yaml untuk mengubah parameter yang diperlukan untuk mengganti inputdataconfig dengan data input Anda dan s3OutputPath dengan bucket Amazon S3 Anda yang peran SageMaker eksekusi memiliki akses tulis.

  3. Terapkan YAML file menggunakan perintah berikut:

    kubectl apply -f xgboost-mnist-batchtransform.yaml

Buat BatchTransformJob menggunakan Bagan Helm

Anda dapat menggunakan Helm Charts untuk menjalankan pekerjaan transformasi batch.

Dapatkan direktori installer Helm

Kloning GitHub repositori untuk mendapatkan sumber menggunakan perintah berikut:

git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git

Konfigurasikan Bagan Helm

Arahkan ke amazon-sagemaker-operator-for-k8s/hack/charts/batch-transform-jobs/ folder.

Edit values.yaml file untuk mengganti inputdataconfig dengan data input Anda dan outputPath dengan bucket S3 Anda yang peran SageMaker eksekusi memiliki akses tulis.

Buat BatchTransformJob

  1. Gunakan perintah berikut untuk membuat pekerjaan transformasi batch:

    helm install . --generate-name

    Output Anda akan terlihat seperti berikut:

    NAME: chart-1574292948 LAST DEPLOYED: Wed Nov 20 23:35:49 2019 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: Thanks for installing the sagemaker-k8s-batch-transform-job.
  2. Untuk memverifikasi bahwa Bagan Helm berhasil dibuat, jalankan perintah berikut:

    helm ls NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION chart-1474292948 default 1 2019-11-20 23:35:49.9136092 +0000 UTC deployed sagemaker-k8s-batchtransformjob-0.1.0 chart-1474292948 default 1 2019-11-20 23:35:49.9136092 +0000 UTC deployed sagemaker-k8s-hyperparametertuningjob-0.1.0 chart-1574292948 default 1 2019-11-20 23:35:49.9136092 +0000 UTC deployed sagemaker-k8s-trainingjob-0.1.0 rolebased-1574291698 default 1 2019-11-20 23:14:59.6777082 +0000 UTC deployed sagemaker-k8s-operator-0.1.0

    Perintah ini membuat sumber daya BatchTransformJob Kubernetes. Operator meluncurkan pekerjaan transformasi yang sebenarnya SageMaker dan memperbarui sumber daya BatchTransformJob Kubernetes untuk mencerminkan status pekerjaan di. SageMaker Anda dikenakan biaya untuk SageMaker sumber daya yang digunakan selama durasi pekerjaan Anda. Anda tidak dikenakan biaya apa pun setelah pekerjaan Anda selesai atau berhenti.

Catatan: SageMaker tidak mengizinkan Anda memperbarui pekerjaan transformasi batch yang sedang berjalan. Anda tidak dapat mengedit parameter apa pun dan menerapkan kembali file konfigurasi. Anda harus mengubah nama metadata atau menghapus pekerjaan yang ada dan membuat yang baru. Mirip dengan operator pekerjaan pelatihan yang ada seperti TFJob di Kubeflow, tidak update didukung.

Daftar BatchTransformJobs

Gunakan perintah berikut untuk membuat daftar semua pekerjaan yang dibuat menggunakan operator Kubernetes:

kubectl get batchtransformjob

Output Anda akan terlihat seperti berikut:

NAME STATUS CREATION-TIME SAGEMAKER-JOB-NAME xgboost-mnist-batch-transform Completed 2019-11-18T03:44:00Z xgboost-mnist-a88fb19809b511eaac440aa8axgboost

Pekerjaan transformasi batch terus terdaftar setelah pekerjaan selesai atau gagal. Anda dapat menghapus a hyperparametertuningjob dari daftar dengan mengikuti Menghapus BatchTransformJob langkah-langkahnya. Pekerjaan yang telah selesai atau dihentikan tidak dikenakan biaya apa pun untuk SageMaker sumber daya.

Nilai status transformasi Batch

STATUSBidang dapat berupa salah satu nilai berikut:

  • Completed

  • InProgress

  • Failed

  • Stopped

  • Stopping

Status ini datang langsung dari APIdokumentasi SageMaker resmi.

Selain SageMaker status resmi, dimungkinkan STATUS untuk menjadiSynchronizingK8sJobWithSageMaker. Ini berarti bahwa operator belum memproses pekerjaan.

Jelaskan BatchTransformJob

Anda dapat memperoleh detail debugging menggunakan describe kubectl perintah.

kubectl describe batchtransformjob xgboost-mnist-batch-transform

Output Anda akan terlihat seperti berikut:

Name: xgboost-mnist-batch-transform Namespace: default Labels: <none> Annotations: kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"BatchTransformJob","metadata":{"annotations":{},"name":"xgboost-mnist","namespace"... API Version: sagemaker.aws.amazon.com/v1 Kind: BatchTransformJob Metadata: Creation Timestamp: 2019-11-18T03:44:00Z Finalizers: sagemaker-operator-finalizer Generation: 2 Resource Version: 21990924 Self Link: /apis/sagemaker.aws.amazon.com/v1/namespaces/default/batchtransformjobs/xgboost-mnist UID: a88fb198-09b5-11ea-ac44-0aa8a9UIDNUM Spec: Model Name: TrainingJob-20190814SMJOb-IKEB Region: us-east-1 Transform Input: Content Type: text/csv Data Source: S 3 Data Source: S 3 Data Type: S3Prefix S 3 Uri: s3://amzn-s3-demo-bucket/mnist_kmeans_example/input Transform Job Name: xgboost-mnist-a88fb19809b511eaac440aa8a9SMJOB Transform Output: S 3 Output Path: s3://amzn-s3-demo-bucket/mnist_kmeans_example/output Transform Resources: Instance Count: 1 Instance Type: ml.m4.xlarge Status: Last Check Time: 2019-11-19T22:50:40Z Sage Maker Transform Job Name: xgboost-mnist-a88fb19809b511eaac440aaSMJOB Transform Job Status: Completed Events: <none>

Lihat log dari BatchTransformJobs

Gunakan perintah berikut untuk melihat log dari pekerjaan transformasi xgboost-mnist batch:

kubectl smlogs batchtransformjob xgboost-mnist-batch-transform

Menghapus BatchTransformJob

Gunakan perintah berikut untuk menghentikan pekerjaan transformasi batch di SageMaker.

kubectl delete batchTransformJob xgboost-mnist-batch-transform

Output Anda akan terlihat seperti berikut:

batchtransformjob.sagemaker.aws.amazon.com "xgboost-mnist" deleted

Perintah ini menghapus tugas transformasi batch dari cluster Kubernetes Anda, serta menghentikannya. SageMaker Pekerjaan yang telah berhenti atau selesai tidak dikenakan biaya apa pun untuk SageMaker sumber daya. Hapus membutuhkan waktu sekitar 2 menit untuk membersihkan sumber daya dari SageMaker.

Catatan: SageMaker tidak menghapus pekerjaan transformasi batch. Pekerjaan yang dihentikan terus ditampilkan di SageMaker konsol.

HostingDeployment Operator

HostingDeployment operator mendukung pembuatan dan penghapusan titik akhir, serta memperbarui titik akhir yang ada, untuk inferensi waktu nyata. Operator penerapan hosting merekonsiliasi spesifikasi pekerjaan penerapan hosting yang Anda tentukan SageMaker dengan membuat model, konfigurasi titik akhir, dan titik akhir di. SageMaker Anda dapat mempelajari lebih lanjut tentang SageMaker inferensi dalam SageMaker CreateEndpointAPIdokumentasi.

Konfigurasikan HostingDeployment sumber daya

Unduh YAML file sampel untuk pekerjaan penyebaran hosting menggunakan perintah berikut:

wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-hostingdeployment.yaml

xgboost-mnist-hostingdeployment.yamlFile memiliki komponen berikut yang dapat diedit sesuai kebutuhan:

  • ProductionVariants. Varian produksi adalah serangkaian contoh yang melayani satu model. SageMaker load-balances antara semua varian produksi sesuai dengan bobot yang ditetapkan.

  • Model. Model adalah wadah dan peran eksekusi yang ARN diperlukan untuk melayani model. Ini membutuhkan setidaknya satu wadah.

  • Wadah. Sebuah wadah menentukan dataset dan melayani gambar. Jika Anda menggunakan algoritme kustom Anda sendiri alih-alih algoritme yang disediakan oleh SageMaker, kode inferensi harus memenuhi SageMaker persyaratan. Untuk informasi selengkapnya, lihat Menggunakan Algoritma Anda Sendiri dengan SageMaker.

Buat HostingDeployment

Untuk membuat HostingDeployment, gunakan kubectl untuk menerapkan file hosting.yaml dengan perintah berikut:

kubectl apply -f hosting.yaml

SageMaker membuat titik akhir dengan konfigurasi yang ditentukan. Anda dikenakan biaya untuk SageMaker sumber daya yang digunakan selama masa akhir Anda. Anda tidak dikenakan biaya apa pun setelah titik akhir Anda dihapus.

Proses pembuatan memakan waktu sekitar 10 menit.

Daftar HostingDeployments

Untuk memverifikasi bahwa HostingDeployment telah dibuat, gunakan perintah berikut:

kubectl get hostingdeployments

Output Anda akan terlihat seperti berikut:

NAME STATUS SAGEMAKER-ENDPOINT-NAME host-xgboost Creating host-xgboost-def0e83e0d5f11eaaa450aSMLOGS

HostingDeployment nilai status

Bidang status dapat berupa salah satu dari beberapa nilai:

  • SynchronizingK8sJobWithSageMaker: Operator sedang mempersiapkan untuk membuat titik akhir.

  • ReconcilingEndpoint: Operator membuat, memperbarui, atau menghapus sumber daya titik akhir. Jika HostingDeployment sisa-sisa dalam keadaan ini, gunakan kubectl describe untuk melihat alasannya di Additional lapangan.

  • OutOfService: Titik akhir tidak tersedia untuk menerima permintaan yang masuk.

  • Creating: CreateEndpointsedang berjalan.

  • Updating: UpdateEndpointatau UpdateEndpointWeightsAndCapacitiessedang berjalan.

  • SystemUpdating: Titik akhir sedang menjalani pemeliharaan dan tidak dapat diperbarui atau dihapus atau diskalakan ulang sampai selesai. Operasi pemeliharaan ini tidak mengubah nilai yang ditentukan pelanggan seperti konfigurasi, VPC AWS KMS enkripsi, model, jenis contoh, atau jumlah instance.

  • RollingBack: Titik akhir gagal menaikkan atau menurunkan atau mengubah bobot variannya dan sedang dalam proses memutar kembali ke konfigurasi sebelumnya. Setelah rollback selesai, titik akhir kembali ke status. InService Status transisi ini hanya berlaku untuk titik akhir yang mengaktifkan penskalaan otomatis dan sedang mengalami perubahan bobot atau kapasitas varian sebagai bagian dari UpdateEndpointWeightsAndCapacitiespanggilan atau ketika operasi dipanggil secara eksplisit. UpdateEndpointWeightsAndCapacities

  • InService: Titik akhir tersedia untuk memproses permintaan yang masuk.

  • Deleting: DeleteEndpointsedang berjalan.

  • Failed: Titik akhir tidak dapat dibuat, diperbarui, atau diskalakan ulang. Gunakan DescribeEndpoint: FailureReason untuk informasi tentang kegagalan. DeleteEndpointadalah satu-satunya operasi yang dapat dilakukan pada titik akhir yang gagal.

Jelaskan HostingDeployment

Anda dapat memperoleh detail debugging menggunakan describe kubectl perintah.

kubectl describe hostingdeployment

Output Anda akan terlihat seperti berikut:

Name: host-xgboost Namespace: default Labels: <none> Annotations: kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"HostingDeployment","metadata":{"annotations":{},"name":"host-xgboost","namespace":"def..." API Version: sagemaker.aws.amazon.com/v1 Kind: HostingDeployment Metadata: Creation Timestamp: 2019-11-22T19:40:00Z Finalizers: sagemaker-operator-finalizer Generation: 1 Resource Version: 4258134 Self Link: /apis/sagemaker.aws.amazon.com/v1/namespaces/default/hostingdeployments/host-xgboost UID: def0e83e-0d5f-11ea-aa45-0a3507uiduid Spec: Containers: Container Hostname: xgboost Image: 123456789012.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest Model Data URL: s3://amzn-s3-demo-bucket/inference/xgboost-mnist/model.tar.gz Models: Containers: xgboost Execution Role Arn: arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole Name: xgboost-model Primary Container: xgboost Production Variants: Initial Instance Count: 1 Instance Type: ml.c5.large Model Name: xgboost-model Variant Name: all-traffic Region: us-east-2 Status: Creation Time: 2019-11-22T19:40:04Z Endpoint Arn: arn:aws:sagemaker:us-east-2:123456789012:endpoint/host-xgboost-def0e83e0d5f11eaaaexample Endpoint Config Name: host-xgboost-1-def0e83e0d5f11e-e08f6c510d5f11eaaa450aexample Endpoint Name: host-xgboost-def0e83e0d5f11eaaa450a350733ba06 Endpoint Status: Creating Endpoint URL: https://runtime.sagemaker.us-east-2.amazonaws.com/endpoints/host-xgboost-def0e83e0d5f11eaaaexample/invocations Last Check Time: 2019-11-22T19:43:57Z Last Modified Time: 2019-11-22T19:40:04Z Model Names: Name: xgboost-model Value: xgboost-model-1-def0e83e0d5f11-df5cc9fd0d5f11eaaa450aexample Events: <none>

Bidang status memberikan informasi lebih lanjut menggunakan bidang berikut:

  • Additional: Informasi tambahan tentang status penyebaran hosting. Bidang ini opsional dan hanya diisi jika terjadi kesalahan.

  • Creation Time: Ketika titik akhir dibuat di SageMaker.

  • Endpoint ARN: SageMaker Titik akhirARN.

  • Endpoint Config Name: SageMaker Nama konfigurasi endpoint.

  • Endpoint Name: SageMaker Nama titik akhir.

  • Endpoint Status: Status titik akhir.

  • Endpoint URL: HTTPS URL Yang dapat digunakan untuk mengakses titik akhir. Untuk informasi selengkapnya, lihat Menerapkan Model pada SageMaker Layanan Hosting.

  • FailureReason: Jika perintah buat, perbarui, atau hapus gagal, penyebabnya ditampilkan di sini.

  • Last Check Time: Terakhir kali operator memeriksa status titik akhir.

  • Last Modified Time: Terakhir kali endpoint diubah.

  • Model Names: Sepasang nilai kunci dari nama HostingDeployment model untuk nama SageMaker model.

Memanggil titik akhir

Setelah status titik akhirInService, Anda dapat memanggil titik akhir dengan dua cara: menggunakan AWS CLI, yang melakukan otentikasi dan penandatanganan URL permintaan, atau menggunakan HTTP klien seperti cURL. Jika Anda menggunakan klien Anda sendiri, Anda perlu melakukannya AWS v4 URL penandatanganan dan otentikasi sendiri.

Untuk memanggil titik akhir menggunakan AWS CLI, jalankan perintah berikut. Pastikan untuk mengganti nama Region dan endpoint dengan nama Region dan SageMaker endpoint endpoint Anda. Informasi ini dapat diperoleh dari outputkubectl describe.

# Invoke the endpoint with mock input data. aws sagemaker-runtime invoke-endpoint \ --region us-east-2 \ --endpoint-name <endpoint name> \ --body $(seq 784 | xargs echo | sed 's/ /,/g') \ >(cat) \ --content-type text/csv > /dev/null

Misalnya, jika Region Anda us-east-2 dan nama konfigurasi titik akhir Anda adalahhost-xgboost-f56b6b280d7511ea824b129926example, maka perintah berikut akan memanggil titik akhir:

aws sagemaker-runtime invoke-endpoint \ --region us-east-2 \ --endpoint-name host-xgboost-f56b6b280d7511ea824b1299example \ --body $(seq 784 | xargs echo | sed 's/ /,/g') \ >(cat) \ --content-type text/csv > /dev/null 4.95847082138

Di sini, 4.95847082138 adalah prediksi dari model untuk data tiruan.

Perbarui HostingDeployment

  1. Setelah HostingDeployment memiliki statusInService, itu dapat diperbarui. Mungkin butuh waktu sekitar 10 menit HostingDeployment untuk bisa beroperasi. Untuk memverifikasi bahwa statusnyaInService, gunakan perintah berikut:

    kubectl get hostingdeployments
  2. HostingDeployment Dapat diperbarui sebelum statusnyaInService. Operator menunggu hingga SageMaker titik akhir InService sebelum menerapkan pembaruan.

    Untuk menerapkan pembaruan, ubah hosting.yaml file. Misalnya, ubah initialInstanceCount bidang dari 1 menjadi 2 sebagai berikut:

    apiVersion: sagemaker.aws.amazon.com/v1 kind: HostingDeployment metadata: name: host-xgboost spec: region: us-east-2 productionVariants: - variantName: all-traffic modelName: xgboost-model initialInstanceCount: 2 instanceType: ml.c5.large models: - name: xgboost-model executionRoleArn: arn:aws:iam::123456789012:role/service-role/AmazonSageMaker-ExecutionRole primaryContainer: xgboost containers: - xgboost containers: - containerHostname: xgboost modelDataUrl: s3://amzn-s3-demo-bucket/inference/xgboost-mnist/model.tar.gz image: 123456789012.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest
  3. Simpan file, lalu gunakan kubectl untuk menerapkan pembaruan Anda sebagai berikut. Anda akan melihat perubahan status dari InService keReconcilingEndpoint, kemudianUpdating.

    $ kubectl apply -f hosting.yaml hostingdeployment.sagemaker.aws.amazon.com/host-xgboost configured $ kubectl get hostingdeployments NAME STATUS SAGEMAKER-ENDPOINT-NAME host-xgboost ReconcilingEndpoint host-xgboost-def0e83e0d5f11eaaa450a350abcdef $ kubectl get hostingdeployments NAME STATUS SAGEMAKER-ENDPOINT-NAME host-xgboost Updating host-xgboost-def0e83e0d5f11eaaa450a3507abcdef

SageMaker menyebarkan serangkaian instance baru dengan model Anda, mengalihkan lalu lintas untuk menggunakan instance baru, dan menguras instance lama. Begitu proses ini dimulai, statusnya menjadiUpdating. Setelah pembaruan selesai, titik akhir Anda menjadiInService. Proses ini memakan waktu sekitar 10 menit.

Hapus HostingDeployment

  1. Gunakan kubectl untuk menghapus HostingDeployment dengan perintah berikut:

    kubectl delete hostingdeployments host-xgboost

    Output Anda akan terlihat seperti berikut:

    hostingdeployment.sagemaker.aws.amazon.com "host-xgboost" deleted
  2. Untuk memverifikasi bahwa penyebaran hosting telah dihapus, gunakan perintah berikut:

    kubectl get hostingdeployments No resources found.

Titik akhir yang telah dihapus tidak dikenakan biaya apa pun untuk SageMaker sumber daya.

ProcessingJob Operator

ProcessingJob operator digunakan untuk meluncurkan pekerjaan SageMaker pemrosesan Amazon. Untuk informasi lebih lanjut tentang pekerjaan SageMaker pemrosesan, lihat CreateProcessingJob.

Buat YAML file ProcessingJob menggunakan

Ikuti langkah-langkah berikut untuk membuat pekerjaan SageMaker pemrosesan Amazon dengan menggunakan YAML file:

  1. Unduh skrip kmeans_preprocessing.py pra-pemrosesan.

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans_preprocessing.py
  2. Di salah satu bucket Amazon Simple Storage Service (Amazon S3) Anda, buat mnist_kmeans_example/processing_code folder dan unggah skrip ke folder.

  3. Unduh kmeans-mnist-processingjob.yaml filenya.

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans-mnist-processingjob.yaml
  4. Edit YAML file untuk menentukan sagemaker-execution-role dan mengganti semua instance amzn-s3-demo-bucket dengan bucket S3 Anda.

    ... metadata: name: kmeans-mnist-processing ... roleArn: arn:aws:iam::<acct-id>:role/service-role/<sagemaker-execution-role> ... processingOutputConfig: outputs: ... s3Output: s3Uri: s3://<amzn-s3-demo-bucket>/mnist_kmeans_example/output/ ... processingInputs: ... s3Input: s3Uri: s3://<amzn-s3-demo-bucket>/mnist_kmeans_example/processing_code/kmeans_preprocessing.py

    sagemaker-execution-roleHarus memiliki izin sehingga SageMaker dapat mengakses bucket S3 CloudWatch, Amazon, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat peran eksekusi, lihat SageMakerPeran.

  5. Terapkan YAML file menggunakan salah satu perintah berikut.

    Untuk instalasi dengan cakupan cluster:

    kubectl apply -f kmeans-mnist-processingjob.yaml

    Untuk instalasi dengan cakupan ruang nama:

    kubectl apply -f kmeans-mnist-processingjob.yaml -n <NAMESPACE>

Daftar ProcessingJobs

Gunakan salah satu perintah berikut untuk membuat daftar semua pekerjaan yang dibuat menggunakan ProcessingJob operator. SAGEMAKER-JOB-NAME berasal dari metadata bagian YAML file.

Untuk instalasi dengan cakupan cluster:

kubectl get ProcessingJob kmeans-mnist-processing

Untuk instalasi dengan cakupan ruang nama:

kubectl get ProcessingJob -n <NAMESPACE> kmeans-mnist-processing

Output-nya semestinya mirip dengan yang berikut:

NAME STATUS CREATION-TIME SAGEMAKER-JOB-NAME kmeans-mnist-processing InProgress 2020-09-22T21:13:25Z kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385

Output mencantumkan semua pekerjaan terlepas dari statusnya. Untuk menghapus pekerjaan dari daftar, lihat Menghapus Pekerjaan Pemrosesan.

ProcessingJob Status
  • SynchronizingK8sJobWithSageMaker— Pekerjaan pertama kali diserahkan ke cluster. Operator telah menerima permintaan dan sedang bersiap untuk membuat pekerjaan pemrosesan.

  • Reconciling— Operator menginisialisasi atau memulihkan dari kesalahan sementara, bersama dengan yang lain. Jika pekerjaan pemrosesan tetap dalam keadaan ini, gunakan kubectl describe perintah untuk melihat alasannya di Additional lapangan.

  • InProgress | Completed | Failed | Stopping | Stopped— Status pekerjaan SageMaker pemrosesan. Untuk informasi lebih lanjut, lihat DescribeProcessingJob.

  • Error— Operator tidak dapat memulihkan dengan rekonsiliasi.

Pekerjaan yang telah selesai, berhenti, atau gagal tidak dikenakan biaya lebih lanjut untuk SageMaker sumber daya.

Jelaskan ProcessingJob

Gunakan salah satu perintah berikut untuk mendapatkan detail lebih lanjut tentang pekerjaan pemrosesan. Perintah ini biasanya digunakan untuk men-debug masalah atau memeriksa parameter pekerjaan pemrosesan.

Untuk instalasi dengan cakupan cluster:

kubectl describe processingjob kmeans-mnist-processing

Untuk instalasi dengan cakupan ruang nama:

kubectl describe processingjob kmeans-mnist-processing -n <NAMESPACE>

Output untuk pekerjaan pemrosesan Anda akan terlihat mirip dengan yang berikut ini.

$ kubectl describe ProcessingJob kmeans-mnist-processing Name: kmeans-mnist-processing Namespace: default Labels: <none> Annotations: kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"sagemaker.aws.amazon.com/v1","kind":"ProcessingJob","metadata":{"annotations":{},"name":"kmeans-mnist-processing",... API Version: sagemaker.aws.amazon.com/v1 Kind: ProcessingJob Metadata: Creation Timestamp: 2020-09-22T21:13:25Z Finalizers: sagemaker-operator-finalizer Generation: 2 Resource Version: 21746658 Self Link: /apis/sagemaker.aws.amazon.com/v1/namespaces/default/processingjobs/kmeans-mnist-processing UID: 7410ed52-fd18-11ea-b19a-165ae9f9e385 Spec: App Specification: Container Entrypoint: python /opt/ml/processing/code/kmeans_preprocessing.py Image Uri: 763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:1.5.0-cpu-py36-ubuntu16.04 Environment: Name: MYVAR Value: my_value Name: MYVAR2 Value: my_value2 Network Config: Processing Inputs: Input Name: mnist_tar s3Input: Local Path: /opt/ml/processing/input s3DataType: S3Prefix s3InputMode: File s3Uri: s3://<s3bucket>-us-west-2/algorithms/kmeans/mnist/mnist.pkl.gz Input Name: source_code s3Input: Local Path: /opt/ml/processing/code s3DataType: S3Prefix s3InputMode: File s3Uri: s3://<s3bucket>/mnist_kmeans_example/processing_code/kmeans_preprocessing.py Processing Output Config: Outputs: Output Name: train_data s3Output: Local Path: /opt/ml/processing/output_train/ s3UploadMode: EndOfJob s3Uri: s3://<s3bucket>/mnist_kmeans_example/output/ Output Name: test_data s3Output: Local Path: /opt/ml/processing/output_test/ s3UploadMode: EndOfJob s3Uri: s3://<s3bucket>/mnist_kmeans_example/output/ Output Name: valid_data s3Output: Local Path: /opt/ml/processing/output_valid/ s3UploadMode: EndOfJob s3Uri: s3://<s3bucket>/mnist_kmeans_example/output/ Processing Resources: Cluster Config: Instance Count: 1 Instance Type: ml.m5.xlarge Volume Size In GB: 20 Region: us-west-2 Role Arn: arn:aws:iam::<acct-id>:role/m-sagemaker-role Stopping Condition: Max Runtime In Seconds: 1800 Tags: Key: tagKey Value: tagValue Status: Cloud Watch Log URL: https://us-west-2.console.aws.amazon.com/cloudwatch/home?region=us-west-2#logStream:group=/aws/sagemaker/ProcessingJobs;prefix=kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385;streamFilter=typeLogStreamPrefix Last Check Time: 2020-09-22T21:14:29Z Processing Job Status: InProgress Sage Maker Processing Job Name: kmeans-mnist-processing-7410ed52fd1811eab19a165ae9f9e385 Events: <none>

Menghapus ProcessingJob

Saat Anda menghapus pekerjaan pemrosesan, pekerjaan SageMaker pemrosesan dihapus dari Kubernetes tetapi pekerjaan tersebut tidak dihapus. SageMaker Jika status pekerjaan di SageMaker InProgress adalah pekerjaan dihentikan. Memproses pekerjaan yang dihentikan tidak dikenakan biaya apa pun untuk SageMaker sumber daya. Gunakan salah satu perintah berikut untuk menghapus pekerjaan pemrosesan.

Untuk instalasi dengan cakupan cluster:

kubectl delete processingjob kmeans-mnist-processing

Untuk instalasi dengan cakupan ruang nama:

kubectl delete processingjob kmeans-mnist-processing -n <NAMESPACE>

Output untuk pekerjaan pemrosesan Anda akan terlihat mirip dengan yang berikut ini.

processingjob.sagemaker.aws.amazon.com "kmeans-mnist-processing" deleted

catatan

SageMaker tidak menghapus pekerjaan pemrosesan. Pekerjaan yang dihentikan terus ditampilkan di SageMaker konsol. deletePerintah membutuhkan beberapa menit untuk membersihkan sumber daya dari SageMaker.

HostingAutoscalingPolicy (HAP) Operator

Operator HostingAutoscalingPolicy (HAP) mengambil daftar sumber daya IDs sebagai masukan dan menerapkan kebijakan yang sama untuk masing-masing sumber daya. Setiap ID sumber daya adalah kombinasi dari nama endpoint dan nama varian. HAPOperator melakukan dua langkah: ia mendaftarkan sumber daya IDs dan kemudian menerapkan kebijakan penskalaan ke setiap ID sumber daya. Deletemembatalkan kedua tindakan tersebut. Anda dapat menerapkan HAP ke SageMaker titik akhir yang ada atau Anda dapat membuat SageMaker titik akhir baru menggunakan operator. HostingDeployment Anda dapat membaca lebih lanjut tentang SageMaker penskalaan otomatis dalam dokumentasi Kebijakan Penskalaan Otomatis Aplikasi.

catatan

Dalam kubectl perintah Anda, Anda dapat menggunakan formulir pendekhap,, sebagai penggantihostingautoscalingpolicy.

Buat YAML file HostingAutoscalingPolicy menggunakan

Gunakan YAML file untuk membuat HostingAutoscalingPolicy (HAP) yang menerapkan metrik yang telah ditentukan atau kustom ke satu atau beberapa titik SageMaker akhir.

Amazon SageMaker memerlukan nilai tertentu untuk menerapkan penskalaan otomatis ke varian Anda. Jika nilai-nilai ini tidak ditentukan dalam YAML spesifikasi, HAP operator menerapkan nilai default berikut.

# Do not change Namespace = "sagemaker" # Do not change ScalableDimension = "sagemaker:variant:DesiredInstanceCount" # Only one supported PolicyType = "TargetTrackingScaling" # This is the default policy name but can be changed to apply a custom policy DefaultAutoscalingPolicyName = "SageMakerEndpointInvocationScalingPolicy"

Gunakan sampel berikut untuk membuat yang menerapkan metrik HAP yang telah ditentukan atau kustom ke satu atau beberapa titik akhir.

Contoh 1: Menerapkan metrik yang telah ditentukan ke varian titik akhir tunggal

  1. Unduh YAML file sampel untuk metrik yang telah ditentukan menggunakan perintah berikut:

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-predefined-metric.yaml
  2. Edit YAML file untuk menentukan file AndaendpointName,variantName, danRegion.

  3. Gunakan salah satu perintah berikut untuk menerapkan metrik yang telah ditentukan ke ID sumber daya tunggal (nama titik akhir dan kombinasi nama varian).

    Untuk instalasi dengan cakupan cluster:

    kubectl apply -f hap-predefined-metric.yaml

    Untuk instalasi dengan cakupan ruang nama:

    kubectl apply -f hap-predefined-metric.yaml -n <NAMESPACE>

Contoh 2: Menerapkan metrik khusus ke varian titik akhir tunggal

  1. Unduh YAML file sampel untuk metrik kustom menggunakan perintah berikut:

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-custom-metric.yaml
  2. Edit YAML file untuk menentukan file AndaendpointName,variantName, danRegion.

  3. Gunakan salah satu perintah berikut untuk menerapkan metrik kustom ke ID sumber daya tunggal (nama titik akhir dan kombinasi nama varian) sebagai pengganti yang direkomendasikanSageMakerVariantInvocationsPerInstance.

    catatan

    Amazon SageMaker tidak memeriksa validitas YAML spesifikasi Anda.

    Untuk instalasi dengan cakupan cluster:

    kubectl apply -f hap-custom-metric.yaml

    Untuk instalasi dengan cakupan ruang nama:

    kubectl apply -f hap-custom-metric.yaml -n <NAMESPACE>

Contoh 3: Menerapkan kebijakan penskalaan ke beberapa titik akhir dan varian

Anda dapat menggunakan HAP operator untuk menerapkan kebijakan penskalaan yang sama ke beberapa sumber dayaIDs. scaling_policyPermintaan terpisah dibuat untuk setiap ID sumber daya (nama titik akhir dan kombinasi nama varian).

  1. Unduh YAML file sampel untuk metrik yang telah ditentukan menggunakan perintah berikut:

    wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-predefined-metric.yaml
  2. Edit YAML file untuk menentukan Anda Region dan beberapa endpointName dan variantName nilai.

  3. Gunakan salah satu perintah berikut untuk menerapkan metrik yang telah ditentukan ke beberapa sumber daya IDs (nama titik akhir dan kombinasi nama varian).

    Untuk instalasi dengan cakupan cluster:

    kubectl apply -f hap-predefined-metric.yaml

    Untuk instalasi dengan cakupan ruang nama:

    kubectl apply -f hap-predefined-metric.yaml -n <NAMESPACE>

Pertimbangan HostingAutoscalingPolicies untuk beberapa titik akhir dan varian

Pertimbangan berikut berlaku saat Anda menggunakan beberapa sumber dayaIDs:

  • Jika Anda menerapkan satu kebijakan di beberapa sumber dayaIDs, satu Kebijakan ARN dibuat per ID sumber daya. Lima titik akhir memiliki lima PolicyARNs. Saat Anda menjalankan describe perintah pada kebijakan, respons akan muncul sebagai satu pekerjaan dan menyertakan satu status pekerjaan.

  • Jika Anda menerapkan metrik kustom ke beberapa sumber dayaIDs, dimensi atau nilai yang sama akan digunakan untuk semua nilai ID sumber daya (varian). Misalnya, jika Anda menerapkan metrik pelanggan untuk instance 1-5, dan dimensi varian titik akhir dipetakan ke varian 1, ketika varian 1 melebihi metrik, semua titik akhir diskalakan ke atas atau ke bawah.

  • HAPOperator mendukung pembaruan daftar sumber dayaIDs. Jika Anda mengubah, menambah, atau menghapus sumber daya IDs ke spesifikasi, kebijakan penskalaan otomatis akan dihapus dari daftar varian sebelumnya dan diterapkan ke kombinasi ID sumber daya yang baru ditentukan. Gunakan describeperintah untuk membuat daftar sumber daya IDs yang saat ini diterapkan kebijakan.

Daftar HostingAutoscalingPolicies

Gunakan salah satu perintah berikut untuk daftar all HostingAutoscalingPolicies (HAPs) yang dibuat menggunakan HAP operator.

Untuk instalasi dengan cakupan cluster:

kubectl get hap

Untuk instalasi dengan cakupan ruang nama:

kubectl get hap -n <NAMESPACE>

Output-nya semestinya mirip dengan yang berikut:

NAME STATUS CREATION-TIME hap-predefined Created 2021-07-13T21:32:21Z

Gunakan perintah berikut untuk memeriksa status HostingAutoscalingPolicy (HAP) Anda.

kubectl get hap <job-name>

Salah satu nilai berikut dikembalikan:

  • Reconciling— Jenis kesalahan tertentu menunjukkan status sebagai Reconciling penggantiError. Beberapa contoh adalah kesalahan sisi server dan titik akhir di negara bagian atau. Creating Updating Periksa Additional bidang di status atau log operator untuk detail selengkapnya.

  • Created

  • Error

Untuk melihat titik akhir penskalaan otomatis tempat Anda menerapkan kebijakan
  1. Buka SageMaker konsol Amazon di https://console.aws.amazon.com/sagemaker/.

  2. Di panel sisi kiri, perluas Inferensi.

  3. Pilih Titik akhir.

  4. Pilih nama titik akhir yang diminati.

  5. Gulir ke bagian Pengaturan runtime Endpoint.

Jelaskan HostingAutoscalingPolicy

Gunakan perintah berikut untuk mendapatkan detail lebih lanjut tentang a HostingAutoscalingPolicy (HAP). Perintah ini biasanya digunakan untuk men-debug masalah atau memeriksa sumber daya IDs (nama titik akhir dan kombinasi nama varian) dari file. HAP

kubectl describe hap <job-name>

Perbarui HostingAutoscalingPolicy

Operator HostingAutoscalingPolicy (HAP) mendukung pembaruan. Anda dapat mengedit YAML spesifikasi untuk mengubah nilai dan kemudian menerapkan kembali kebijakan tersebut. HAPOperator menghapus kebijakan yang ada dan menerapkan kebijakan baru.

Menghapus HostingAutoscalingPolicy

Gunakan salah satu perintah berikut untuk menghapus kebijakan HostingAutoscalingPolicy (HAP).

Untuk instalasi dengan cakupan cluster:

kubectl delete hap hap-predefined

Untuk instalasi dengan cakupan ruang nama:

kubectl delete hap hap-predefined -n <NAMESPACE>

Perintah ini menghapus kebijakan penskalaan dan membatalkan pendaftaran target penskalaan dari Kubernetes. Perintah ini mengembalikan output sebagai berikut:

hostingautoscalingpolicies.sagemaker.aws.amazon.com "hap-predefined" deleted

Memperbarui atau menghapus titik akhir dengan HostingAutoscalingPolicy

Untuk memperbarui titik akhir yang memiliki HostingAutoscalingPolicy (HAP), gunakan kubectl delete perintah untuk menghapusHAP, memperbarui titik akhir, dan kemudian menerapkan kembali. HAP

Untuk menghapus titik akhir yang memiliki aHAP, gunakan kubectl delete perintah untuk menghapus HAP sebelum Anda menghapus titik akhir.