Gunakan SageMaker Template Proyek yang Disediakan - Amazon SageMaker

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

Gunakan SageMaker Template Proyek yang Disediakan

Amazon SageMaker menyediakan template proyek yang membuat infrastruktur yang Anda butuhkan untuk membuat MLOps solusi untuk integrasi berkelanjutan dan penerapan berkelanjutan (CI/CD) model ML. Gunakan templat ini untuk memproses data, mengekstrak fitur, melatih dan menguji model, mendaftarkan model dalam registri SageMaker model, dan menerapkan model untuk inferensi. Anda dapat menyesuaikan kode benih dan file konfigurasi agar sesuai dengan kebutuhan Anda.

penting

Mulai 25 Juli 2022, kami memerlukan peran tambahan untuk menggunakan templat proyek. Untuk daftar lengkap peran dan instruksi yang diperlukan tentang cara membuatnya, lihatSageMaker Izin Studio Diperlukan untuk Menggunakan Proyek. Jika Anda tidak memiliki peran baru, Anda akan mendapatkan pesan CodePipeline kesalahan tidak diizinkan untuk dilakukan AssumeRole pada peran arn:aws:iam: :xxx:role/service-role/ AmazonSageMakerServiceCatalogProductsCodePipelineRole ketika Anda mencoba membuat proyek baru dan tidak dapat melanjutkan.

SageMaker templat proyek menawarkan pilihan repositori kode, alat otomatisasi alur kerja, dan tahapan pipeline berikut:

  • Repositori kode: AWS CodeCommit atau repositori Git pihak ketiga seperti dan Bitbucket GitHub

  • Otomatisasi alur kerja CI/CD: atau Jenkins AWS CodePipeline

  • Tahapan pipa: Pembuatan model dan pelatihan, penerapan model, atau keduanya

Diskusi berikut memberikan gambaran umum dari setiap template yang dapat Anda pilih saat Anda membuat SageMaker proyek Anda. Anda juga dapat melihat template yang tersedia di Studio (atau Studio Classic) dengan mengikuti Langkah 1: Buat Proyek panduan Proyek.

Untuk step-by-step petunjuk tentang cara membuat proyek nyata, Anda dapat mengikuti salah satu panduan proyek:

MLOpstemplate untuk pembuatan model, pelatihan, dan penyebaran

Template ini adalah kombinasi dari dua template berikut, yang masing-masing dapat digunakan secara independen, dan berisi semua sumber daya yang disediakan dalam template tersebut.

  • Repositori kode: AWS CodeCommit

  • Otomatisasi alur kerja CI/CD: AWS CodePipeline

MLOpstemplate untuk pembuatan model dan pelatihan

Gunakan templat ini saat Anda menginginkan MLOps solusi untuk memproses data, mengekstrak fitur, melatih dan menguji model, dan mendaftarkan model di registri SageMaker model.

Template ini menyediakan sumber daya berikut:

  • AWS CodeCommit Repositori yang berisi kode contoh yang membuat SageMaker pipeline Amazon dalam kode Python dan menunjukkan cara membuat dan memperbarui pipeline. SageMaker Repositori ini juga memiliki contoh notebook Python yang dapat Anda buka dan jalankan di Studio (atau Studio Classic).

  • AWS CodePipeline Pipeline yang memiliki sumber dan langkah build. Langkah sumber menunjuk ke CodeCommit repositori. Langkah build mendapatkan kode dari repositori itu, membuat dan memperbarui SageMaker pipeline, memulai eksekusi pipeline, dan menunggu eksekusi pipeline selesai.

  • Bucket Amazon S3 untuk menyimpan artefak, termasuk CodePipeline dan artefak, dan CodeBuild artefak apa pun yang dihasilkan dari pipa berjalan. SageMaker

Diagram berikut menggambarkan alur kerja dan AWS sumber daya yang digunakan oleh template ini untuk membantu Anda membangun dan melatih model Anda.

Alur kerja pipa dibangun menggunakan template proyek untuk pembuatan model dan pelatihan.
MLOpstemplate untuk penerapan model

Gunakan template ini untuk mengotomatiskan penerapan model dalam registri SageMaker model ke SageMaker titik akhir untuk inferensi real-time. Template ini mengenali perubahan dalam registri model. Ketika versi model baru terdaftar dan disetujui, secara otomatis memulai penerapan.

