Saat ini, banyak pelanggan AWS membangun platform machine learning (ML) yang siap untuk perusahaan Layanan Amazon Elastic Kubernetes (Amazon EKS) menggunakan Kubeflow di AWS (distribusi Kubeflow khusus AWS) di banyak kasus penggunaan, termasuk visi komputer, pemahaman bahasa alami, terjemahan ucapan, dan pemodelan keuangan.
Dengan rilis terbaru dari open-source Kubeflow v1.6.1, komunitas Kubeflow terus mendukung adopsi Kubeflow skala besar ini untuk kasus penggunaan perusahaan. Rilis terbaru mencakup banyak fitur baru yang menarik seperti dukungan untuk Kubernetes v1.22, gabungan Python SDK untuk PyTorch, MXNet, MPI, XGBoost di Operator Pelatihan terdistribusi Kubeflow, ClusterServingRuntime baru dan ServingRuntime CRD untuk layanan model, dan banyak lagi.
Kontribusi AWS untuk Kubeflow dengan peluncuran Kubeflow baru-baru ini di AWS 1.6.1 mendukung semua fitur Kubeflow sumber terbuka upstream dan menyertakan banyak integrasi baru dengan layanan AWS yang sangat dioptimalkan, cloud-native, dan siap untuk perusahaan yang akan membantu Anda membangun dengan sangat andal, sistem ML yang aman, portabel, dan dapat diskalakan.
Dalam postingan ini, kami membahas fitur Kubeflow baru di AWS v1.6.1 dan menyoroti tiga integrasi penting yang telah dipaketkan pada satu platform untuk ditawarkan kepada Anda::
- Solusi satu-klik Infrastruktur sebagai Kode (IaaC) yang mengotomatiskan instalasi Kubeflow end-to-end, termasuk pembuatan cluster EKS
- Dukungan untuk pelatihan yang didistribusikan Amazon SageMaker menggunakan Operator Amazon SageMaker untuk Kubernetes (AK) dan Komponen SageMaker untuk pipeline Kubeflow dan secara lokal menggunakan Kubernetes Operator Pelatihan Kubeflow. Banyak pelanggan menggunakan kemampuan ini untuk membangun arsitektur pembelajaran mesin hybrid dengan memanfaatkan komputasi Kubernetes untuk fase eksperimen dan SageMaker untuk menjalankan beban kerja skala produksi.
- Peningkatan pemantauan dan pengamatan untuk beban kerja ML termasuk Amazon EKS, metrik Kubeflow, dan log aplikasi menggunakan Prometheus, Grafana, dan amazoncloudwatch integrasi
Kasus penggunaan di blog ini secara khusus akan berfokus pada integrasi SageMaker dengan Kubeflow di AWS yang dapat ditambahkan ke alur kerja Kubernetes Anda yang sudah ada sehingga memungkinkan Anda membangun arsitektur pembelajaran mesin hybrid.
Kubeflow di AWS
Kubeflow di AWS 1.6.1 menyediakan jalur yang jelas untuk menggunakan Kubeflow, dengan penambahan layanan AWS berikut di atas kemampuan yang sudah ada:
- Integrasi SageMaker dengan Kubeflow untuk menjalankan alur kerja hybrid ML menggunakan SageMaker Operators for Kubernetes (ACK) dan SageMaker Components untuk Kubeflow Pipelines.
- Opsi penyebaran otomatis telah ditingkatkan dan disederhanakan menggunakan skrip Kustomisasi dan bagan Helm.
- Menambahkan dukungan untuk penerapan sekali klik Infrastruktur sebagai Kode (IaC) untuk Kubeflow di AWS menggunakan Terraform untuk semua yang tersedia opsi penempatan. Skrip ini mengotomatiskan pembuatan sumber daya AWS berikut:
- Dukungan untuk Tautan Pribadi AWS untuk Amazon S3 memungkinkan pengguna Wilayah non-komersial untuk terhubung ke titik akhir S3 masing-masing.
- Menambahkan integrasi dengan Layanan Terkelola Amazon untuk Prometheus (AMP) dan Grafana yang Dikelola Amazon untuk memantau metrik dengan Kubeflow di AWS.
- Kontainer server notebook Kubeflow diperbarui dengan gambar kontainer pembelajaran mendalam terbaru berdasarkan TensorFlow 2.10.0 dan PyTorch 1.12.1.
- Integrasi dengan AWS DLC untuk dijalankan secara terdistribusi latihan dan kesimpulan beban kerja.
Diagram arsitektur berikut adalah snapshot cepat dari semua integrasi layanan (termasuk yang telah disebutkan) yang tersedia untuk kontrol Kubeflow dan komponen bidang data di Kubeflow di AWS. Bidang kontrol Kubeflow dipasang di atas Amazon EKS, yang merupakan layanan kontainer terkelola yang digunakan untuk menjalankan dan menskalakan aplikasi Kubernetes di cloud. Integrasi layanan AWS ini memungkinkan Anda memisahkan bagian-bagian penting bidang kontrol Kubeflow dari Kubernetes, menyediakan desain yang aman, dapat diskalakan, tangguh, dan hemat biaya. Untuk detail lebih lanjut tentang nilai yang ditambahkan oleh integrasi layanan ini melalui Kubeflow sumber terbuka, lihat Bangun dan terapkan sistem pembelajaran mesin yang skalabel di Kubernetes dengan Kubeflow di AWS.
Mari kita bahas lebih detail tentang bagaimana fitur utama Kubeflow di AWS 1.6.1 dapat membantu organisasi Anda.
Detail fitur Kubeflow di AWS
Dengan rilis Kubeflow 1.6.1, kami mencoba menyediakan alat yang lebih baik untuk berbagai jenis pelanggan yang memudahkan untuk memulai dengan Kubeflow apa pun opsi yang Anda pilih. Alat-alat ini memberikan titik awal yang baik dan dapat dimodifikasi agar sesuai dengan kebutuhan Anda.
Opsi penempatan
Kami menyediakan opsi penerapan yang berbeda untuk kasus penggunaan pelanggan yang berbeda. Di sini Anda dapat memilih layanan AWS mana yang ingin Anda integrasikan dengan penerapan Kubeflow Anda. Jika Anda memutuskan untuk mengubah opsi penerapan di lain waktu, sebaiknya lakukan penginstalan baru untuk penerapan baru. Opsi penyebaran berikut tersedia:
Jika Anda ingin menerapkan Kubeflow dengan sedikit perubahan, pertimbangkan vanila opsi penerapan. Semua opsi penerapan yang tersedia dapat diinstal menggunakan Kustomize, Helm, atau Terraform.
Kami juga memiliki penerapan add-on berbeda yang dapat dipasang di atas salah satu opsi penerapan ini:
Opsi pemasangan
Setelah Anda memutuskan opsi penerapan mana yang paling sesuai dengan kebutuhan Anda, Anda dapat memilih bagaimana Anda ingin menginstal penerapan ini. Dalam upaya untuk melayani para ahli dan pendatang baru, kami memiliki tingkat otomatisasi dan konfigurasi yang berbeda.
Opsi 1: Terraform (IaC)
Ini membuat klaster EKS dan semua sumber daya infrastruktur AWS terkait, lalu menerapkan semua Kubeflow dalam satu perintah menggunakan Terraform. Secara internal, ini menggunakan cetak biru EKS dan grafik Helm.
Opsi ini memiliki keuntungan sebagai berikut:
- Ini memberikan fleksibilitas kepada perusahaan untuk menerapkan Amazon EKS dan Kubeflow dengan satu perintah tanpa harus mengkhawatirkan konfigurasi komponen Kubeflow tertentu. Ini akan sangat membantu mempercepat evaluasi teknologi, pembuatan prototipe, dan siklus hidup pengembangan produk yang memberikan fleksibilitas untuk menggunakan modul terraform dan memodifikasinya untuk memenuhi kebutuhan spesifik proyek apa pun.
- Banyak organisasi saat ini yang menjadikan Terraform sebagai pusat strategi cloud mereka sekarang dapat menggunakan Kubeflow pada solusi AWS Terraform untuk memenuhi sasaran cloud mereka.
Opsi 2: Sesuaikan atau Bagan Helm:
Opsi ini memungkinkan Anda menerapkan Kubeflow dalam proses dua langkah:
- Buat sumber daya AWS seperti Amazon EKS, Amazon RDS, Amazon S3, dan Amazon Cognito, baik melalui skrip otomatis yang disertakan dalam distribusi AWS atau mengikuti a langkah-demi-langkah panduan.
- Instal penerapan Kubeflow menggunakan diagram Helm atau Kustomisasi.
Opsi ini memiliki keuntungan sebagai berikut:
- Tujuan utama dari opsi instalasi ini adalah untuk menyediakan konfigurasi Kubernetes terkait Kubeflow. Oleh karena itu, Anda dapat memilih untuk membuat atau memasukkan klaster EKS yang ada atau sumber daya AWS terkait lainnya seperti Amazon RDS, Amazon S3, dan Amazon Cognito, serta mengonfigurasi dan mengelolanya agar berfungsi dengan Kubeflow di AWS.
- Lebih mudah untuk berpindah dari manifes Kustomize Kubeflow sumber terbuka ke distribusi AWS Kubeflow.
Diagram berikut mengilustrasikan arsitektur dari kedua opsi.
Integrasi dengan SageMaker
SageMaker adalah layanan terkelola sepenuhnya yang dirancang dan dioptimalkan khusus untuk mengelola alur kerja ML. Ini menghilangkan beban berat manajemen infrastruktur yang tidak dapat dibedakan dan menghilangkan kebutuhan untuk berinvestasi di TI dan DevOps untuk mengelola klaster untuk pembangunan, pelatihan, dan inferensi model ML.
Banyak pelanggan AWS yang memiliki persyaratan portabilitas atau pembatasan standar lokal menggunakan Amazon EKS untuk menyiapkan pipeline ML berulang yang menjalankan pelatihan dan beban kerja inferensi. Namun, hal ini mengharuskan pengembang untuk menulis kode khusus guna mengoptimalkan infrastruktur ML yang mendasarinya, memberikan ketersediaan dan keandalan yang tinggi, serta mematuhi persyaratan keamanan dan peraturan yang sesuai. Oleh karena itu, pelanggan ini ingin menggunakan SageMaker untuk infrastruktur terkelola dan dioptimalkan biaya untuk pelatihan model dan penerapan serta terus menggunakan Kubernetes untuk orkestrasi dan pipeline ML guna mempertahankan standarisasi dan portabilitas.
Untuk mengatasi kebutuhan ini, AWS memungkinkan Anda untuk melatih, menyetel, dan menerapkan model di SageMaker dari Amazon EKS dengan menggunakan dua opsi berikut:
- Operator ACK Amazon SageMaker untuk Kubernetes, yang didasarkan pada Pengontrol AWS untuk Kubernetes (ACK) kerangka kerja. ACK adalah strategi AWS yang menghadirkan standarisasi untuk membangun pengontrol kustom Kubernetes yang memungkinkan pengguna Kubernetes menyediakan sumber daya AWS seperti database atau antrean pesan hanya dengan menggunakan API Kubernetes. Operator ACK SageMaker memudahkan pengembang ML dan ilmuwan data yang menggunakan Kubernetes sebagai bidang kontrol mereka untuk melatih, menyetel, dan menerapkan model ML di SageMaker tanpa masuk ke konsol SageMaker.
- Grafik Komponen SageMaker untuk Pipeline Kubeflow, yang memungkinkan Anda mengintegrasikan SageMaker dengan portabilitas dan orkestrasi Kubeflow Pipelines. Dengan komponen SageMaker, setiap tugas dalam alur kerja pipeline berjalan di SageMaker, bukan di kluster Kubernetes lokal. Hal ini memungkinkan Anda untuk membuat dan memantau pelatihan SageMaker asli, penyetelan, penerapan titik akhir, dan tugas transformasi batch dari Kubeflow Pipelines sehingga memungkinkan Anda untuk memindahkan komputasi lengkap termasuk pemrosesan data dan tugas pelatihan dari kluster Kubernetes ke layanan terkelola yang dioptimalkan pembelajaran mesin SageMaker.
Dimulai dengan Kubeflow di AWS v1.6.1, semua opsi penerapan Kubeflow yang tersedia menyatukan kedua opsi integrasi Amazon SageMaker secara default pada satu platform. Artinya, Anda sekarang dapat mengirimkan pekerjaan SageMaker menggunakan operator ACK SageMaker dari server Kubeflow Notebook itu sendiri dengan mengirimkan sumber daya SageMaker kustom atau dari langkah pipeline Kubeflow menggunakan komponen SageMaker.
Ada dua versi Komponen SageMaker โ bot3 (AWS SDK untuk AWS SDK untuk Python) berbasis komponen versi 1 dan komponen versi 8 berbasis SageMaker Operator for K2s (ACK). Komponen SageMaker baru versi 2 mendukung api pelatihan SageMaker terbaru dan kami akan terus menambahkan lebih banyak fitur SageMaker ke versi komponen ini. Namun, Anda memiliki fleksibilitas untuk menggabungkan komponen Sagemaker versi 2 untuk pelatihan dan versi 1 untuk fitur SageMaker lainnya seperti penyetelan hyperparameter, tugas pemrosesan, hosting, dan banyak lagi.
Integrasi dengan Prometheus dan Grafana
Prometheus adalah alat agregasi metrik sumber terbuka yang dapat Anda konfigurasikan untuk dijalankan di kluster Kubernetes. Saat berjalan di kluster Kubernetes, server utama Prometheus secara berkala menghapus titik akhir pod.
Komponen Kubeflow, seperti Kubeflow Pipelines (KFP) dan Notebook, mengeluarkan metrik Prometheus untuk memungkinkan pemantauan sumber daya komponen seperti jumlah eksperimen yang berjalan atau jumlah notebook.
Metrik ini dapat digabungkan oleh server Prometheus yang berjalan di kluster Kubernetes dan dikueri menggunakan Prometheus Query Language (PromQL). Untuk detail lebih lanjut tentang fitur yang didukung Prometheus, lihat dokumentasi Prometheus.
Distribusi Kubeflow on AWS menyediakan dukungan untuk integrasi dengan layanan terkelola AWS berikut:
- Amazon Managed Prometheus (AMP) yaitu a Prometheus-layanan pemantauan yang kompatibel untuk infrastruktur kontainer dan metrik aplikasi untuk kontainer yang memudahkan pelanggan untuk memantau lingkungan kontainer dalam skala besar dengan aman. Dengan menggunakan AMP, Anda dapat memvisualisasikan, menganalisis, dan memberi peringatan pada metrik, log, dan pelacakan yang dikumpulkan dari berbagai sumber data di sistem keteramatan Anda, termasuk AWS, ISV pihak ketiga, dan sumber daya lainnya di seluruh portofolio TI Anda.
- Amazon Managed Grafana, layanan visualisasi data yang dikelola sepenuhnya dan aman berdasarkan sumber terbuka grafana proyek, yang memungkinkan pelanggan untuk langsung membuat kueri, menghubungkan, dan memvisualisasikan metrik operasional, log, dan pelacakan untuk aplikasi mereka dari berbagai sumber data. Amazon Managed Grafana membongkar manajemen operasional Grafana dengan secara otomatis menskalakan komputasi dan infrastruktur database seiring meningkatnya permintaan penggunaan, dengan pembaruan versi otomatis dan patching keamanan.
Distribusi Kubeflow di AWS memberikan dukungan untuk integrasi Amazon Managed Service for Prometheus dan Amazon Managed Grafana untuk memfasilitasi penyerapan dan visualisasi metrik Prometheus secara aman dalam skala besar.
Metrik berikut diserap dan dapat divisualisasikan:
- Metrik yang dikeluarkan dari komponen Kubeflow seperti Kubeflow Pipelines dan server Notebook
- kubeflow metrik bidang kontrol
Untuk mengonfigurasi Amazon Managed Service for Prometheus dan Amazon Managed Grafana untuk klaster Kubeflow Anda, lihat Gunakan Prometheus, Amazon Managed Service for Prometheus, dan Amazon Managed Grafana untuk memantau metrik dengan Kubeflow di AWS.
Ikhtisar solusi
Dalam kasus penggunaan ini, kami menggunakan Kubeflow vanilla deployment menggunakan opsi instalasi Terraform. Saat instalasi selesai, kami masuk ke dasbor Kubeflow. Dari dasbor, kami mengaktifkan server notebook Kubeflow Jupyter untuk membuat pipeline Kubeflow yang menggunakan SageMaker untuk menjalankan pelatihan terdistribusi untuk model klasifikasi gambar dan titik akhir SageMaker untuk penerapan model.
Prasyarat
Pastikan Anda memenuhi prasyarat berikut:
- Anda punya Akun AWS.
- Pastikan Anda berada di
us-west-2
Wilayah untuk menjalankan contoh ini. - Gunakan Google Chrome untuk berinteraksi dengan Konsol Manajemen AWS dan Kubeflow.
- Pastikan akun Anda memiliki batas jenis sumber daya Pelatihan SageMaker untuk ml.p3.2xlarge yang ditingkatkan menjadi 2 menggunakan konsol Service Quotas.
- Secara opsional, Anda dapat menggunakan AWS Cloud9, lingkungan pengembangan terintegrasi (IDE) berbasis cloud yang memungkinkan menyelesaikan semua pekerjaan dari browser web Anda. Untuk petunjuk pengaturan, lihat Siapkan Cloud9 IDE. Pilih Ubuntu Server 18.04 sebagai platform di pengaturan AWS Cloud9.Kemudian dari lingkungan AWS Cloud9 Anda, pilih tanda tambah dan buka terminal baru.
Anda juga mengonfigurasi file Antarmuka Baris Perintah AWS (AWS CLI) profil. Untuk melakukannya, Anda memerlukan ID kunci akses dan kunci akses rahasia dari suatu Identitas AWS dan Manajemen Akses (IAM) pemakai akun dengan hak administratif (lampirkan kebijakan terkelola yang ada) dan akses terprogram. Lihat kode berikut:
Verifikasi izin yang akan digunakan cloud9 untuk memanggil sumber daya AWS.
Verifikasi dari output di bawah ini bahwa Anda melihat pengguna admin yang telah Anda konfigurasikan di profil AWS CLI. Dalam contoh ini adalah "kubeflow-user"
Instal Amazon EKS dan Kubeflow di AWS
Untuk menginstal Amazon EKS dan Kubeflow di AWS, selesaikan langkah-langkah berikut:
- Siapkan lingkungan Anda untuk menerapkan Kubeflow di AWS:
- Terapkan Kubeflow versi vanilla di AWS dan sumber daya AWS terkait seperti EKS menggunakan Terraform. Harap perhatikan bahwa volume EBS yang digunakan dalam grup node EKS tidak dienkripsi secara default:
Siapkan Izin Kubeflow
- Menambahkan izin ke pod Notebook dan pod komponen Pipeline untuk membuat panggilan api SageMaker, S3, dan IAM menggunakan
kubeflow_iam_permissions.sh
Script. - Buat peran eksekusi SageMaker untuk mengaktifkan tugas pelatihan SageMaker untuk mengakses dataset pelatihan dari layanan S3 menggunakan
sagemaker_role.sh
Script.
Akses dasbor Kubeflow
Untuk mengakses dasbor Kubeflow, selesaikan langkah-langkah berikut:
- Anda dapat menjalankan dasbor Kubeflow secara lokal di lingkungan Cloud9 tanpa memaparkan URL Anda ke internet publik dengan menjalankan perintah di bawah ini.
- Pilih Pratinjau Aplikasi yang Berjalan.
- Pilih ikon di pojok dasbor Kubeflow untuk membukanya sebagai tab terpisah di Chrome.
- Masukkan kredensial default (
user@example.com/12341234
) untuk masuk ke dasbor Kubeflow.
Siapkan Kubeflow di lingkungan AWS
Setelah Anda masuk ke dasbor Kubeflow, pastikan Anda memiliki namespace yang tepat (kubeflow-user-example-com
) terpilih. Selesaikan langkah-langkah berikut untuk menyiapkan Kubeflow Anda di lingkungan AWS:
- Di dasbor Kubeflow, pilih notebook di panel navigasi.
- Pilih Notebook Baru.
- Untuk Nama, Masuk
aws-nb
. - Untuk Gambar Docket Jupyter, pilih gambar
jupyter-pytorch:1.12.0-cpu-py38-ubuntu20.04-ec2-2022-09-20
(terbaru tersediajupyter-pytorch
gambar DLC). - Untuk CPU, Masuk
1
. - Untuk Memori, Masuk
5
. - Untuk GPU, tinggalkan sebagai None.
- Jangan membuat perubahan apa pun pada ruang kerja dan Volume Data bagian.
- Pilih Izinkan akses ke Kubeflow Pipeline dalam Konfigurasi bagian dan Pilih Luncurkan.
- Pastikan buku catatan Anda berhasil dibuat (mungkin perlu beberapa menit).
- Pilih Terhubung untuk masuk ke JupyterLab.
- Kloning repo dengan memasukkan
https://github.com/aws-samples/eks-kubeflow-cloudformation-quick-start.git
dalam Mengkloning repo lapangan. - Pilih Klon.
Jalankan contoh pelatihan terdistribusi
Setelah Anda mengatur notebook Jupyter, Anda dapat menjalankan seluruh demo menggunakan langkah-langkah tingkat tinggi berikut dari folder eks-kubeflow-cloudformation-quick-start/workshop/pytorch-distributed-training
di repositori kloning:
- Jalankan skrip pelatihan PyTorch Distributed Data Parallel (DDP). โ Lihat skrip pelatihan PyTorch DDP
cifar10-distributed-gpu-final.py
, yang menyertakan sampel jaringan neural konvolusional dan logika untuk mendistribusikan pelatihan pada CPU multi-node dan klaster GPU. - Buat pipa Kubeflow โ Jalankan buku catatan
STEP1.0_create_pipeline_k8s_sagemaker.ipynb
untuk membuat pipeline yang menjalankan dan menerapkan model di SageMaker. Pastikan Anda menginstal pustaka SageMaker sebagai bagian dari sel notebook pertama dan memulai ulang kernel sebelum Anda menjalankan sel notebook lainnya. - Panggil titik akhir SageMaker โ Jalankan buku catatan
STEP1.1_invoke_sagemaker_endpoint.ipynb
untuk memanggil dan menguji titik akhir inferensi model SageMaker yang dibuat di notebook sebelumnya.
Pada bagian selanjutnya, kami membahas masing-masing langkah ini secara rinci.
Jalankan skrip pelatihan DDP PyTorch
Sebagai bagian dari pelatihan terdistribusi, kami melatih model klasifikasi yang dibuat oleh jaringan saraf convolutional sederhana yang beroperasi pada kumpulan data CIFAR10. Skrip pelatihan cifar10-distributed-gpu-final.py
hanya berisi library open-source dan kompatibel untuk dijalankan pada kluster pelatihan Kubernetes dan SageMaker pada perangkat GPU atau instance CPU. Mari kita lihat beberapa aspek penting dari skrip pelatihan sebelum kita menjalankan contoh buku catatan kita.
Kami menggunakan torch.distributed
modul, yang berisi dukungan PyTorch dan komunikasi primitif untuk paralelisme multi-proses di seluruh node dalam cluster:
Kami membuat model klasifikasi gambar sederhana menggunakan kombinasi lapisan convolutional, max pooling, dan linear yang a relu
fungsi aktivasi diterapkan dalam forward pass dari pelatihan model:
Jika kluster pelatihan memiliki GPU, skrip menjalankan pelatihan pada perangkat CUDA dan variabel perangkat menyimpan perangkat CUDA default:
Sebelum Anda menjalankan pelatihan terdistribusi menggunakan PyTorch DistributedDataParallel
untuk menjalankan pemrosesan terdistribusi pada banyak node, Anda perlu menginisialisasi lingkungan terdistribusi dengan memanggil init_process_group
. Ini diinisialisasi pada setiap mesin dari cluster pelatihan.
Kami membuat instance model classifier dan menyalin model ke perangkat target. Jika pelatihan terdistribusi diaktifkan untuk berjalan di beberapa node, DistributedDataParallel
class digunakan sebagai objek pembungkus di sekitar objek model, yang memungkinkan pelatihan terdistribusi secara sinkron di beberapa mesin. Data input dibagi berdasarkan dimensi batch dan replika model ditempatkan di setiap mesin dan setiap perangkat. Lihat kode berikut:
Buat pipa Kubeflow
Buku catatan menggunakan Kubeflow Pipeline SDK dan kumpulan paket Python yang disediakan untuk menentukan dan menjalankan pipeline alur kerja ML. Sebagai bagian dari SDK ini, kami menggunakan dekorator paket domain-specific language (DSL). dsl.pipeline
, yang menghiasi fungsi Python untuk mengembalikan saluran pipa.
Pipeline Kubeflow menggunakan komponen V2 SageMaker untuk mengirimkan pelatihan ke SageMaker menggunakan Operator ACK SageMaker. Pembuatan model SageMaker dan penerapan model menggunakan komponen SageMaker V1, yang merupakan komponen SageMaker berbasis Boto3. Kami menggunakan kombinasi kedua komponen dalam contoh ini untuk menunjukkan fleksibilitas pilihan Anda.
- Muat komponen SageMaker menggunakan kode berikut:
Dalam kode berikut, kami membuat pipeline Kubeflow tempat kami menjalankan pelatihan terdistribusi SageMaker menggunakan dua
ml.p3.2xlarge
contoh:Setelah pipeline ditentukan, Anda dapat mengompilasi pipeline ke spesifikasi Argo YAML menggunakan Kubeflow Pipelines SDK
kfp.compiler
kemasan. Anda dapat menjalankan pipeline ini menggunakan klien Kubeflow Pipelines SDK, yang memanggil titik akhir layanan Pipelines dan meneruskan header autentikasi yang sesuai langsung dari notebook. Lihat kode berikut: - Pilih Jalankan detail tautan di bawah sel terakhir untuk melihat pipa Kubeflow. Tangkapan layar berikut menampilkan detail alur kami untuk komponen pelatihan dan penerapan SageMaker.
- Pilih langkah pekerjaan pelatihan dan di Log tab, pilih tautan log CloudWatch untuk mengakses log SageMaker.
Tangkapan layar berikut menunjukkan log CloudWatch untuk masing-masing dari dua instans ml.p3.2xlarge. - Pilih salah satu grup untuk melihat log.
- Abadikan titik akhir SageMaker dengan memilih Sagemaker โ Terapkan Model langkah dan menyalin
endpoint_name
nilai artefak keluaran.
Panggil titik akhir SageMaker
Buku catatan STEP1.1_invoke_sagemaker_endpoint.ipynb
memanggil titik akhir inferensi SageMaker yang dibuat di langkah sebelumnya. Pastikan Anda memperbarui nama titik akhir:
Membersihkan
Untuk membersihkan sumber daya Anda, selesaikan langkah-langkah berikut:
- Jalankan perintah berikut di AWS Cloud9 untuk menghapus sumber daya AWS:
- Hapus peran IAM โ
sagemakerrole
โ menggunakan perintah AWS CLI berikut: - Hapus titik akhir SageMaker menggunakan perintah AWS CLI berikut:
Kesimpulan
Dalam postingan ini, kami menyoroti nilai yang disediakan Kubeflow di AWS 1.6.1 melalui integrasi layanan yang dikelola AWS asli untuk memenuhi kebutuhan kasus penggunaan AI dan ML tingkat perusahaan. Anda dapat memilih dari beberapa opsi penerapan untuk menginstal Kubeflow di AWS dengan berbagai integrasi layanan menggunakan Terraform, Kustomize, atau Helm. Kasus penggunaan dalam postingan ini menunjukkan integrasi Kubeflow dengan SageMaker yang menggunakan klaster pelatihan terkelola SageMaker untuk menjalankan pelatihan terdistribusi untuk model klasifikasi gambar dan titik akhir SageMaker untuk penerapan model.
Kami juga telah menyediakan a contoh pipa contoh yang menggunakan komponen SageMaker terbaru; Anda dapat menjalankan ini langsung dari dasbor Kubeflow. Pipa ini membutuhkan Data Amazon S3 dan Peran IAM eksekusi SageMaker sebagai input yang dibutuhkan.
Untuk memulai dengan Kubeflow di AWS, lihat opsi penerapan terintegrasi AWS yang tersedia di Kubeflow di AWS. Anda dapat mengikuti Repositori AWS Labs untuk melacak semua kontribusi AWS ke Kubeflow. Anda juga dapat menemukan kami di Saluran Kubeflow #AWS Slack; umpan balik Anda akan membantu kami memprioritaskan fitur berikutnya untuk berkontribusi pada proyek Kubeflow.
Tentang penulis
Kanwaljit Khurmi adalah Arsitek Solusi Senior di Amazon Web Services. Dia bekerja dengan pelanggan AWS untuk memberikan panduan dan bantuan teknis yang membantu mereka meningkatkan nilai solusi mereka saat menggunakan AWS. Kanwaljit mengkhususkan diri dalam membantu pelanggan dengan aplikasi kemas dan pembelajaran mesin.
Kartik Kalamadi adalah Insinyur Pengembangan Perangkat Lunak di Amazon AI. Saat ini berfokus pada proyek sumber terbuka Machine Learning Kubernetes seperti Kubeflow dan AWS SageMaker Controller untuk k8s. Di waktu senggang saya suka bermain Game PC dan mengutak-atik VR menggunakan mesin Unity.
Rahul Kharse adalah Insinyur Pengembangan Perangkat Lunak di Amazon Web Services. Pekerjaannya berfokus pada pengintegrasian layanan AWS dengan platform open source containerized ML Ops untuk meningkatkan skalabilitas, keandalan, dan keamanannya. Selain berfokus pada permintaan pelanggan akan fitur, Rahul juga senang bereksperimen dengan perkembangan teknologi terkini di lapangan.
- Lanjutan (300)
- AI
- ai seni
- generator seni ai
- punya robot
- Amazon SageMaker
- kecerdasan buatan
- sertifikasi kecerdasan buatan
- kecerdasan buatan dalam perbankan
- robot kecerdasan buatan
- robot kecerdasan buatan
- perangkat lunak kecerdasan buatan
- Pembelajaran Mesin AWS
- blockchain
- konferensi blockchain
- kecerdasan
- kecerdasan buatan percakapan
- konferensi kripto
- dall's
- belajar mendalam
- google itu
- kubeflow
- Mesin belajar
- plato
- plato ai
- Kecerdasan Data Plato
- Permainan Plato
- Data Plato
- permainan plato
- skala ai
- sintaksis
- zephyrnet.dll