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
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 Versi Original SageMaker Operator 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.
Daftar Isi
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.
Topik
Buat YAML file TrainingJob menggunakan
-
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
-
Edit
xgboost-mnist-trainingjob.yaml
file untuk menggantiroleArn
parameter dengan Anda<sagemaker-execution-role>
, danoutputPath
dengan bucket Amazon S3 Anda yang peran SageMaker eksekusi memiliki akses tulis.roleArn
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. 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.
-
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. 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 install
membuat 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
STATUS
Bidang 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 a 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. delete
Perintah 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. SageMaker SageMaker Anda dapat mempelajari lebih lanjut tentang pekerjaan tuning SageMaker hyperparameter dalam dokumentasi. SageMaker CreateHyperParameterTuningJob API
Topik
Buat YAML file HyperparameterTuningJob menggunakan
-
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
-
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 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.
-
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 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
STATUS
Bidang 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>
Melahirkan TrainingJobs
Anda juga dapat melacak semua 10 pekerjaan pelatihan di Kubernetes yang diluncurkan HyperparameterTuningJob
dengan menjalankan perintah berikut:
kubectl get trainingjobs
Jelaskan a 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.
Topik
Buat BatchTransformJob menggunakan YAML File
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
-
Edit file
xgboost-mnist-batchtransform.yaml
untuk mengubah parameter yang diperlukan untuk menggantiinputdataconfig
dengan data input Anda dans3OutputPath
dengan bucket Amazon S3 Anda yang peran SageMaker eksekusi memiliki akses tulis. -
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
-
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 yang sebenarnya SageMaker dan memperbarui sumber dayaBatchTransformJob
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
STATUS
Bidang 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 a 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.
Topik
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.yaml
File 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, 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 VPC konfigurasi, AWS KMS enkripsi, model, jenis instance, 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 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 a 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 klien seperti c. HTTP URL Jika Anda menggunakan klien Anda sendiri, Anda perlu melakukan URL penandatanganan dan otentikasi AWS v4 sendiri.
Untuk memanggil endpoint 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
-
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 SageMaker titik akhirInService
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 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 SageMaker sumber daya.
ProcessingJob Operator
ProcessingJob operator digunakan untuk meluncurkan pekerjaan SageMaker pemrosesan Amazon. Untuk informasi lebih lanjut tentang pekerjaan SageMaker pemrosesan, lihat CreateProcessingJob.
Topik
Buat YAML file ProcessingJob menggunakan
Ikuti langkah-langkah berikut untuk membuat pekerjaan SageMaker pemrosesan Amazon dengan menggunakan YAML file:
-
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 YAML file 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 sehingga SageMaker dapat mengakses bucket S3 CloudWatch, Amazon, dan layanan lainnya atas nama Anda. Untuk informasi selengkapnya tentang membuat peran eksekusi, lihat SageMakerPeran. -
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, gunakankubectl
describe
perintah untuk melihat alasannya diAdditional
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 a 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 akan 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. delete
Perintah 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. Delete
membatalkan 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
.
Topik
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
-
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
-
Edit YAML file 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 YAML file sampel untuk metrik khusus menggunakan perintah berikut:
wget https://raw.githubusercontent.com/aws/amazon-sagemaker-operator-for-k8s/master/samples/hap-custom-metric.yaml
-
Edit YAML file 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 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_policy
Permintaan terpisah dibuat untuk setiap ID sumber daya (nama titik akhir dan kombinasi nama varian).
-
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
-
Edit YAML file untuk menentukan Anda
Region
dan beberapaendpointName
danvariantName
nilai. -
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
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 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 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 SageMaker konsol Amazon 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 a 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.