Template menyediakan CodeCommit repositori dengan file konfigurasi untuk menentukan langkah penerapan model, AWS CloudFormation template untuk mendefinisikan titik akhir sebagai infrastruktur, dan kode benih untuk menguji titik akhir.

Template ini menyediakan sumber daya berikut:

  • AWS CodeCommit Repositori yang berisi kode sampel yang menyebarkan model ke titik akhir di lingkungan pementasan dan produksi.

  • AWS CodePipeline Pipeline yang memiliki sumber, build deploy-to-staging, dan deploy-to-production langkah-langkah. Langkah sumber menunjuk ke CodeCommit repositori, dan langkah build mendapatkan kode dari repositori itu dan menghasilkan CloudFormation tumpukan untuk diterapkan. deploy-to-production Langkah-langkah deploy-to-staging dan menyebarkan CloudFormation tumpukan ke lingkungan masing-masing. Ada langkah persetujuan manual antara langkah pementasan dan pembuatan produksi, sehingga seorang MLOps insinyur harus menyetujui model sebelum dikerahkan ke produksi.

    Ada juga langkah persetujuan terprogram dengan tes placeholder dalam kode contoh di repositori. CodeCommit Anda dapat menambahkan tes tambahan untuk mengganti tes placeholder.

  • Bucket Amazon S3 untuk menyimpan artefak, termasuk CodePipeline dan artefak, dan CodeBuild artefak apa pun yang dihasilkan dari pipa berjalan. SageMaker

  • CloudWatch Peristiwa untuk memulai pipeline saat versi paket model disetujui atau ditolak.

Diagram berikut mengilustrasikan alur kerja dan AWS sumber daya yang digunakan oleh template ini untuk membantu Anda menerapkan model Anda.

Alur kerja pipeline dibangun menggunakan template proyek untuk penerapan model.

Seperti disebutkan sebelumnya, lihat Project Walkthrough untuk demonstrasi yang menggunakan template ini untuk membuat proyek nyata.

MLOpstemplate untuk pembuatan model, pelatihan, penyebaran, dan Amazon SageMaker Model Monitor

Template ini merupakan perpanjangan dari MLOps template untuk pembuatan model, pelatihan, dan penyebaran. Ini mencakup komponen pembuatan model, pelatihan, dan penerapan template, dan template Amazon SageMaker Model Monitor tambahan yang menyediakan jenis pemantauan berikut:

  • Repositori kode: AWS CodeCommit

  • Otomatisasi alur kerja CI/CD: AWS CodePipeline

MLOpstemplate untuk Amazon SageMaker Model Monitor

Anda dapat menggunakan template ini sebagai MLOps solusi untuk menerapkan satu atau beberapa monitor kualitas SageMaker data Amazon, kualitas model, bias model, dan model yang dapat dijelaskan untuk memantau model yang diterapkan pada titik akhir inferensi. SageMaker

Template ini menyediakan sumber daya berikut:

  • AWS CodeCommit Repositori yang berisi contoh kode Python yang mendapatkan garis dasar yang digunakan oleh monitor dari Registry SageMaker Model, dan memperbarui parameter template untuk lingkungan pementasan dan produksi. Ini juga berisi AWS CloudFormation template untuk membuat Monitor SageMaker Model Amazon.

  • AWS CodePipeline Pipeline yang memiliki langkah sumber, pembuatan, dan penerapan. Langkah sumber menunjuk ke CodePipeline repositori. Langkah build mendapatkan kode dari repositori itu, mendapatkan baseline dari Model Registry, dan memperbarui parameter template untuk lingkungan pementasan dan produksi. Langkah-langkah penerapan menyebarkan monitor yang dikonfigurasi ke dalam lingkungan pementasan dan produksi. Langkah persetujuan manual, dalam DeployStaging tahap, mengharuskan Anda untuk memverifikasi bahwa SageMaker titik akhir produksi InService sebelum menyetujui dan pindah ke tahap. DeployProd

  • Template menggunakan bucket S3 yang sama yang dibuat oleh MLOps template untuk pembuatan model, pelatihan, dan penerapan untuk menyimpan output monitor.

  • Dua aturan EventBridge peristiwa Amazon memulai Monitor SageMaker Model Amazon AWS CodePipeline setiap kali SageMaker titik akhir pementasan diperbarui, atau perubahan kode dilakukan ke repositori. CodePipeline

