Mempertahankan alur kerja pembelajaran mesin (ML) dalam produksi adalah tugas yang menantang karena memerlukan pembuatan alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) untuk kode dan model ML, pembuatan versi model, pemantauan penyimpangan data dan konsep, pelatihan ulang model, dan manual. proses persetujuan untuk memastikan versi baru model memenuhi persyaratan kinerja dan kepatuhan.
Dalam postingan ini, kami menjelaskan cara membuat alur kerja MLOps untuk inferensi batch yang mengotomatiskan penjadwalan pekerjaan, pemantauan model, pelatihan ulang, dan registrasi, serta penanganan kesalahan dan pemberitahuan dengan menggunakan Amazon SageMaker, Jembatan Acara Amazon, AWS Lambda, Layanan Pemberitahuan Sederhana Amazon (Amazon SNS), HashiCorp Terraform, dan GitLab CI/CD. Alur kerja MLOps yang disajikan menyediakan templat yang dapat digunakan kembali untuk mengelola siklus hidup ML melalui otomatisasi, pemantauan, kemampuan audit, dan skalabilitas, sehingga mengurangi kompleksitas dan biaya pemeliharaan beban kerja inferensi batch dalam produksi.
Ikhtisar solusi
Gambar berikut mengilustrasikan usulan arsitektur MLOps target untuk inferensi batch perusahaan bagi organisasi yang menggunakan GitLab CI/CD dan infrastruktur Terraform sebagai kode (IaC) bersama dengan alat dan layanan AWS. GitLab CI/CD berfungsi sebagai pengatur makro, orkestrasi model build
dan model deploy
saluran pipa, yang mencakup pengadaan, pembangunan, dan penyediaan Pipa Amazon SageMaker dan sumber daya pendukung menggunakan SageMaker Python SDK dan Terraform. SageMaker Python SDK digunakan untuk membuat atau memperbarui alur SageMaker untuk pelatihan, pelatihan dengan optimasi hyperparameter (HPO), dan inferensi batch. Terraform digunakan untuk membuat sumber daya tambahan seperti aturan EventBridge, fungsi Lambda, dan topik SNS untuk memantau alur SageMaker dan mengirimkan pemberitahuan (misalnya, ketika langkah alur gagal atau berhasil). SageMaker Pipelines berfungsi sebagai orkestrator untuk pelatihan model ML dan alur kerja inferensi.
Desain arsitektur ini mewakili strategi multi-akun di mana model ML dibuat, dilatih, dan didaftarkan di registri model pusat dalam akun pengembangan ilmu data (yang memiliki kontrol lebih besar daripada akun pengembangan aplikasi pada umumnya). Kemudian, saluran inferensi disebarkan ke akun pementasan dan produksi menggunakan otomatisasi dari alat DevOps seperti GitLab CI/CD. Registri model pusat secara opsional dapat ditempatkan di akun layanan bersama juga. Mengacu pada Model operasi untuk praktik terbaik mengenai strategi multi-akun untuk ML.
Pada subbagian berikut, kita membahas berbagai aspek desain arsitektur secara rinci.
Infrastruktur sebagai kode
IaC menawarkan cara untuk mengelola infrastruktur TI melalui file yang dapat dibaca mesin, memastikan kontrol versi yang efisien. Dalam postingan ini dan contoh kode yang menyertainya, kami mendemonstrasikan cara menggunakannya Terraform HashiCorp dengan GitLab CI/CD untuk mengelola sumber daya AWS secara efektif. Pendekatan ini menggarisbawahi manfaat utama IaC, yaitu menawarkan proses yang transparan dan berulang dalam pengelolaan infrastruktur TI.
Pelatihan model dan pelatihan ulang
Dalam desain ini, alur pelatihan SageMaker berjalan sesuai jadwal (melalui EventBridge) atau berdasarkan Layanan Penyimpanan Sederhana Amazon (Amazon S3) pemicu peristiwa (misalnya, ketika file pemicu atau data pelatihan baru, dalam kasus objek data pelatihan tunggal, ditempatkan di Amazon S3) untuk mengkalibrasi ulang model dengan data baru secara berkala. Pipeline ini tidak menyebabkan perubahan struktural atau material pada model karena menggunakan hyperparameter tetap yang telah disetujui selama proses peninjauan model perusahaan.
Alur pelatihan mendaftarkan versi model yang baru dilatih di Registri Model Amazon SageMaker jika model melampaui ambang batas performa model yang telah ditentukan (misalnya, RMSE untuk regresi dan skor F1 untuk klasifikasi). Ketika versi baru model didaftarkan di registri model, hal ini memicu pemberitahuan ke data scientist yang bertanggung jawab melalui Amazon SNS. Ilmuwan data kemudian perlu meninjau dan menyetujui versi terbaru model secara manual Studio Amazon SageMaker UI atau melalui panggilan API menggunakan Antarmuka Baris Perintah AWS (AWS CLI) atau AWS SDK for Python (Boto3) sebelum model versi baru dapat digunakan untuk inferensi.
Alur pelatihan SageMaker dan sumber daya pendukungnya dibuat oleh GitLab model build
pipeline, baik melalui eksekusi pipeline GitLab secara manual atau secara otomatis saat kode digabungkan ke dalam main
cabang dari model build
Repositori Git.
Inferensi batch
Alur inferensi batch SageMaker berjalan sesuai jadwal (melalui EventBridge) atau berdasarkan pemicu peristiwa S3 juga. Alur inferensi batch secara otomatis mengambil versi model terbaru yang disetujui dari registri model dan menggunakannya untuk inferensi. Pipeline inferensi batch mencakup langkah-langkah untuk memeriksa kualitas data terhadap garis dasar yang dibuat oleh pipeline pelatihan, serta kualitas model (kinerja model) jika label kebenaran dasar tersedia.
Jika pipeline inferensi batch menemukan masalah kualitas data, pipeline tersebut akan memberi tahu data scientist yang bertanggung jawab melalui Amazon SNS. Jika ditemukan masalah kualitas model (misalnya, RMSE lebih besar dari ambang batas yang ditentukan sebelumnya), langkah alur untuk pemeriksaan kualitas model akan gagal, yang pada gilirannya akan memicu peristiwa EventBridge untuk memulai pelatihan dengan alur HPO.
Alur inferensi batch SageMaker dan sumber daya pendukungnya dibuat oleh GitLab model deploy
pipeline, baik melalui eksekusi pipeline GitLab secara manual atau secara otomatis saat kode digabungkan ke dalam main
cabang dari model deploy
Repositori Git.
Penyetelan dan penyetelan ulang model
Pelatihan SageMaker dengan alur HPO dipicu ketika langkah pemeriksaan kualitas model dari alur inferensi batch gagal. Pemeriksaan kualitas model dilakukan dengan membandingkan prediksi model dengan label kebenaran dasar yang sebenarnya. Jika metrik kualitas model (misalnya RMSE untuk regresi dan skor F1 untuk klasifikasi) tidak memenuhi kriteria yang telah ditentukan sebelumnya, langkah pemeriksaan kualitas model ditandai sebagai gagal. Pelatihan SageMaker dengan pipeline HPO juga dapat dipicu secara manual (di UI SageMaker Studio atau melalui panggilan API menggunakan AWS CLI atau SageMaker Python SDK) oleh data scientist yang bertanggung jawab jika diperlukan. Karena hyperparameter model berubah, ilmuwan data yang bertanggung jawab perlu mendapatkan persetujuan dari dewan peninjau model perusahaan sebelum versi model baru dapat disetujui dalam registri model.
Pelatihan SageMaker dengan saluran HPO dan sumber daya pendukungnya dibuat oleh GitLab model build
pipeline, baik melalui eksekusi pipeline GitLab secara manual atau secara otomatis saat kode digabungkan ke dalam main
cabang dari model build
Repositori Git.
Pemantauan model
Statistik data dan garis dasar kendala dihasilkan sebagai bagian dari pelatihan dan pelatihan dengan saluran HPO. Mereka disimpan ke Amazon S3 dan juga terdaftar dengan model terlatih di registri model jika model lolos evaluasi. Arsitektur yang diusulkan untuk penggunaan pipa inferensi batch Monitor Model Amazon SageMaker untuk pemeriksaan kualitas data, saat menggunakan custom Pemrosesan SageMaker Amazon langkah-langkah untuk pemeriksaan kualitas model. Desain ini memisahkan pemeriksaan kualitas data dan model, yang pada gilirannya memungkinkan Anda mengirim pemberitahuan peringatan hanya ketika penyimpangan data terdeteksi; dan memicu pelatihan dengan saluran HPO ketika pelanggaran kualitas model terdeteksi.
Persetujuan model
Setelah model yang baru dilatih didaftarkan di registri model, ilmuwan data yang bertanggung jawab menerima pemberitahuan. Jika model telah dilatih oleh pipeline pelatihan (kalibrasi ulang dengan data pelatihan baru sementara hyperparameter diperbaiki), persetujuan dari dewan peninjau model perusahaan tidak diperlukan. Ilmuwan data dapat meninjau dan menyetujui versi model baru secara mandiri. Di sisi lain, jika model telah dilatih melalui pelatihan dengan pipeline HPO (disesuaikan kembali dengan mengubah hyperparameter), versi model baru harus melalui proses peninjauan perusahaan sebelum dapat digunakan untuk inferensi dalam produksi. Ketika proses peninjauan selesai, data scientist dapat melanjutkan dan menyetujui versi baru model di registri model. Mengubah status paket model menjadi Approved
akan memicu fungsi Lambda melalui EventBridge, yang pada gilirannya akan memicu GitLab model deploy
pipa melalui panggilan API. Ini akan secara otomatis memperbarui alur inferensi batch SageMaker untuk menggunakan versi model terbaru yang disetujui untuk inferensi.
Ada dua cara utama untuk menyetujui atau menolak versi model baru di registri model: menggunakan AWS SDK for Python (Boto3) atau dari UI SageMaker Studio. Secara default, alur pelatihan dan pelatihan dengan alur HPO ditetapkan ModelApprovalStatus
untuk PendingManualApproval
. Ilmuwan data yang bertanggung jawab dapat memperbarui status persetujuan model dengan menghubungi update_model_package
API dari Boto3. Mengacu pada Perbarui Status Persetujuan Model untuk detail tentang memperbarui status persetujuan model melalui UI SageMaker Studio.
Desain I/O data
SageMaker berinteraksi langsung dengan Amazon S3 untuk membaca input dan menyimpan output dari setiap langkah dalam pipeline pelatihan dan inferensi. Diagram berikut mengilustrasikan perbedaan skrip Python, data pelatihan mentah dan yang telah diproses, data inferensi mentah dan yang telah diproses, hasil inferensi dan label kebenaran dasar (jika tersedia untuk pemantauan kualitas model), artefak model, metrik evaluasi pelatihan dan inferensi (pemantauan kualitas model), serta data dasar kualitas data dan laporan pelanggaran (untuk pemantauan kualitas data) dapat diatur dalam bucket S3. Arah panah dalam diagram menunjukkan file mana yang merupakan input atau output dari masing-masing langkah dalam alur SageMaker. Panah telah diberi kode warna berdasarkan jenis langkah alur agar lebih mudah dibaca. Pipeline akan secara otomatis mengunggah skrip Python dari repositori GitLab dan menyimpan file output atau artefak model dari setiap langkah di jalur S3 yang sesuai.
Insinyur data bertanggung jawab untuk hal-hal berikut:
- Mengunggah data pelatihan berlabel ke jalur yang sesuai di Amazon S3. Hal ini termasuk menambahkan data pelatihan baru secara berkala untuk memastikan alur pelatihan dan pelatihan dengan saluran HPO memiliki akses ke data pelatihan terbaru untuk pelatihan ulang dan penyetelan ulang model.
- Mengunggah data masukan untuk inferensi ke jalur yang sesuai di bucket S3 sebelum rencana menjalankan pipa inferensi.
- Mengunggah label kebenaran dasar ke jalur S3 yang sesuai untuk pemantauan kualitas model.
Ilmuwan data bertanggung jawab untuk hal-hal berikut:
- Mempersiapkan label kebenaran dasar dan memberikannya kepada tim teknik data untuk diunggah ke Amazon S3.
- Mengambil versi model yang dilatih oleh pelatihan dengan saluran HPO melalui proses peninjauan perusahaan dan mendapatkan persetujuan yang diperlukan.
- Menyetujui atau menolak versi model yang baru dilatih secara manual di registri model.
- Menyetujui gerbang produksi untuk pipa inferensi dan sumber daya pendukung untuk dipromosikan ke produksi.
Kode sampel
Di bagian ini, kami menyajikan contoh kode untuk operasi inferensi batch dengan pengaturan akun tunggal seperti yang ditunjukkan dalam diagram arsitektur berikut. Kode contoh dapat ditemukan di Repositori GitHub, dan dapat berfungsi sebagai titik awal untuk inferensi batch dengan pemantauan model dan pelatihan ulang otomatis menggunakan gerbang kualitas yang sering kali diperlukan oleh perusahaan. Kode contoh berbeda dari arsitektur target dalam beberapa hal berikut:
- Ia menggunakan satu akun AWS untuk membangun dan menerapkan model ML dan sumber daya pendukung. Mengacu pada Mengatur Lingkungan AWS Anda Menggunakan Banyak Akun untuk panduan tentang pengaturan multi-akun di AWS.
- Ini menggunakan pipeline GitLab CI/CD tunggal untuk membangun dan menerapkan model ML dan sumber daya pendukung.
- Saat versi baru model dilatih dan disetujui, pipeline GitLab CI/CD tidak terpicu secara otomatis dan perlu dijalankan secara manual oleh data scientist yang bertanggung jawab untuk memperbarui pipeline inferensi batch SageMaker dengan versi model terbaru yang disetujui.
- Ini hanya mendukung pemicu berbasis peristiwa S3 untuk menjalankan pelatihan SageMaker dan alur inferensi.
Prasyarat
Anda harus memiliki prasyarat berikut sebelum menerapkan solusi ini:
- Akun AWS
- Studio SageMaker
- Peran eksekusi SageMaker dengan baca/tulis Amazon S3 dan Layanan Manajemen Kunci AWS (AWS KMS) mengenkripsi/mendekripsi izin
- Bucket S3 untuk menyimpan data, skrip, dan artefak model
- Terraform versi 0.13.5 atau lebih tinggi
- GitLab dengan pelari Docker yang berfungsi untuk menjalankan saluran pipa
- CLI AWS
- jq
- membuka ritsleting
- Python3 (Python 3.7 atau lebih tinggi) dan paket Python berikut:
- boto3
- pembuat bijak
- panda
- pyyaml
Struktur repositori
Grafik Repositori GitHub berisi direktori dan file berikut:
/code/lambda_function/
โ Direktori ini berisi file Python untuk fungsi Lambda yang menyiapkan dan mengirimkan pesan notifikasi (melalui Amazon SNS) tentang perubahan status langkah pipeline SageMaker/data/
โ Direktori ini berisi file data mentah (data pelatihan, inferensi, dan kebenaran dasar)/env_files/
โ Direktori ini berisi file variabel input Terraform/pipeline_scripts/
โ Direktori ini berisi tiga skrip Python untuk membuat dan memperbarui pelatihan, inferensi, dan pelatihan dengan pipeline HPO SageMaker, serta file konfigurasi untuk menentukan parameter setiap pipeline/scripts/
โ Direktori ini berisi skrip Python tambahan (seperti prapemrosesan dan evaluasi) yang direferensikan oleh pelatihan, inferensi, dan pelatihan dengan pipeline HPO.gitlab-ci.yml
โ File ini menentukan konfigurasi pipeline GitLab CI/CD/events.tf
โ File ini mendefinisikan sumber daya EventBridge/lambda.tf
โ File ini mendefinisikan fungsi notifikasi Lambda dan terkait Identitas AWS dan Manajemen Akses (IAM) sumber daya/main.tf
โ File ini mendefinisikan sumber data Terraform dan variabel lokal/sns.tf
โ File ini mendefinisikan sumber daya Amazon SNS/tags.json
โ File JSON ini memungkinkan Anda mendeklarasikan pasangan nilai kunci tag khusus dan menambahkannya ke sumber daya Terraform Anda menggunakan variabel lokal/variables.tf
โ File ini mendeklarasikan semua variabel Terraform
Variabel dan konfigurasi
Tabel berikut menunjukkan variabel yang digunakan untuk membuat parameter solusi ini. Mengacu kepada ./env_files/dev_env.tfvars
mengajukan untuk lebih jelasnya.
Nama | Deskripsi Produk |
bucket_name |
Bucket S3 yang digunakan untuk menyimpan data, skrip, dan artefak model |
bucket_prefix |
Awalan S3 untuk proyek ML |
bucket_train_prefix |
Awalan S3 untuk data pelatihan |
bucket_inf_prefix |
Awalan S3 untuk data inferensi |
notification_function_name |
Nama fungsi Lambda yang menyiapkan dan mengirimkan pesan pemberitahuan tentang perubahan status langkah alur SageMaker |
custom_notification_config |
Konfigurasi untuk menyesuaikan pesan pemberitahuan untuk langkah-langkah alur SageMaker tertentu ketika status pengoperasian alur tertentu terdeteksi |
email_recipient |
Daftar alamat email untuk menerima pemberitahuan perubahan status langkah saluran SageMaker |
pipeline_inf |
Nama alur inferensi SageMaker |
pipeline_train |
Nama alur pelatihan SageMaker |
pipeline_trainwhpo |
Nama pelatihan SageMaker dengan saluran HPO |
recreate_pipelines |
Jika diatur ke true , tiga pipeline SageMaker yang ada (pelatihan, inferensi, pelatihan dengan HPO) akan dihapus dan yang baru akan dibuat saat GitLab CI/CD dijalankan |
model_package_group_name |
Nama grup paket model |
accuracy_mse_threshold |
Nilai maksimum MSE sebelum memerlukan pembaruan model |
role_arn |
IAM role ARN dari peran eksekusi alur SageMaker |
kms_key |
ARN kunci KMS untuk enkripsi Amazon S3 dan SageMaker |
subnet_id |
ID subnet untuk konfigurasi jaringan SageMaker |
sg_id |
ID grup keamanan untuk konfigurasi jaringan SageMaker |
upload_training_data |
Jika diatur ke true , data pelatihan akan diunggah ke Amazon S3, dan operasi pengunggahan ini akan memicu jalannya pipa pelatihan |
upload_inference_data |
Jika diatur ke true , data inferensi akan diunggah ke Amazon S3, dan operasi pengunggahan ini akan memicu jalannya pipa inferensi |
user_id |
ID karyawan pengguna SageMaker yang ditambahkan sebagai tag ke sumber daya SageMaker |
Terapkan solusinya
Selesaikan langkah-langkah berikut untuk menerapkan solusi di akun AWS Anda:
- Kloning repositori GitHub ke direktori kerja Anda.
- Tinjau dan ubah konfigurasi pipeline GitLab CI/CD agar sesuai dengan lingkungan Anda. Konfigurasi ditentukan dalam
./gitlab-ci.yml
file. - Lihat file README untuk memperbarui variabel solusi umum di
./env_files/dev_env.tfvars
mengajukan. File ini berisi variabel untuk skrip Python dan otomatisasi Terraform.- Periksa parameter SageMaker Pipelines tambahan yang ditentukan dalam file YAML di bawah
./batch_scoring_pipeline/pipeline_scripts/
. Tinjau dan perbarui parameter jika perlu.
- Periksa parameter SageMaker Pipelines tambahan yang ditentukan dalam file YAML di bawah
- Tinjau skrip pembuatan alur SageMaker di
./pipeline_scripts/
serta naskah-naskah yang menjadi acuan mereka dalam./scripts/
map. Contoh skrip yang disediakan di repo GitHub didasarkan pada Kumpulan data abalon. Jika Anda akan menggunakan kumpulan data yang berbeda, pastikan Anda memperbarui skrip agar sesuai dengan masalah khusus Anda. - Masukkan file data Anda ke dalam
./data/
folder menggunakan konvensi penamaan berikut. Jika Anda menggunakan kumpulan data Abalone bersama dengan contoh skrip yang disediakan, pastikan file data tidak memiliki header, data pelatihan menyertakan variabel independen dan target dengan urutan kolom asli dipertahankan, data inferensi hanya menyertakan variabel independen, dan kebenaran dasar file hanya menyertakan variabel target.training-data.csv
inference-data.csv
ground-truth.csv
- Komit dan dorong kode ke repositori untuk memicu eksekusi pipeline GitLab CI/CD (dijalankan pertama kali). Perhatikan bahwa eksekusi alur pertama akan gagal pada
pipeline
tahap ini karena belum ada versi model yang disetujui untuk digunakan skrip pipa inferensi. Tinjau log langkah dan verifikasi alur SageMaker baru yang diberi namaTrainingPipeline
telah berhasil dibuat.
-
- Buka UI SageMaker Studio, lalu tinjau dan jalankan alur pelatihan.
- Setelah alur pelatihan berhasil dijalankan, setujui versi model yang terdaftar di registri model, lalu jalankan kembali seluruh alur GitLab CI/CD.
- Tinjau keluaran rencana Terraform di
build
panggung. Setujui manualnyaapply
tahap dalam pipeline GitLab CI/CD untuk melanjutkan eksekusi pipeline dan mengotorisasi Terraform untuk membuat sumber daya pemantauan dan notifikasi di akun AWS Anda. - Terakhir, tinjau status pengoperasian dan output alur SageMaker di UI SageMaker Studio dan periksa email Anda untuk pesan pemberitahuan, seperti yang ditunjukkan dalam tangkapan layar berikut. Isi pesan default dalam format JSON.
Saluran pipa SageMaker
Di bagian ini, kami menjelaskan tiga alur SageMaker dalam alur kerja MLOps.
Jalur pelatihan
Alur pelatihan terdiri dari langkah-langkah berikut:
- Langkah prapemrosesan, termasuk transformasi fitur dan pengkodean
- Langkah pemeriksaan kualitas data untuk menghasilkan statistik data dan garis dasar batasan menggunakan data pelatihan
- Langkah pelatihan
- Langkah evaluasi pelatihan
- Langkah kondisi untuk memeriksa apakah model yang dilatih memenuhi ambang batas performa yang telah ditentukan sebelumnya
- Langkah registrasi model untuk mendaftarkan model yang baru dilatih di registri model jika model yang dilatih memenuhi ambang batas performa yang diperlukan
Keduanya skip_check_data_quality
dan register_new_baseline_data_quality
parameter disetel ke True
dalam jalur pelatihan. Parameter ini menginstruksikan pipeline untuk melewati pemeriksaan kualitas data dan cukup membuat serta mendaftarkan statistik data baru atau garis dasar batasan menggunakan data pelatihan. Gambar berikut menggambarkan keberhasilan alur pelatihan.
Pipa inferensi batch
Alur inferensi batch terdiri dari langkah-langkah berikut:
- Membuat model dari versi model terbaru yang disetujui di registri model
- Langkah prapemrosesan, termasuk transformasi fitur dan pengkodean
- Langkah inferensi batch
- Langkah prapemrosesan pemeriksaan kualitas data, yang membuat file CSV baru yang berisi data masukan dan prediksi model yang akan digunakan untuk pemeriksaan kualitas data
- Langkah pemeriksaan kualitas data, yang memeriksa data masukan terhadap statistik dasar dan batasan yang terkait dengan model terdaftar
- Langkah kondisi untuk memeriksa apakah data kebenaran dasar tersedia. Jika data kebenaran dasar tersedia, langkah pemeriksaan kualitas model akan dilakukan
- Langkah perhitungan kualitas model, yang menghitung kinerja model berdasarkan label kebenaran dasar
Keduanya skip_check_data_quality
dan register_new_baseline_data_quality
parameter disetel ke False
dalam pipa inferensi. Parameter ini menginstruksikan pipeline untuk melakukan pemeriksaan kualitas data menggunakan statistik data atau garis dasar batasan yang terkait dengan model terdaftar (supplied_baseline_statistics_data_quality
dan supplied_baseline_constraints_data_quality
) dan lewati pembuatan atau pendaftaran statistik data baru dan garis dasar batasan selama inferensi. Gambar berikut mengilustrasikan jalannya pipa inferensi batch di mana langkah pemeriksaan kualitas data gagal karena kinerja model yang buruk pada data inferensi. Dalam kasus khusus ini, pelatihan dengan pipeline HPO akan dipicu secara otomatis untuk menyempurnakan model.
Pelatihan dengan pipa HPO
Pelatihan dengan pipa HPO terdiri dari langkah-langkah berikut:
- Langkah prapemrosesan (transformasi fitur dan pengkodean)
- Langkah pemeriksaan kualitas data untuk menghasilkan statistik data dan garis dasar batasan menggunakan data pelatihan
- Langkah penyetelan hyperparameter
- Langkah evaluasi pelatihan
- Langkah kondisi untuk memeriksa apakah model yang dilatih memenuhi ambang akurasi yang telah ditentukan sebelumnya
- Langkah registrasi model jika model terlatih terbaik memenuhi ambang batas akurasi yang diperlukan
Keduanya skip_check_data_quality
dan register_new_baseline_data_quality
parameter disetel ke True
dalam pelatihan dengan pipa HPO. Gambar berikut menggambarkan keberhasilan pelatihan dengan saluran HPO.
Membersihkan
Selesaikan langkah-langkah berikut untuk membersihkan sumber daya Anda:
- Mempekerjakan
destroy
tahap dalam pipeline GitLab CI/CD untuk menghilangkan semua sumber daya yang disediakan oleh Terraform. - Gunakan AWS CLI untuk daftar dan menghapus semua saluran pipa yang tersisa yang dibuat oleh skrip Python.
- Secara opsional, hapus sumber daya AWS lainnya seperti bucket S3 atau IAM role yang dibuat di luar pipeline CI/CD.
Kesimpulan
Dalam postingan ini, kami menunjukkan bagaimana perusahaan dapat membuat alur kerja MLOps untuk pekerjaan inferensi batch mereka menggunakan Amazon SageMaker, Amazon EventBridge, AWS Lambda, Amazon SNS, HashiCorp Terraform, dan GitLab CI/CD. Alur kerja yang disajikan mengotomatiskan pemantauan data dan model, pelatihan ulang model, serta eksekusi tugas batch, pembuatan versi kode, dan penyediaan infrastruktur. Hal ini dapat menghasilkan pengurangan kompleksitas dan biaya yang signifikan untuk mempertahankan pekerjaan inferensi batch dalam produksi. Untuk informasi selengkapnya tentang detail penerapan, tinjau GitHub repo.
Tentang Penulis
Hasan Shojaei adalah Ilmuwan Data Senior di Layanan Profesional AWS, yang membantu pelanggan di berbagai industri seperti olahraga, asuransi, dan layanan keuangan memecahkan tantangan bisnis mereka melalui penggunaan data besar, pembelajaran mesin, dan teknologi cloud. Sebelum menduduki jabatan ini, Hasan memimpin berbagai inisiatif untuk mengembangkan teknik pemodelan baru berbasis fisika dan berbasis data untuk perusahaan-perusahaan energi terkemuka. Di luar pekerjaan, Hasan sangat menyukai buku, hiking, fotografi, dan sejarah.
Wenxin Liu adalah Sr. Arsitek Infrastruktur Cloud. Wenxin memberikan saran kepada perusahaan-perusahaan mengenai cara mempercepat adopsi cloud dan mendukung inovasi mereka di cloud. Dia seorang penyayang hewan peliharaan dan menyukai seluncur salju dan bepergian.
Vivek Lakshmanan adalah Insinyur Pembelajaran Mesin di Amazon. Beliau memiliki gelar Master di bidang Rekayasa Perangkat Lunak dengan spesialisasi di bidang Ilmu Data dan pengalaman beberapa tahun sebagai MLE. Vivek bersemangat dalam menerapkan teknologi mutakhir dan membangun solusi AI/ML bagi pelanggan di cloud. Dia tertarik dengan Statistik, NLP, dan Penjelasan Model dalam AI/ML. Di waktu luangnya, dia menikmati bermain kriket dan melakukan perjalanan darat.
Andy Cracchiolo adalah Arsitek Infrastruktur Cloud. Dengan pengalaman lebih dari 15 tahun di bidang infrastruktur TI, Andy adalah seorang profesional TI yang berprestasi dan berorientasi pada hasil. Selain mengoptimalkan infrastruktur TI, operasi, dan otomatisasi, Andy memiliki rekam jejak yang terbukti dalam menganalisis operasi TI, mengidentifikasi inkonsistensi, dan menerapkan peningkatan proses yang meningkatkan efisiensi, mengurangi biaya, dan meningkatkan keuntungan.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Otomotif / EV, Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- ChartPrime. Tingkatkan Game Trading Anda dengan ChartPrime. Akses Di Sini.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/mlops-for-batch-inference-with-model-monitoring-and-retraining-using-amazon-sagemaker-hashicorp-terraform-and-gitlab-ci-cd/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 100
- 125
- 13
- 15 tahun
- 15%
- 26%
- 29
- 500
- 7
- a
- Tentang Kami
- mempercepat
- mengakses
- dicapai
- Akun
- Akun
- ketepatan
- di seluruh
- sebenarnya
- menambahkan
- menambahkan
- tambahan
- Tambahan
- alamat
- Adopsi
- terhadap
- AI / ML
- Semua
- memungkinkan
- sepanjang
- juga
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- menganalisis
- dan
- dan infrastruktur
- Apa pun
- api
- Aplikasi
- Pengembangan Aplikasi
- Menerapkan
- pendekatan
- sesuai
- persetujuan
- persetujuan
- menyetujui
- disetujui
- arsitektur
- ADALAH
- AS
- aspek
- terkait
- At
- kemampuan audit
- mengizinkan
- mobil
- mengotomatiskan
- secara otomatis
- secara otomatis
- Otomatisasi
- tersedia
- AWS
- AWS Lambda
- Layanan Profesional AWS
- berdasarkan
- Dasar
- BE
- karena
- menjadi
- sebelum
- manfaat
- TERBAIK
- Praktik Terbaik
- Besar
- Big data
- papan
- tubuh
- Buku-buku
- kedua
- Cabang
- Bangunan
- dibangun di
- bisnis
- by
- menghitung
- perhitungan
- panggilan
- panggilan
- CAN
- kasus
- pusat
- tantangan
- menantang
- perubahan
- Perubahan
- mengubah
- memeriksa
- memeriksa
- Cek
- klasifikasi
- awan
- adopsi cloud
- infrastruktur cloud
- kode
- Kolom
- Perusahaan
- pembandingan
- lengkap
- kompleksitas
- pemenuhan
- tersusun
- konsep
- konfigurasi
- hubungan
- kendala
- mengandung
- kontinu
- kontrol
- kontrol
- Konvensi
- Biaya
- bisa
- membuat
- dibuat
- menciptakan
- membuat
- penciptaan
- jangkrik
- adat
- pelanggan
- canggih
- data
- ilmu data
- ilmuwan data
- Data-driven
- menyatakan
- Default
- didefinisikan
- Mendefinisikan
- Derajat
- pengiriman
- mendemonstrasikan
- menunjukkan
- menyebarkan
- dikerahkan
- penggelaran
- menggambarkan
- Mendesain
- rinci
- rincian
- terdeteksi
- mengembangkan
- Pengembangan
- berbeda
- arah
- langsung
- direktori
- Temukan
- membahas
- Buruh pelabuhan
- tidak
- Tidak
- dua
- selama
- setiap
- mudah
- efektif
- efisiensi
- efisien
- antara
- menghapuskan
- Karyawan
- energi
- insinyur
- Teknik
- Perangkat tambahan
- memastikan
- memastikan
- Enterprise
- perusahaan
- Seluruh
- Lingkungan Hidup
- kesalahan
- evaluasi
- Acara
- contoh
- melebihi
- gembira
- eksekusi
- ada
- pengalaman
- f1
- GAGAL
- Gagal
- gagal
- Fitur
- Angka
- File
- File
- keuangan
- jasa keuangan
- Pertama
- tetap
- berikut
- Untuk
- format
- ditemukan
- dari
- fungsi
- fungsi
- Gates
- Umum
- dihasilkan
- menghasilkan
- pergi
- GitHub
- Go
- akan
- lebih besar
- Tanah
- Kelompok
- bimbingan
- tangan
- Penanganan
- Memiliki
- he
- membantu
- -nya
- sejarah
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- Optimalisasi Hyperparameter
- ID
- mengidentifikasi
- identitas
- if
- menggambarkan
- implementasi
- mengimplementasikan
- in
- memasukkan
- termasuk
- Termasuk
- Meningkatkan
- independen
- secara mandiri
- menunjukkan
- sendiri-sendiri
- industri
- informasi
- Infrastruktur
- inisiatif
- inovasi
- memasukkan
- input
- asuransi
- integrasi
- interaktif
- ke
- memperkenalkan
- masalah
- IT
- NYA
- Pekerjaan
- Jobs
- jpg
- json
- hanya
- kunci
- Label
- Terbaru
- memimpin
- pengetahuan
- Dipimpin
- siklus hidup
- baris
- Daftar
- lokal
- mencatat
- mesin
- Mesin belajar
- Utama
- mempertahankan
- membuat
- mengelola
- pengelolaan
- pelaksana
- panduan
- manual
- ditandai
- tuan
- bahan
- Pelajari
- Memenuhi
- pesan
- pesan
- metrik
- Metrik
- ML
- MLOps
- model
- pemodelan
- model
- memodifikasi
- pemantauan
- lebih
- beberapa
- Bernama
- penamaan
- perlu
- Perlu
- dibutuhkan
- kebutuhan
- jaringan
- New
- baru saja
- nLP
- tidak
- pemberitahuan
- pemberitahuan
- novel
- obyek
- memperoleh
- mendapatkan
- of
- menawarkan
- Penawaran
- sering
- on
- yang
- hanya
- operasi
- Operasi
- optimasi
- mengoptimalkan
- or
- urutan
- organisasi
- terorganisir
- asli
- Lainnya
- keluaran
- di luar
- paket
- paket
- pasang
- parameter
- bagian
- tertentu
- melewati
- bergairah
- path
- Melakukan
- prestasi
- dilakukan
- fotografi
- pipa saluran
- rencana
- berencana
- plato
- Kecerdasan Data Plato
- Data Plato
- bermain
- Titik
- miskin
- Pos
- praktek
- Prediksi
- Mempersiapkan
- prasyarat
- menyajikan
- disajikan
- Sebelumnya
- Masalah
- memproses
- proses
- Diproses
- Produksi
- profesional
- keuntungan
- dipromosikan
- diusulkan
- terbukti
- disediakan
- menyediakan
- menyediakan
- Menarik
- Dorong
- Ular sanca
- kualitas
- Mentah
- Baca
- Bacaan
- menerima
- menerima
- baru
- catatan
- menurunkan
- mengurangi
- mengenai
- daftar
- terdaftar
- mendaftar
- register
- Pendaftaran
- pendaftaran
- secara teratur
- yang tersisa
- berulang
- laporan
- gudang
- merupakan
- wajib
- Persyaratan
- membutuhkan
- Sumber
- itu
- masing-masing
- tanggung jawab
- Hasil
- lanjut
- dapat digunakan kembali
- ulasan
- jalan
- Peran
- aturan
- Run
- pelari
- berjalan
- berjalan
- pembuat bijak
- Inferensi SageMaker
- Pipa SageMaker
- Skalabilitas
- menjadwalkan
- penjadwalan
- Ilmu
- ilmuwan
- skor
- script
- SDK
- Bagian
- mengirim
- mengirim
- mengirimkan
- melayani
- melayani
- Layanan
- set
- penyiapan
- beberapa
- berbagi
- harus
- ditunjukkan
- Pertunjukkan
- penting
- Sederhana
- tunggal
- Perangkat lunak
- rekayasa Perangkat Lunak
- larutan
- Solusi
- MEMECAHKAN
- sumber
- Sourcing
- tertentu
- ditentukan
- Olahraga
- Tahap
- pementasan
- awal
- Mulai
- Negara
- statistika
- Status
- Langkah
- Tangga
- penyimpanan
- menyimpan
- menyimpan
- Penyelarasan
- struktural
- studio
- sukses
- berhasil
- seperti itu
- setelan
- pendukung
- Mendukung
- tabel
- MENANDAI
- pengambilan
- target
- tugas
- tim
- teknik
- Teknologi
- Template
- Terraform
- dari
- bahwa
- Grafik
- mereka
- Mereka
- kemudian
- Sana.
- dengan demikian
- Ini
- mereka
- ini
- tiga
- ambang
- Melalui
- waktu
- untuk
- alat
- puncak
- Topik
- jalur
- rekam jejak
- terlatih
- Pelatihan
- Transformasi
- jelas
- Perjalanan
- memicu
- dipicu
- kebenaran
- MENGHIDUPKAN
- dua
- mengetik
- khas
- ui
- bawah
- garis bawah
- Memperbarui
- memperbarui
- upload
- Mengunggah
- menggunakan
- bekas
- Pengguna
- kegunaan
- menggunakan
- Penggunaan
- dimanfaatkan
- nilai
- variabel
- memeriksa
- versi
- Versi
- melalui
- PELANGGARAN
- peringatan
- Cara..
- cara
- we
- jaringan
- layanan web
- BAIK
- ketika
- apakah
- yang
- sementara
- SIAPA
- akan
- dengan
- dalam
- Kerja
- alur kerja
- Alur kerja
- kerja
- yaml
- tahun
- namun
- Kamu
- Anda
- zephyrnet.dll