Grafik Kerangka kerja Operasi Pembelajaran Mesin (MLOps) AWS adalah proses berulang dan berulang untuk mengembangkan model AI dari waktu ke waktu. Seperti DevOps, praktisi mendapatkan efisiensi dalam mempromosikan artefak mereka melalui berbagai lingkungan (seperti jaminan kualitas, integrasi, dan produksi) untuk kontrol kualitas. Secara paralel, pelanggan dengan cepat mengadopsi strategi multi-akun melalui Organisasi AWS dan Menara Kontrol AWS untuk menciptakan lingkungan yang aman dan terisolasi. Kombinasi ini dapat menimbulkan tantangan untuk menerapkan MLOps dengan Layanan AI yang telah dilatih sebelumnya oleh AWS, seperti Label Kustom Amazon Rekognition. Posting ini membahas pola desain untuk mengurangi kompleksitas itu sambil tetap mempertahankan praktik terbaik keamanan.
Ringkasan
Pelanggan di setiap vertikal industri menyadari nilai dari mengoperasionalkan pembelajaran mesin (ML) secara efisien dan mengurangi waktu untuk memberikan nilai bisnis. Sebagian besar Layanan AI yang telah dilatih sebelumnya oleh AWS mengatasi situasi ini melalui kemampuan luar biasa untuk visi komputer, terjemahan, dan deteksi penipuan, di antara kasus penggunaan umum lainnya. Banyak kasus penggunaan memerlukan prediksi khusus domain yang melampaui jawaban umum. Layanan AI dapat menyempurnakan hasil model prediktif menggunakan data berlabel pelanggan untuk skenario tersebut.
Seiring waktu, kosakata khusus domain berubah dan berkembang. Misalnya, misalkan produsen alat membuat model visi komputer untuk mendeteksi produknya dalam gambar (seperti palu dan obeng). Dalam rilis mendatang, bisnis menambahkan dukungan untuk kunci pas dan gergaji. Label baru ini memerlukan perubahan kode di situs web produsen dan aplikasi khusus. Sekarang, ada dependensi yang harus dilepaskan kedua artefak secara bersamaan.
Kerangka kerja AWS MLOps mengatasi tantangan rilis ini melalui proses berulang dan berulang. Sebelum mencapai pengguna akhir produksi, artefak model harus melintasi berbagai gerbang kualitas seperti kode aplikasi. Anda biasanya menerapkan gerbang kualitas itu menggunakan beberapa akun AWS dalam organisasi AWS. Pendekatan ini memberikan fleksibilitas untuk mengelola domain aplikasi ini secara terpusat dan menegakkan pagar pembatas dan persyaratan bisnis. Menjadi semakin umum untuk memiliki puluhan atau bahkan ratusan akun dalam organisasi Anda. Namun, Anda harus menyeimbangkan kebutuhan isolasi beban kerja dengan ukuran dan kompleksitas tim.
Praktisi MLOps memiliki prosedur standar untuk mempromosikan artefak antar akun (seperti QA ke produksi). Pola-pola ini mudah diterapkan, mengandalkan penyalinan kode dan sumber daya biner antara Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember. Namun, Layanan AI terlatih AWS saat ini tidak mendukung penyalinan model kustom terlatih di seluruh akun AWS. Sampai mekanisme seperti itu ada, Anda perlu melatih kembali model di setiap akun AWS menggunakan kumpulan data yang sama. Pendekatan ini melibatkan waktu dan biaya untuk melatih kembali model di akun baru. Mekanisme ini dapat menjadi pilihan yang layak untuk beberapa pelanggan. Namun dalam postingan ini, kami mendemonstrasikan cara untuk menentukan dan mengembangkan model kustom ini secara terpusat sambil membagikannya dengan aman di seluruh akun organisasi AWS.
Ikhtisar solusi
Postingan ini membahas pola desain untuk berbagi model khusus domain Layanan AI yang telah dilatih sebelumnya oleh AWS dengan aman. Layanan ini meliputi: Detektor Penipuan Amazon, Amazon Transkripsikan, dan Rekognisi Amazon, untuk beberapa nama. Meskipun strategi ini dapat diterapkan secara luas, kami fokus pada Label Kustom Pengakuan sebagai contoh nyata. Kami sengaja menghindari menyelam terlalu jauh ke dalam nuansa khusus Rekognition Custom Labels.
Arsitektur dimulai dengan AWS Control Tower yang dikonfigurasi di akun manajemen. AWS Control Tower menyediakan cara termudah untuk menyiapkan dan mengatur lingkungan AWS multi-akun yang aman. Seperti yang ditunjukkan pada diagram berikut, kami menggunakan Pabrik Akun di AWS Control Tower untuk membuat lima akun AWS:
- Akun CI/CD untuk orkestrasi penerapan (misalnya, dengan AWS Kode Bintang)
- Akun produksi untuk pengguna akhir eksternal (misalnya, situs web publik)
- Akun jaminan kualitas untuk tim pengembangan internal (seperti praproduksi)
- Akun ML untuk model khusus dan sistem pendukung
- Rumah Danau AWS akun yang menyimpan data pelanggan milik
Konfigurasi ini mungkin terlalu terperinci atau kasar, tergantung pada persyaratan peraturan, industri, dan ukuran Anda. Mengacu pada Mengelola lingkungan multi-akun menggunakan AWS Organizations dan AWS Control Tower untuk panduan lebih lanjut.
Buat model Label Kustom Pengakuan
Langkah pertama untuk membuat model Label Kustom Pengakuan adalah memilih akun AWS untuk menghostingnya. Anda dapat memulai perjalanan ML Anda menggunakan satu akun ML. Pendekatan ini mengkonsolidasikan setiap perkakas dan prosedur ke dalam satu tempat. Namun, sentralisasi ini dapat menyebabkan kembung di akun individu dan mengarah ke lingkungan monolitik. Perusahaan yang lebih matang menyegmentasikan akun ML ini berdasarkan tim atau beban kerja. Terlepas dari granularitasnya, objeknya sama untuk didefinisikan secara terpusat dan melatih model sekali.
Postingan ini menunjukkan penggunaan model Label Kustom Pengakuan dengan satu akun ML dan akun data lake terpisah (lihat diagram berikut). Ketika data berada di akun yang berbeda, Anda harus mengonfigurasi kebijakan sumber daya untuk memberikan akses lintas-akun ke bucket S3 objek. Prosedur ini secara aman membagikan konten bucket dengan akun ML. Lihat sampel mulai cepat Untuk informasi lebih lanjut tentang membuat model khusus domain Amazon Rekognition.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSRekognitionS3AclBucketRead20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3GetBucket20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::S3:/*" }, { "Sid": "AWSRekognitionS3ACLBucketWrite20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3PutObject20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::S3:/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]
}
Aktifkan akses lintas-akun
Setelah Anda membuat dan menerapkan model, titik akhir hanya tersedia dalam akun ML. Jangan gunakan kunci statis untuk berbagi akses. Kamu harus mendelegasikan akses ke akun produksi (atau QA) menggunakan Identitas AWS dan Manajemen Akses (IAM). Untuk membuat peran lintas-akun di akun ML, selesaikan langkah-langkah berikut:
- Pada konsol Label Kustom Pengakuan, pilih Proyek dan pilih nama proyek Anda.
- Pilih Model dan nama model Anda.
- pada Gunakan model tab, gulir ke bawah ke Gunakan model Anda bagian.
- Salin model Nama Sumber Daya Amazon (ARN). Itu harus diformat sebagai berikut:
arn:aws:rekognition:region-name:account-id:project/model-name/version/version-id/timestamp
. - Buat peran dengan
rekognition:DetectCustomLabels
izin ke model ARN dan kebijakan kepercayaan memungkinkansts:AssumeRole
dari akun produksi (atau QA) (misalnya,arn:aws:iam::PROD_ACCOUNT_ID_HERE:root
). - Secara opsional, lampirkan kebijakan tambahan untuk tindakan spesifik beban kerja apa pun (seperti mengakses bucket S3).
- Secara opsional, konfigurasikan elemen kondisi untuk menegakkan persyaratan delegasi tambahan.
- Catat ARN peran baru untuk digunakan di bagian berikutnya.
Panggil titik akhir
Dengan kebijakan keamanan di tempat, saatnya untuk menguji konfigurasi. Pendekatan sederhana melibatkan pembuatan Cloud komputasi elastis Amazon (Amazon EC2) dan menggunakan Antarmuka Baris Perintah AWS (AWS CLI). Panggil titik akhir dengan langkah-langkah berikut:
- Di akun produksi (atau QA), buat peran untuk Amazon EC2.
- Lampirkan kebijakan yang mengizinkan
sts:AssumeRole
ke ARN lintas peran akun ML. - Luncurkan instans Amazon Linux 2 dengan peran dari langkah sebelumnya.
- Tunggu untuk penyediaan, lalu terhubung ke instance Linux menggunakan SSH.
- Panggil perintah
aws iam assume-role
untuk beralih ke peran lintas-akun dari bagian sebelumnya. - Mulai titik akhir model, jika belum berjalan, gunakan konsol Rekognition atau mulai-proyek-versi Perintah AWS CLI.
- Panggil perintah aws pengenalan deteksi label khusus untuk menguji operasi.
Anda juga dapat melakukan pengujian ini menggunakan AWS SDK dan sumber daya komputasi lainnya (misalnya, AWS Lambda).
Menghindari internet publik
Di bagian sebelumnya, permintaan deteksi-label-kustom menggunakan gateway internet virtual private cloud (VPC) dan melintasi internet publik. Enkripsi TLS/SSL cukup mengamankan saluran komunikasi untuk banyak beban kerja. Kamu bisa memakai Tautan Pribadi AWS untuk aktifkan koneksi antara VPC dan layanan pendukung tanpa memerlukan gateway internet, perangkat NAT, koneksi VPN, gateway transit, atau AWS Direct Connect koneksi. Kemudian, permintaan deteksi-label-kustom tidak pernah membiarkan jaringan AWS terpapar ke internet publik. AWS PrivateLink mendukung semua layanan yang digunakan dalam postingan ini. Anda juga dapat menerapkan Layanan AI yang telah dilatih sebelumnya menggunakan konektivitas pribadi dengan IAM dalam kebijakan lintas peran. Kontrol ini menambahkan tingkat perlindungan lain yang mencegah klien yang salah konfigurasi untuk menggunakan titik akhir yang terhubung ke internet dari Layanan AI yang telah dilatih sebelumnya. Untuk informasi tambahan, lihat Menggunakan Amazon Rekognition dengan titik akhir Amazon VPC, AWS PrivateLink untuk Amazon S3, dan Menggunakan titik akhir VPC antarmuka AWS STS.
Diagram berikut mengilustrasikan konfigurasi titik akhir VPC antara akun produksi, akun ML, dan akun QA.
Bangun saluran CI/CD untuk mempromosikan model
AWS merekomendasikan untuk terus menyediakan lebih banyak data pelatihan dan pengujian untuk memberi label khusus pada kumpulan data proyek Amazon Rekognition untuk meningkatkan model. Setelah Anda menambahkan lebih banyak data ke proyek, model baru dapat meningkatkan akurasi atau mengubah label.
Dalam MLOps, artefak model harus konsisten. Untuk mencapai hal ini dengan Layanan AI yang telah dilatih sebelumnya, AWS merekomendasikan untuk mempromosikan titik akhir model dengan memperbarui referensi kode ke ARN versi model baru. Pendekatan ini menghindari pelatihan ulang model khusus domain di setiap lingkungan (seperti QA dan akun produksi). Aplikasi Anda dapat menggunakan ARN model baru sebagai variabel runtime menggunakan Manajer Sistem AWS dalam multi-akun atau lingkungan multi-tahap.
Tiga tingkat perincian membatasi akses ke model lintas-akun, khususnya di tingkat akun, proyek, dan versi model. Model bersifat idempoten dan memiliki ARN unik yang dipetakan ke pelatihan titik waktu tertentu: arn:aws:rekognition:account:region:project/project_name/version/name/timestamp
.
Diagram berikut menggambarkan rotasi model dari QA ke produksi.
Dalam arsitektur sebelumnya, aplikasi produksi dan QA membuat panggilan API untuk menggunakan titik akhir model v2 atau v3 melalui titik akhir VPC masing-masing. Mereka menerima ARN dari penyimpanan konfigurasinya (misalnya, Toko Parameter Manajer Sistem Amazon or Konfigurasi Aplikasi AWS). Proses ini bekerja dengan n sejumlah lingkungan, tetapi kami hanya mendemonstrasikan menggunakan dua akun untuk kesederhanaan. Opsional, menghapus versi model yang digantikan mencegah konsumsi tambahan dari sumber daya tersebut.
Akun ML memiliki peran IAM untuk setiap lingkungan tertentu (seperti akun Produksi) yang memerlukan akses. Pipeline CI/CD sebagai bagian dari penerapan mengubah kebijakan inline peran IAM untuk memungkinkan akses ke model yang sesuai.
Pertimbangkan skenario mempromosikan Model-v2 dari akun QA ke akun produksi. Proses ini membutuhkan langkah-langkah berikut:
- Di konsol Rekognition Custom Labels, transisikan endpoint Model-v2 ke status berjalan.
- Berikan peran lintas-akun IAM di akun ML akses ke versi baru Model-v2.
Perhatikan bahwa elemen sumber daya mendukung wildcard di ARN.
- Kirim permintaan pengujian ke Model-v2 dari aplikasi produksi menggunakan peran delegasi.
- Secara opsional, hapus akses peran lintas-akun ke Model-v1.
- Secara opsional, ulangi langkah 2-3 untuk setiap akun AWS tambahan.
- Secara opsional, hentikan titik akhir Model-v1 untuk menghindari timbulnya biaya.
Penyebaran kebijakan global dari bidang kontrol IAM ke bidang data IAM di setiap Wilayah pada akhirnya merupakan operasi yang konsisten. Desain ini dapat membuat sedikit penundaan untuk konfigurasi multi-Regional.
Buat pagar pembatas melalui kebijakan kontrol layanan
Menggunakan peran lintas-akun menciptakan mekanisme yang aman untuk berbagi sumber daya AI terkelola yang telah dilatih sebelumnya. Tapi apa jadinya bila kebijakan peran itu terlalu permisif? Anda dapat mengurangi risiko ini dengan menggunakan kebijakan kontrol layanan (SCP) untuk mengatur pagar pembatas izin di seluruh akun. Pagar pembatas menentukan izin maksimum tersedia untuk identitas IAM. Kemampuan ini dapat mencegah akun konsumen model, misalnya, menghentikan titik akhir Amazon Rekognition bersama. Setelah menentukan persyaratan pagar pembatas yang sesuai, unit organisasi dalam Organisasi memungkinkan pengelolaan kebijakan tersebut secara terpusat di beberapa akun.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModifyingRekgnotionProjects", "Effect": "Deny", "Action": [ "rekognition:CreateProject*", "rekognition:DeleteProject*", "rekognition:StartProject*", "rekognition:StopProject*", ], "Resource": [ โarn:aws:rekognition:*:*:project/* ] } ]
}
Anda juga dapat mengonfigurasi kontrol detektif untuk memantau konfigurasinya dan memastikannya tidak menyimpang dari kepatuhan. Penganalisis Akses IAM AWS mendukung penilaian kebijakan di seluruh organisasi dan melaporkan izin yang tidak digunakan. Selain itu, Konfigurasi AWS memungkinkan penilaian, pengauditan, dan evaluasi konfigurasi sumber daya AWS. Kemampuan ini mendukung persyaratan keamanan dan kepatuhan standar, seperti: memverifikasi dan memulihkan pengaturan enkripsi ember S3.
Kesimpulan
Anda memerlukan solusi siap pakai untuk menambahkan kemampuan ML seperti visi komputer, terjemahan, dan deteksi penipuan. Anda juga memerlukan batasan keamanan yang mengisolasi lingkungan Anda yang berbeda untuk tujuan kontrol kualitas, kepatuhan, dan peraturan. Layanan AI yang telah dilatih sebelumnya oleh AWS dan AWS Control Tower menghadirkan fungsionalitas tersebut dengan cara yang mudah diakses dan aman.
Layanan AI terlatih AWS saat ini tidak mendukung penyalinan model kustom terlatih di seluruh akun AWS. Sampai mekanisme seperti itu ada, Anda perlu melatih kembali model di setiap akun AWS menggunakan kumpulan data yang sama. Postingan ini menunjukkan pendekatan desain alternatif menggunakan kebijakan lintas-akun IAM untuk berbagi titik akhir model sambil mempertahankan kontrol keamanan yang kuat. Selanjutnya, Anda dapat berhenti membayar untuk pekerjaan pelatihan yang berlebihan! Untuk informasi lebih lanjut tentang kebijakan lintas-akun, lihat Tutorial IAM: Mendelegasikan akses di seluruh akun AWS menggunakan peran IAM.
Tentang Penulis
Nate Bachmeier adalah Arsitek Solusi Senior AWS yang menjelajahi New York secara nomaden, satu demi satu integrasi cloud. Spesialisasinya adalah migrasi dan modernisasi beban kerja pelanggan. Selain itu, Nate adalah siswa penuh waktu dan memiliki dua anak.
Mario Bourgoin adalah Arsitek Solusi Mitra Senior untuk AWS, spesialis AI/ML, dan pemimpin teknologi global untuk MLOps. Dia bekerja dengan pelanggan dan mitra perusahaan yang menerapkan solusi AI di cloud. Dia memiliki lebih dari 30 tahun pengalaman melakukan pembelajaran mesin dan AI di perusahaan rintisan dan perusahaan, dimulai dengan membuat salah satu sistem pembelajaran mesin komersial pertama untuk data besar. Mario menghabiskan keseimbangan waktunya bermain dengan tiga Tervuren Belgia, memasak makan malam untuk keluarganya, dan belajar tentang matematika dan kosmologi.
Tim Murphy adalah Arsitek Solusi Senior untuk AWS, bekerja dengan pelanggan perusahaan di berbagai industri untuk membangun solusi berbasis bisnis di cloud. Dia telah menghabiskan dekade terakhir bekerja dengan perusahaan rintisan, nirlaba, perusahaan komersial, dan lembaga pemerintah, menyebarkan infrastruktur dalam skala besar. Di waktu luangnya ketika dia tidak mengutak-atik teknologi, kemungkinan besar Anda akan menemukannya di daerah yang jauh di bumi, mendaki gunung, berselancar di ombak, atau bersepeda melintasi kota baru.
- Coinsmart. Pertukaran Bitcoin dan Crypto Terbaik Eropa.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. AKSES GRATIS.
- CryptoHawk. Radar Altcoin. Uji Coba Gratis.
- Sumber: https://aws.amazon.com/blogs/machine-learning/implement-mlops-using-aws-pre-trained-ai-services-with-aws-organizations/
- "
- 100
- 98
- Tentang Kami
- mengakses
- Akun
- di seluruh
- Tindakan
- tindakan
- Tambahan
- alamat
- AI
- Layanan AI
- Semua
- Membiarkan
- sudah
- Meskipun
- Amazon
- antara
- Lain
- api
- berlaku
- Aplikasi
- aplikasi
- pendekatan
- arsitektur
- tersedia
- AWS
- TERBAIK
- Praktik Terbaik
- Big data
- Mengasapi
- membangun
- bisnis
- kemampuan
- kasus
- Menyebabkan
- tantangan
- Kota
- awan
- kode
- kombinasi
- komersial
- Umum
- Komunikasi
- pemenuhan
- menghitung
- kondisi
- konfigurasi
- koneksi
- Koneksi
- Konektivitas
- konsul
- konsumen
- konsumsi
- isi
- kontrol
- Biaya
- membuat
- pelanggan
- data
- dasawarsa
- keterlambatan
- menyebarkan
- penggelaran
- penyebaran
- Mendesain
- Deteksi
- Pengembangan
- alat
- berbeda
- Tidak
- domain
- turun
- bumi
- mudah
- efek
- enkripsi
- Titik akhir
- Enterprise
- Lingkungan Hidup
- contoh
- pengalaman
- keluarga
- Pertama
- keluwesan
- Fokus
- berikut
- Kerangka
- penipuan
- fungsi
- masa depan
- Gates
- Aksi
- Pemerintah
- HTTPS
- Ratusan
- identitas
- melaksanakan
- memasukkan
- sendiri-sendiri
- industri
- industri
- informasi
- Infrastruktur
- integrasi
- Antarmuka
- Internet
- isolasi
- IT
- anak
- Label
- memimpin
- pengetahuan
- Tingkat
- baris
- linux
- mesin
- Mesin belajar
- pengelolaan
- manajer
- pelaksana
- Pabrikan
- Peta
- matematika
- ML
- model
- model
- paling
- jaringan
- NY
- Operasi
- pilihan
- teknik mengatur musik
- organisasi
- organisasi
- Lainnya
- pasangan
- rekan
- Kebijakan
- kebijaksanaan
- Prediksi
- Utama
- swasta
- proses
- proses
- Produksi
- Produk
- proyek
- hak milik
- perlindungan
- menyediakan
- publik
- tujuan
- kualitas
- menerima
- merekomendasikan
- mengurangi
- regulator
- melepaskan
- membutuhkan
- Persyaratan
- sumber
- Sumber
- Hasil
- risiko
- berjalan
- Skala
- SDK
- aman
- keamanan
- kebijakan keamanan
- layanan
- Layanan
- set
- Share
- berbagi
- saham
- Sederhana
- Ukuran
- Solusi
- spesialisasi
- Secara khusus
- awal
- Startups
- Negara
- Pernyataan
- penyimpanan
- menyimpan
- strategi
- mahasiswa
- mendukung
- Mendukung
- Beralih
- sistem
- tim
- tech
- Teknologi
- uji
- Melalui
- waktu
- Pelatihan
- transit
- Terjemahan
- Kepercayaan
- unik
- menggunakan
- nilai
- maya
- penglihatan
- VPN
- ombak
- Situs Web
- situs web
- Apa
- dalam
- tanpa
- kerja
- bekerja
- tahun