MLOpstemplate untuk pembuatan gambar, pembuatan model, dan penerapan model

Template ini merupakan perpanjangan dariMLOpstemplate untuk pembuatan model, pelatihan, dan penyebaran. Ini mencakup komponen pembuatan model, pelatihan, dan penerapan templat itu dan opsi berikut:

  • Sertakan pemrosesan gambar—membangun pipa

  • Sertakan gambar pelatihan—membangun pipa

  • Sertakan gambar inferensi — membangun pipa

Untuk setiap komponen yang dipilih selama pembuatan proyek, berikut ini dibuat dengan menggunakan template:

  • ECRRepositori Amazon

  • Sebuah SageMaker Gambar

  • CodeCommit Repositori yang berisi Dockerfile yang dapat Anda sesuaikan

  • A CodePipeline yang diprakarsai oleh perubahan pada repositori CodePipeline

  • CodeBuild Proyek yang membangun image Docker dan mendaftarkannya di repositori Amazon ECR

  • EventBridge Aturan yang memulai CodePipeline jadwal

Ketika dimulai, ia membangun wadah Docker baru dan mendaftarkannya dengan repositori Amazon. CodePipeline ECR Ketika wadah baru terdaftar dengan ECR repositori Amazon, yang baru ImageVersion ditambahkan ke gambar. SageMaker Ini memulai pipa pembangunan model, yang pada gilirannya memulai pipa penyebaran.

Gambar yang baru dibuat digunakan di bagian pembuatan model, pelatihan, dan penerapan alur kerja jika berlaku.

MLOpstemplate untuk pembuatan model, pelatihan, dan penerapan dengan repositori Git pihak ketiga menggunakan CodePipeline

  • Repositori kode: Git Pihak Ketiga. Buat AWS CodeStar koneksi dari AWS akun Anda ke GitHub pengguna atau organisasi Anda. Tambahkan tag dengan kunci sagemaker dan nilai true ke AWS CodeStar koneksi ini.

  • Otomatisasi alur kerja CI/CD: AWS CodePipeline

Template ini menyediakan sumber daya berikut:

  • Asosiasi dengan satu atau lebih repositori Git yang ditentukan pelanggan.

  • AWS CodePipeline Pipeline yang memiliki sumber, build deploy-to-staging, dan deploy-to-production langkah-langkah. Langkah sumber menunjuk ke repositori Git pihak ketiga dan langkah build mendapatkan kode dari repositori itu dan menghasilkan CloudFormation tumpukan untuk diterapkan. deploy-to-production Langkah-langkah deploy-to-staging dan menyebarkan CloudFormation tumpukan ke lingkungan masing-masing. Ada langkah persetujuan manual antara langkah pementasan dan pembuatan produksi, sehingga seorang MLOps insinyur harus menyetujui model sebelum dikerahkan ke produksi.

  • Sebuah AWS CodeBuild proyek untuk mengisi repositori Git dengan informasi kode benih. Ini memerlukan AWS CodeStar koneksi dari AWS akun Anda ke akun Anda di host repositori Git.

  • Bucket Amazon S3 untuk menyimpan artefak, termasuk CodePipeline dan artefak, dan CodeBuild artefak apa pun yang dihasilkan dari pipa berjalan. SageMaker

Seperti disebutkan sebelumnya, lihat Panduan Proyek Menggunakan Repo Git Pihak Ketiga untuk demonstrasi yang menggunakan template ini untuk membuat proyek nyata.

MLOpstemplate untuk pembuatan model, pelatihan, dan penerapan dengan repositori Git pihak ketiga menggunakan Jenkins

  • Repositori kode: Git Pihak Ketiga. Buat AWS CodeStar koneksi dari AWS akun Anda ke GitHub pengguna atau organisasi Anda. Tambahkan tag dengan kunci sagemaker dan nilai true ke AWS CodeStar koneksi ini.

  • Otomatisasi alur kerja CI/CD: Jenkins

