Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan Pekerjaan Amazon SageMaker AI
Bagian ini didasarkan pada versi asli Operator SageMaker AI 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
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 Akhir Dukungan Versi Asli Operator SageMaker AI untuk Kubernetes
Untuk menjalankan pekerjaan Amazon SageMaker AI menggunakan Operator for Kubernetes, Anda dapat menerapkan file YAMM atau menggunakan Bagan Helm yang disediakan.
Semua pekerjaan operator sampel dalam tutorial berikut menggunakan data sampel yang diambil dari kumpulan data MNIST publik. Untuk menjalankan sampel ini, unduh kumpulan data ke bucket Amazon S3 Anda. Anda dapat menemukan kumpulan data di Unduh Dataset MNIST.
Daftar Isi
TrainingJob Operator
Operator pekerjaan pelatihan merekonsiliasi spesifikasi pekerjaan pelatihan yang Anda tentukan dengan SageMaker AI dengan meluncurkannya untuk Anda di AI. SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan SageMaker pelatihan dalam dokumentasi SageMaker AI CreateTrainingJob API.
Topik
Membuat file TrainingJob menggunakan YAMAL
-
Unduh file YAMAL sampel untuk pelatihan menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-trainingjob.yaml
-
Edit
xgboost-mnist-trainingjob.yaml
file untuk menggantiroleArn
parameter dengan Anda<sagemaker-execution-role>
, danoutputPath
dengan bucket Amazon S3 Anda yang peran eksekusi SageMaker AI memiliki akses tulis.roleArn
Harus memiliki izin sehingga SageMaker AI dapat mengakses Amazon S3, CloudWatch Amazon, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat SageMaker AI ExecutionRole, lihat Peran SageMaker AI. Terapkan file YAMAL menggunakan perintah berikut:kubectl apply -f xgboost-mnist-trainingjob.yaml
Membuat TrainingJob Menggunakan Bagan Helm
Anda dapat menggunakan Helm Charts untuk menjalankan TrainingJobs.
-
Kloning GitHub repositori untuk mendapatkan sumber menggunakan perintah berikut:
git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
-
Arahkan ke
amazon-sagemaker-operator-for-k8s/hack/charts/training-jobs/
folder dan editvalues.yaml
file untuk mengganti nilai sepertirolearn
danoutputpath
dengan nilai yang sesuai dengan akun Anda. RoLearn harus memiliki izin sehingga SageMaker AI dapat mengakses Amazon S3, Amazon CloudWatch, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat SageMaker AI ExecutionRole, lihat Peran SageMaker AI.
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 install
membuat sumber daya TrainingJob
Kubernetes. Operator meluncurkan pekerjaan pelatihan aktual di SageMaker AI dan memperbarui sumber daya TrainingJob
Kubernetes untuk mencerminkan status pekerjaan di AI. SageMaker Anda dikenakan biaya untuk sumber daya SageMaker AI yang digunakan selama durasi pekerjaan Anda. Anda tidak dikenakan biaya apa pun setelah pekerjaan Anda selesai atau berhenti.
Catatan: SageMaker AI 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 sumber daya SageMaker AI.
TrainingJob nilai status
STATUS
Bidang dapat berupa salah satu nilai berikut:
-
Completed
-
InProgress
-
Failed
-
Stopped
-
Stopping
Status ini datang langsung dari dokumentasi API resmi SageMaker AI.
Selain status SageMaker AI resmi, dimungkinkan STATUS
untuk menjadiSynchronizingK8sJobWithSageMaker
. Ini berarti bahwa operator belum memproses pekerjaan.
Nilai status sekunder
Status sekunder datang langsung dari dokumentasi API resmi SageMaker AI. 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 AI:
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 di SageMaker AI, pekerjaan berhenti. Anda tidak dikenakan biaya apa pun untuk sumber daya SageMaker AI setelah pekerjaan Anda berhenti atau selesai.
Catatan: SageMaker AI tidak menghapus pekerjaan pelatihan. Pekerjaan yang dihentikan terus ditampilkan di konsol SageMaker AI. delete
Perintah membutuhkan waktu sekitar 2 menit untuk membersihkan sumber daya dari SageMaker AI.
HyperParameterTuningJobOperator
Operator pekerjaan tuning hyperparameter merekonsiliasi spesifikasi pekerjaan tuning hyperparameter yang Anda tentukan ke SageMaker AI dengan meluncurkannya di AI. SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan tuning hyperparameter SageMaker AI di dokumentasi SageMaker AI CreateHyperParameterTuningJob API.
Topik
Membuat file HyperparameterTuningJob menggunakan YAMG
-
Unduh file YAMAL sampel untuk pekerjaan penyetelan hyperparameter menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-hpo.yaml
-
Edit
xgboost-mnist-hpo.yaml
file untuk menggantiroleArn
parameter dengan file Andasagemaker-execution-role
. Agar pekerjaan tuning hyperparameter berhasil, Anda juga harus mengubahs3InputPath
dans3OutputPath
ke nilai yang sesuai dengan akun Anda. Terapkan pembaruan file YAMAL 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.
-
Kloning GitHub repositori untuk mendapatkan sumber menggunakan perintah berikut:
git clone https://github.com/aws/amazon-sagemaker-operator-for-k8s.git
-
Arahkan ke
amazon-sagemaker-operator-for-k8s/hack/charts/hyperparameter-tuning-jobs/
folder. -
Edit
values.yaml
file untuk menggantiroleArn
parameter dengan file Andasagemaker-execution-role
. Agar pekerjaan tuning hyperparameter berhasil, Anda juga harus mengubahs3InputPath
dans3OutputPath
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 install
membuat sumber daya HyperParameterTuningJob
Kubernetes. Operator meluncurkan pekerjaan optimasi hyperparameter aktual di SageMaker AI dan memperbarui sumber daya HyperParameterTuningJob
Kubernetes untuk mencerminkan status pekerjaan di AI. SageMaker Anda dikenakan biaya untuk sumber daya SageMaker AI yang digunakan selama durasi pekerjaan Anda. Anda tidak dikenakan biaya apa pun setelah pekerjaan Anda selesai atau berhenti.
Catatan: SageMaker AI tidak mengizinkan Anda memperbarui pekerjaan penyetelan 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 sumber daya SageMaker AI.
Nilai status pekerjaan tuning hyperparameter
STATUS
Bidang dapat berupa salah satu nilai berikut:
-
Completed
-
InProgress
-
Failed
-
Stopped
-
Stopping
Status ini datang langsung dari dokumentasi API resmi SageMaker AI.
Selain status SageMaker AI 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 cara penentuannya, lihat TrainingJobStatusCountersdi dokumentasi SageMaker API.
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, Operator SageMaker AI 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 AI.
kubectl delete hyperparametertuningjob xgboost-mnist-hpo
Perintah ini menghapus tugas tuning hyperparameter dan pekerjaan pelatihan terkait dari cluster Kubernetes Anda dan menghentikannya di AI. SageMaker Pekerjaan yang telah berhenti atau selesai tidak dikenakan biaya apa pun untuk sumber daya SageMaker AI. SageMaker AI tidak menghapus pekerjaan penyetelan hyperparameter. Pekerjaan yang dihentikan terus ditampilkan di konsol SageMaker AI.
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 AI.
BatchTransformJob Operator
Operator pekerjaan transformasi Batch merekonsiliasi spesifikasi pekerjaan transformasi batch yang Anda tentukan ke SageMaker AI dengan meluncurkannya di AI. SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan transformasi batch SageMaker AI di dokumentasi SageMaker AI CreateTransformJob API.
Topik
Membuat BatchTransformJob menggunakan File YAMM
Unduh contoh file YAMM untuk pekerjaan transformasi batch menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/xgboost-mnist-batchtransform.yaml
-
Edit file
xgboost-mnist-batchtransform.yaml
untuk mengubah parameter yang diperlukan untuk menggantiinputdataconfig
dengan data input Anda dans3OutputPath
dengan bucket Amazon S3 Anda yang memiliki akses tulis peran eksekusi SageMaker AI. -
Terapkan file YAMAL 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 dan outputPath Anda dengan bucket S3 Anda yang peran eksekusi SageMaker AI memiliki akses tulis.
Buat BatchTransformJob
-
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.
-
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 aktual di SageMaker AI dan memperbarui sumber dayaBatchTransformJob
Kubernetes untuk mencerminkan status pekerjaan di AI. SageMaker Anda dikenakan biaya untuk sumber daya SageMaker AI yang digunakan selama durasi pekerjaan Anda. Anda tidak dikenakan biaya apa pun setelah pekerjaan Anda selesai atau berhenti.
Catatan: SageMaker AI 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 sumber daya SageMaker AI.
Nilai status transformasi Batch
STATUS
Bidang dapat berupa salah satu nilai berikut:
-
Completed
-
InProgress
-
Failed
-
Stopped
-
Stopping
Status ini datang langsung dari dokumentasi API resmi SageMaker AI.
Selain status SageMaker AI 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 AI.
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 di AI. SageMaker Pekerjaan yang telah berhenti atau selesai tidak dikenakan biaya apa pun untuk sumber daya SageMaker AI. Hapus membutuhkan waktu sekitar 2 menit untuk membersihkan sumber daya dari SageMaker AI.
Catatan: SageMaker AI tidak menghapus pekerjaan transformasi batch. Pekerjaan yang dihentikan terus ditampilkan di konsol SageMaker AI.
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 ke SageMaker AI dengan membuat model, konfigurasi titik akhir, dan titik akhir di AI. SageMaker Anda dapat mempelajari lebih lanjut tentang inferensi SageMaker AI dalam dokumentasi SageMaker AI CreateEndpoint API.
Topik
Konfigurasikan HostingDeployment sumber daya
Unduh file YAMM 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.yaml
File memiliki komponen berikut yang dapat diedit sesuai kebutuhan:
-
ProductionVariants. Varian produksi adalah serangkaian contoh yang melayani satu model. SageMaker AI load-balance antara semua varian produksi sesuai dengan bobot yang ditetapkan.
-
Model. Model adalah wadah dan peran eksekusi ARN yang 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 AI, kode inferensi harus memenuhi persyaratan SageMaker AI. Untuk informasi selengkapnya, lihat Menggunakan Algoritma Anda Sendiri dengan SageMaker AI.
Buat HostingDeployment
Untuk membuat HostingDeployment, gunakan kubectl
untuk menerapkan file hosting.yaml
dengan perintah berikut:
kubectl apply -f hosting.yaml
SageMaker AI membuat titik akhir dengan konfigurasi yang ditentukan. Anda dikenakan biaya untuk sumber daya SageMaker AI yang digunakan selama masa hidup titik 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, gunakankubectl describe
untuk melihat alasannya diAdditional
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 instans, 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
: Saat titik akhir dibuat di SageMaker AI. -
Endpoint ARN
: Titik akhir SageMaker AI ARN. -
Endpoint Config Name
: Nama SageMaker AI dari konfigurasi titik akhir. -
Endpoint Name
: Nama SageMaker AI dari titik akhir. -
Endpoint Status
: Status titik akhir. -
Endpoint URL
URL HTTPS yang dapat digunakan untuk mengakses endpoint. Untuk informasi selengkapnya, lihat Menerapkan Model pada Layanan Hosting SageMaker AI. -
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 nama model nilai kunci untuk nama HostingDeployment model SageMaker AI.
Memanggil titik akhir
Setelah status endpointInService
, Anda dapat memanggil endpoint dengan dua cara: menggunakan AWS CLI, yang melakukan otentikasi dan penandatanganan permintaan URL, atau menggunakan klien HTTP seperti cURL. Jika Anda menggunakan klien Anda sendiri, Anda perlu melakukan penandatanganan dan otentikasi URL AWS v4 sendiri.
Untuk memanggil endpoint menggunakan AWS CLI, jalankan perintah berikut. Pastikan untuk mengganti nama Region dan endpoint dengan nama titik akhir Region dan SageMaker AI 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
-
Setelah HostingDeployment memiliki status
InService
, itu dapat diperbarui. Mungkin butuh waktu sekitar 10 menit HostingDeployment untuk bisa beroperasi. Untuk memverifikasi bahwa statusnyaInService
, gunakan perintah berikut:kubectl get hostingdeployments
-
HostingDeployment Dapat diperbarui sebelum statusnya
InService
. Operator menunggu hingga titik akhir SageMaker AIInService
sebelum menerapkan pembaruan.Untuk menerapkan pembaruan, ubah
hosting.yaml
file. Misalnya, ubahinitialInstanceCount
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
-
Simpan file, lalu gunakan
kubectl
untuk menerapkan pembaruan Anda sebagai berikut. Anda akan melihat perubahan status dariInService
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 AI 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
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
-
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 sumber daya SageMaker AI.
ProcessingJob Operator
ProcessingJob operator digunakan untuk meluncurkan pekerjaan SageMaker pemrosesan Amazon. Untuk informasi lebih lanjut tentang SageMaker Memproses pekerjaan, lihat CreateProcessingJob.
Topik
Membuat file ProcessingJob menggunakan YAMAL
Ikuti langkah-langkah berikut untuk membuat pekerjaan SageMaker pemrosesan Amazon dengan menggunakan file YAMM:
-
Unduh skrip
kmeans_preprocessing.py
pra-pemrosesan.wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans_preprocessing.py
-
Di salah satu bucket Amazon Simple Storage Service (Amazon S3) Anda, buat
mnist_kmeans_example/processing_code
folder dan unggah skrip ke folder. -
Unduh
kmeans-mnist-processingjob.yaml
filenya.wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/kmeans-mnist-processingjob.yaml
-
Edit file YAMM untuk menentukan
sagemaker-execution-role
dan mengganti semua instanceamzn-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.pysagemaker-execution-role
Harus memiliki izin agar SageMaker AI dapat mengakses bucket S3 CloudWatch, Amazon, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat peran eksekusi, lihat Peran SageMaker AI. -
Terapkan file YAMM 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 file YAMAL.
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, gunakankubectl
describe
perintah untuk melihat alasannya diAdditional
lapangan. -
InProgress | Completed | Failed | Stopping | Stopped
— Status pekerjaan SageMaker Pemrosesan. Untuk informasi selengkapnya, lihat DescribeProcessingJob. -
Error
— Operator tidak dapat memulihkan dengan rekonsiliasi.
Pekerjaan yang telah selesai, berhenti, atau gagal tidak dikenakan biaya lebih lanjut untuk sumber daya SageMaker AI.
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 dari AI. SageMaker Jika status pekerjaan di SageMaker AI InProgress
adalah pekerjaan dihentikan. Memproses pekerjaan yang dihentikan tidak dikenakan biaya apa pun untuk sumber daya SageMaker AI. 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 AI tidak menghapus pekerjaan pemrosesan. Pekerjaan yang dihentikan terus ditampilkan di konsol SageMaker AI. delete
Perintah membutuhkan beberapa menit untuk membersihkan sumber daya dari SageMaker AI.
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. Operator HAP melakukan dua langkah: ia mendaftarkan sumber daya IDs dan kemudian menerapkan kebijakan penskalaan ke setiap ID sumber daya. Delete
membatalkan kedua tindakan tersebut. Anda dapat menerapkan HAP ke titik akhir SageMaker AI yang ada atau Anda dapat membuat titik akhir SageMaker AI baru menggunakan operator. HostingDeployment Anda dapat membaca selengkapnya tentang penskalaan otomatis SageMaker AI dalam dokumentasi Kebijakan Penskalaan Otomatis Aplikasi.
catatan
Dalam kubectl
perintah Anda, Anda dapat menggunakan formulir pendekhap
,, sebagai penggantihostingautoscalingpolicy
.
Topik
Membuat file HostingAutoscalingPolicy menggunakan YAMAL
Gunakan file YAMM untuk membuat HostingAutoscalingPolicy (HAP) yang menerapkan metrik yang telah ditentukan atau kustom ke satu atau beberapa SageMaker titik akhir AI.
Amazon SageMaker AI memerlukan nilai khusus untuk menerapkan penskalaan otomatis ke varian Anda. Jika nilai-nilai ini tidak ditentukan dalam spesifikasi YAMB, operator HAP 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 HAP yang menerapkan metrik yang telah ditentukan atau kustom ke satu atau beberapa titik akhir.
Contoh 1: Menerapkan metrik yang telah ditentukan ke varian titik akhir tunggal
-
Unduh file YAMM 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
-
Edit file YAMAL untuk menentukan file Anda
endpointName
,variantName
, danRegion
. -
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
-
Unduh contoh file YAMAL untuk metrik kustom menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-custom-metric.yaml
-
Edit file YAMAL untuk menentukan file Anda
endpointName
,variantName
, danRegion
. -
Gunakan salah satu perintah berikut untuk menerapkan metrik kustom ke ID sumber daya tunggal (nama titik akhir dan kombinasi nama varian) sebagai pengganti yang direkomendasikan
SageMakerVariantInvocationsPerInstance
.catatan
Amazon SageMaker AI tidak memeriksa validitas spesifikasi YAMM 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 operator HAP untuk menerapkan kebijakan penskalaan yang sama ke beberapa sumber daya. IDs scaling_policy
Permintaan terpisah dibuat untuk setiap ID sumber daya (nama titik akhir dan kombinasi nama varian).
-
Unduh file YAMM 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
-
Edit file YAMM untuk menentukan
Region
endpointName
dan beberapavariantName
nilai Anda. -
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 daya IDs:
-
Jika Anda menerapkan satu kebijakan di beberapa sumber daya IDs, satu PolicYarn dibuat per ID sumber daya. Lima titik akhir memiliki lima KebijakanARNs. 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 daya IDs, 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.
-
Operator HAP mendukung pembaruan daftar sumber daya IDs. 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
describe
perintah 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 operator HAP.
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 sebagaiReconciling
penggantiError
. Beberapa contoh adalah kesalahan sisi server dan titik akhir di negara bagian atau.Creating
Updating
PeriksaAdditional
bidang di status atau log operator untuk detail selengkapnya. Created
Error
Untuk melihat titik akhir penskalaan otomatis tempat Anda menerapkan kebijakan
-
Buka konsol Amazon SageMaker AI di https://console.aws.amazon.com/sagemaker/
. -
Di panel sisi kiri, perluas Inferensi.
-
Pilih Titik akhir.
-
Pilih nama titik akhir yang diminati.
-
Gulir ke bagian Pengaturan runtime Endpoint.
Jelaskan HostingAutoscalingPolicy
Gunakan perintah berikut untuk mendapatkan rincian lebih lanjut tentang HostingAutoscalingPolicy (HAP). Perintah ini biasanya digunakan untuk men-debug masalah atau memeriksa sumber daya IDs (nama endpoint dan kombinasi nama varian) dari HAP.
kubectl describe hap
<job-name>
Perbarui HostingAutoscalingPolicy
Operator HostingAutoscalingPolicy (HAP) mendukung pembaruan. Anda dapat mengedit spesifikasi YAMAL untuk mengubah nilai, lalu menerapkan kembali kebijakan tersebut. Operator HAP 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 menghapus HAP, memperbarui titik akhir, dan kemudian menerapkan kembali HAP.
Untuk menghapus titik akhir yang memiliki HAP, gunakan kubectl
delete
perintah untuk menghapus HAP sebelum Anda menghapus titik akhir.