Template ini menyediakan sumber daya berikut:

  • Asosiasi dengan satu atau lebih repositori Git yang ditentukan pelanggan.

  • Seed code untuk menghasilkan pipeline Jenkins yang memiliki sumber, build deploy-to-staging, dan deploy-to-production langkah-langkah. Langkah sumber menunjuk ke repositori Git yang ditentukan pelanggan. Langkah build mendapatkan kode dari repositori itu dan menghasilkan dua CloudFormation tumpukan. Langkah-langkah penerapan menyebarkan CloudFormation tumpukan ke lingkungan masing-masing. Ada langkah persetujuan antara langkah pementasan dan langkah produksi.

  • Sebuah AWS CodeBuild proyek untuk mengisi repositori Git dengan informasi kode benih. Ini memerlukan AWS CodeStar koneksi dari AWS akun Anda ke akun Anda di host repositori Git.

  • Bucket Amazon S3 untuk menyimpan artefak SageMaker proyek dan pipa. SageMaker

Template menciptakan hubungan antara proyek Anda dan repositori kontrol sumber, tetapi Anda perlu melakukan langkah-langkah manual tambahan untuk membangun komunikasi antara AWS akun Anda dan Jenkins. Untuk langkah-langkah mendetail, lihat Membuat SageMaker proyek Amazon menggunakan kontrol sumber pihak ketiga dan Jenkins.

Instruksi membantu Anda membangun arsitektur yang ditunjukkan dalam diagram berikut, dengan GitHub sebagai repositori kontrol sumber dalam contoh ini. Seperti yang ditunjukkan, Anda melampirkan repositori Git Anda ke proyek untuk memeriksa dan mengelola versi kode. Jenkins memulai pipeline build model ketika mendeteksi perubahan pada kode build model di repositori Git. Anda juga menghubungkan proyek ke Jenkins untuk mengatur langkah-langkah penerapan model Anda, yang dimulai saat Anda menyetujui model yang terdaftar di registri model, atau ketika Jenkins mendeteksi perubahan pada kode penerapan model.

Alur kerja pipa dibangun menggunakan template proyek.

Singkatnya, langkah-langkah memandu Anda melalui tugas-tugas berikut:

  1. Buat hubungan antara akun Anda AWS dan GitHub akun.

  2. Buat akun Jenkins dan impor plugin yang diperlukan.

  3. Buat kebijakan IAM pengguna dan izin Jenkins.

  4. Tetapkan AWS kredensil untuk IAM pengguna Jenkins di server Jenkins Anda.

  5. Buat API token untuk komunikasi dengan server Jenkins Anda.

  6. Gunakan CloudFormation templat untuk menyiapkan EventBridge aturan guna memantau registri model untuk model yang baru disetujui.

  7. Buat SageMaker proyek, yang menyemai GitHub repositori Anda dengan model build dan deploy code.

  8. Buat pipeline build model Jenkins Anda dengan kode benih model build.

  9. Buat pipeline penerapan model Jenkins Anda dengan kode benih penerapan model.

Penyebaran model untuk Salesforce

  • Repositori kode: AWS CodeCommit

  • Otomatisasi alur kerja CI/CD: AWS CodePipeline

Template ini menyediakan sumber daya berikut:

  • AWS CodeCommit Repositori yang berisi kode sampel yang membuat SageMaker pipeline Amazon dalam kode Python dan menunjukkan cara membuat dan memperbarui pipeline. Repositori ini juga memiliki Notebook Python Jupyter yang dapat Anda buka dan jalankan di Studio (atau Studio Classic).

  • AWS CodePipeline Pipeline yang memiliki sumber dan langkah build. Langkah sumber menunjuk ke CodeCommit repositori. Langkah build mendapatkan kode dari repositori, membuat dan memperbarui SageMaker pipeline, memulai proses pipeline, dan menunggu pipeline berjalan selesai.

  • Bucket Amazon S3 untuk menyimpan artefak, termasuk CodePipeline dan artefak, dan CodeBuild artefak apa pun yang dihasilkan dari pipa berjalan. SageMaker

Admin Anda mungkin perlu melakukan penyiapan tambahan untuk mengaktifkan akses data dari Salesforce Data Cloud ke SageMaker Studio untuk membangun model AI/ML. Lihat ikhtisar solusi di posting blog Gunakan integrasi Amazon SageMaker dan Salesforce Data Cloud untuk memberi daya pada aplikasi Salesforce Anda dengan AI/HTML untuk informasi dan instruksi terperinci.

Diagram berikut menggambarkan alur kerja tingkat tinggi yang digunakan oleh template ini untuk membantu Anda membangun dan melatih model Anda. Setelah menyiapkan sambungan antara Salesforce Data Cloud ke Data Wrangler dan pra-proses data Anda, gunakan templat proyek penerapan Model untuk Salesforce untuk mengotomatiskan pelatihan dan penerapan model. Template menyediakan kode penerapan model yang dapat disesuaikan dan notebook contoh AWS CodePipeline untuk melatih model Anda dan mendaftarkannya ke registri model. SageMaker Setelah Anda menyetujui model, titik akhir diekspos ke Salesforce sebagai API melalui API Gateway, dan pelanggan dapat mulai membuat prediksi dengan model yang diterapkan dari dalam Salesforce.

catatan

Template ini mengizinkan kebijakan Transport Layer Security (TLS) versi 1.0 dan 1.1 untuk penyiapan API Gateway. Anda dapat membuat konfigurasi ini lebih aman dengan nama domain khusus. Untuk detailnya, lihat Menyiapkan nama domain khusus untuk REST APIs.

Diagram sederhana dari langkah-langkah yang digunakan oleh template proyek Salesforce.

Posting blog Gunakan integrasi Amazon SageMaker dan Salesforce Data Cloud untuk memberi daya pada aplikasi Salesforce Anda dengan AI/ML memberikan petunjuk terperinci untuk memandu Anda melalui langkah-langkah berikut:

  1. Pilih templat proyek Penyebaran model untuk Salesforce, dan berikan nama manajer rahasia.

  2. Kloning repositori untuk menggunakan notebook sampel yang SageMaker disediakan dan kode penerapan model yang dapat disesuaikan.

  3. Pra-proses data Anda dengan Data Wrangler.

    1. Buat koneksi ke Salesforce Data Cloud dan impor data ke Data Wrangler.

    2. Gunakan Data Wrangler untuk menyiapkan data dengan beberapa contoh transformasi.

    3. Memulai pekerjaan pemrosesan untuk memproses data menggunakan konfigurasi Data Wrangler Anda.

  4. Latih modelnya.

  5. Daftarkan model Anda di registri model.

  6. Menyetujui model Anda di registri model.

  7. Lihat titik akhir Anda di SageMaker konsol.

  8. Minta API URL dari Salesforce Einstein Studio untuk mendaftar dan menggunakan kesimpulan model di Einstein Studio.

Diagram berikut menunjukkan secara lebih rinci alur kerja dan AWS sumber daya yang digunakan oleh template SageMaker proyek dengan Salesforce Data Cloud Integration.

Diagram langkah-langkah dan sumber daya yang digunakan oleh template proyek Salesforce.

Perbarui SageMaker Proyek untuk Menggunakan Repositori Git Pihak Ketiga

Kebijakan terkelola yang dilampirkan pada AmazonSageMakerServiceCatalogProductsUseRole peran diperbarui pada 27 Juli 2021 untuk digunakan dengan templat Git pihak ketiga. Pengguna yang onboard ke Amazon SageMaker Studio (atau Studio Classic) setelah tanggal ini dan mengaktifkan templat proyek menggunakan kebijakan baru. Pengguna yang melakukan onboard sebelum tanggal ini harus memperbarui kebijakan untuk menggunakan templat ini. Gunakan salah satu opsi berikut untuk memperbarui kebijakan:

  • Hapus peran dan alihkan pengaturan Studio (atau Studio Classic)

    1. Di IAM konsol, hapusAmazonSageMakerServiceCatalogProductsUseRole.

    2. Di panel kontrol Studio (atau Studio Classic), pilih Edit Pengaturan.

    3. Alihkan kedua pengaturan lalu pilih Kirim.

  • Di IAM konsol, tambahkan izin berikut keAmazonSageMakerServiceCatalogProductsUseRole:

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/sagemaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::sagemaker-*" ] }