Grafik SDK Python Amazon SageMaker adalah perpustakaan sumber terbuka untuk melatih dan menerapkan model pembelajaran mesin (ML). Amazon SageMaker. Pelanggan perusahaan di industri yang dikontrol ketat seperti layanan kesehatan dan keuangan menyiapkan pagar keamanan untuk memastikan data mereka dienkripsi dan lalu lintas tidak melintasi internet. Untuk memastikan pelatihan SageMaker dan penerapan model ML mengikuti batasan ini, merupakan praktik umum untuk menetapkan batasan pada akun atau Organisasi AWS tingkat melalui kebijakan pengendalian layanan dan Identitas AWS dan Manajemen Akses (IAM) kebijakan untuk menegakkan penggunaan peran IAM tertentu, Cloud Pribadi Virtual Amazon Konfigurasi (Amazon VPC), dan Layanan Manajemen Kunci AWS (AWS KMS). Dalam kasus seperti ini, data scientist harus memberikan parameter ini ke pelatihan model ML mereka dan kode penerapan secara manual, dengan mencatat subnet, grup keamanan, dan kunci KMS. Hal ini memberikan tanggung jawab pada ilmuwan data untuk mengingat untuk menentukan konfigurasi ini, agar berhasil menjalankan pekerjaan mereka, dan menghindari kesalahan Akses Ditolak.
Dimulai dengan SageMaker Python SDK versi 2.148.0, Anda kini dapat mengonfigurasi nilai default untuk parameter seperti peran IAM, VPC, dan kunci KMS. Administrator dan pengguna akhir dapat menginisialisasi primitif infrastruktur AWS dengan default yang ditentukan dalam file konfigurasi dalam format YAML. Setelah dikonfigurasi, Python SDK secara otomatis mewarisi nilai-nilai ini dan menyebarkannya ke panggilan API SageMaker yang mendasarinya seperti CreateProcessingJob()
, CreateTrainingJob()
, dan CreateEndpointConfig()
, tanpa perlu tindakan tambahan. SDK juga mendukung beberapa file konfigurasi, memungkinkan admin menyetel file konfigurasi untuk semua pengguna, dan pengguna dapat menggantinya melalui konfigurasi tingkat pengguna yang dapat disimpan di Layanan Penyimpanan Sederhana Amazon (Amazon S3), Sistem File Amazon Elastis (Amazon EFS) untuk Studio Amazon SageMaker, atau sistem file lokal pengguna.
Dalam postingan ini, kami menunjukkan cara membuat dan menyimpan file konfigurasi default di Studio dan menggunakan fitur default SDK untuk membuat sumber daya SageMaker Anda.
Ikhtisar solusi
Kami mendemonstrasikan fitur baru ini secara end-to-end Formasi AWS Cloud templat yang membuat infrastruktur yang diperlukan, dan membuat domain Studio di VPC yang disebarkan. Selain itu, kami membuat kunci KMS untuk mengenkripsi volume yang digunakan dalam pekerjaan pelatihan dan pemrosesan. Langkah-langkahnya adalah sebagai berikut:
- Luncurkan tumpukan CloudFormation di akun Anda. Alternatifnya, jika Anda ingin menjelajahi fitur ini di domain atau notebook SageMaker yang sudah ada, lewati langkah ini.
- Mengisi
config.yaml
file dan simpan file di lokasi default. - Jalankan contoh buku catatan dengan kasus penggunaan ML end-to-end, termasuk pemrosesan data, pelatihan model, dan inferensi.
- Ganti nilai konfigurasi default.
Prasyarat
Sebelum memulai, pastikan Anda memiliki akun AWS dan pengguna atau peran IAM dengan hak istimewa administrator. Jika Anda seorang data scientist yang saat ini meneruskan parameter infrastruktur ke sumber daya di buku catatan Anda, Anda dapat melewati langkah berikutnya dalam menyiapkan lingkungan dan mulai membuat file konfigurasi.
Untuk menggunakan fitur ini, pastikan untuk meningkatkan versi SageMaker SDK Anda dengan menjalankan pip install --upgrade sagemaker
.
Mengatur lingkungan
Untuk menyebarkan infrastruktur lengkap termasuk jaringan dan domain Studio, selesaikan langkah-langkah berikut:
- Clone file Repositori GitHub.
- Masuk ke akun AWS Anda dan buka konsol AWS CloudFormation.
- Untuk menyebarkan sumber daya jaringan, pilih Buat tumpukan.
- Unggah template di bawah
setup/vpc_mode/01_networking.yaml
. - Berikan nama untuk tumpukan (misalnya,
networking-stack
), dan selesaikan langkah selanjutnya untuk membuat tumpukan. - Untuk menyebarkan domain Studio, pilih Buat tumpukan lagi.
- Unggah template di bawah
setup/vpc_mode/02_sagemaker_studio.yaml
. - Berikan nama untuk tumpukan (misalnya,
sagemaker-stack
), dan berikan nama tumpukan jaringan saat dimintaCoreNetworkingStackName
parameter. - Lanjutkan dengan langkah selanjutnya, pilih pengakuan untuk sumber daya IAM, dan buat tumpukan.
Ketika status kedua tumpukan diperbarui menjadi CREATE_COMPLETE, lanjutkan ke langkah berikutnya.
Buat file konfigurasi
Untuk menggunakan konfigurasi default SageMaker Python SDK, Anda membuat file config.yaml dalam format yang diharapkan SDK. Untuk format file config.yaml, lihat Struktur file konfigurasi. Bergantung pada lingkungan kerja Anda, seperti notebook Studio, instans notebook SageMaker, atau IDE lokal, Anda dapat menyimpan file konfigurasi di lokasi default atau mengganti default dengan meneruskan lokasi file konfigurasi. Untuk lokasi default untuk lingkungan lain, lihat Lokasi file konfigurasi. Langkah-langkah berikut menampilkan pengaturan untuk lingkungan notebook Studio.
Untuk dengan mudah membuat config.yaml
file, jalankan sel berikut di terminal sistem Studio Anda, ganti placeholder dengan nama tumpukan CloudFormation dari langkah sebelumnya:
Skrip ini secara otomatis mengisi file YAML, menggantikan placeholder dengan default infrastruktur, dan menyimpan file di folder utama. Kemudian menyalin file ke lokasi default untuk buku catatan Studio. File konfigurasi yang dihasilkan akan terlihat serupa dengan format berikut:
Jika Anda sudah menyiapkan konfigurasi domain dan jaringan, buatlah config.yaml
file dalam format yang diperlukan dan simpan di lokasi default untuk buku catatan Studio.
Perhatikan bahwa default ini hanya secara otomatis mengisi nilai konfigurasi untuk panggilan SageMaker SDK yang sesuai, dan tidak memaksakan pengguna ke VPC, subnet, atau peran tertentu. Sebagai administrator, jika Anda ingin pengguna Anda menggunakan konfigurasi atau peran tertentu, gunakan Kunci kondisi IAM untuk menerapkan nilai default.
Selain itu, setiap panggilan API dapat memiliki konfigurasinya sendiri. Misalnya, pada contoh file konfigurasi sebelumnya, Anda dapat menentukan vpc-a
dan subnet-a
untuk pekerjaan pelatihan, dan tentukan vpc-b
dan subnet-c
, subnet-d
untuk memproses pekerjaan.
Jalankan contoh buku catatan
Kini setelah Anda menyetel file konfigurasi, Anda dapat mulai menjalankan pembuatan model dan notebook pelatihan seperti biasa, tanpa perlu menyetel parameter jaringan dan enkripsi secara eksplisit, untuk sebagian besar fungsi SDK. Melihat API dan parameter yang didukung untuk daftar lengkap panggilan dan parameter API yang didukung.
Di Studio, pilih ikon File Explorer di panel navigasi dan buka 03_feature_engineering/03_feature_engineering.ipynb
, seperti yang ditunjukkan pada tangkapan layar berikut.
Jalankan sel buku catatan satu per satu, dan perhatikan bahwa Anda tidak menentukan konfigurasi tambahan apa pun. Saat Anda membuat objek prosesor, Anda akan melihat keluaran sel seperti contoh berikut.
Seperti yang Anda lihat di output, konfigurasi default secara otomatis diterapkan ke tugas pemrosesan, tanpa memerlukan input tambahan apa pun dari pengguna.
Saat Anda menjalankan sel berikutnya untuk menjalankan prosesor, Anda juga dapat memverifikasi bahwa default telah diatur dengan melihat pekerjaan di konsol SageMaker. Memilih Memproses pekerjaan bawah Pengolahan di panel navigasi, seperti yang ditunjukkan pada gambar layar berikut.
Pilih pekerjaan pemrosesan dengan awalan end-to-end-ml-sm-proc
, dan Anda seharusnya dapat melihat jaringan dan enkripsi yang sudah dikonfigurasi.
Anda dapat terus menjalankan notebook yang tersisa untuk melatih dan menyebarkan model, dan Anda akan melihat bahwa default infrastruktur diterapkan secara otomatis untuk tugas pelatihan dan model.
Ganti file konfigurasi default
Mungkin ada kasus di mana pengguna perlu mengganti konfigurasi default, misalnya, untuk bereksperimen dengan akses internet publik, atau memperbarui konfigurasi jaringan jika subnet kehabisan alamat IP. Dalam kasus seperti itu, SDK Python juga memungkinkan Anda menyediakan lokasi khusus untuk file konfigurasi, baik di penyimpanan lokal, atau Anda dapat menunjuk ke lokasi di Amazon S3. Di bagian ini, kita akan mengeksplorasi sebuah contoh.
Buka user-configs.yaml
file di direktori home Anda dan perbarui EnableNetworkIsolation
nilai untuk True
, Di bawah TrainingJob
bagian.
Sekarang, buka buku catatan yang sama, dan tambahkan sel berikut ke awal buku catatan:
Dengan sel ini, Anda mengarahkan lokasi file konfigurasi ke SDK. Sekarang, saat Anda membuat objek prosesor, Anda akan melihat bahwa konfigurasi default telah diganti untuk mengaktifkan isolasi jaringan, dan tugas pemrosesan akan gagal dalam mode isolasi jaringan.
Anda dapat menggunakan variabel lingkungan override yang sama untuk mengatur lokasi file konfigurasi jika Anda menggunakan lingkungan lokal seperti VSCode.
Debug dan ambil default
Untuk pemecahan masalah cepat jika Anda mengalami kesalahan apa pun saat menjalankan panggilan API dari notebook Anda, output sel menampilkan konfigurasi default yang diterapkan seperti yang diperlihatkan di bagian sebelumnya. Untuk melihat panggilan Boto3 persis yang dibuat untuk melihat nilai atribut yang diteruskan dari file konfigurasi default, Anda dapat melakukan debug dengan mengaktifkan logging Boto3. Untuk mengaktifkan pengelogan, jalankan sel berikut di bagian atas buku catatan:
Setiap panggilan Boto3 berikutnya akan dicatat dengan permintaan lengkap, terlihat di bawah bagian isi log.
Anda juga dapat melihat kumpulan konfigurasi default menggunakan session.sagemaker_config
nilai seperti yang ditunjukkan pada contoh berikut.
Terakhir, jika Anda menggunakan Boto3 untuk membuat sumber daya SageMaker, Anda dapat mengambil nilai konfigurasi default menggunakan sagemaker_config
variabel. Misalnya, untuk menjalankan tugas pemrosesan 03_feature_engineering.ipynb
menggunakan Boto3, Anda bisa memasukkan konten sel berikut di buku catatan yang sama dan menjalankan sel:
Otomatiskan pembuatan file konfigurasi
Bagi administrator, harus membuat file konfigurasi dan menyimpan file ke setiap instance notebook SageMaker atau profil pengguna Studio dapat menjadi tugas yang berat. Meskipun Anda dapat merekomendasikan agar pengguna menggunakan file umum yang disimpan di lokasi S3 default, hal ini menimbulkan beban tambahan dalam menentukan penggantian pada data scientist.
Untuk mengotomatiskannya, administrator dapat menggunakan SageMaker Lifecycle Configurations (LCC). Untuk profil pengguna Studio atau instans notebook, Anda dapat melampirkan contoh skrip LCC berikut sebagai LCC default untuk aplikasi Jupyter Server default pengguna:
Lihat Gunakan Konfigurasi Siklus Hidup untuk Amazon SageMaker Studio or Sesuaikan Instans Notebook untuk petunjuk tentang cara membuat dan menyetel skrip siklus hidup default.
Membersihkan
Setelah Anda selesai bereksperimen dengan fitur ini, bersihkan sumber daya Anda untuk menghindari pembayaran biaya tambahan. Jika Anda telah menyediakan sumber daya baru seperti yang ditentukan dalam postingan ini, selesaikan langkah-langkah berikut untuk membersihkan sumber daya Anda:
- Matikan aplikasi Studio Anda untuk profil pengguna. Melihat Matikan dan Perbarui Aplikasi SageMaker Studio dan Studio untuk instruksi. Pastikan semua aplikasi dihapus sebelum menghapus tumpukan.
- Hapus volume EFS yang dibuat untuk domain Studio. Anda dapat melihat volume EFS yang dilampirkan dengan domain dengan menggunakan a JelaskanDomain Panggilan API.
- Hapus tumpukan domain Studio.
- Hapus grup keamanan yang dibuat untuk domain Studio. Anda dapat menemukannya di Cloud komputasi elastis Amazon Konsol (Amazon EC2), dengan nama security-group-for-inbound-nfs-d-xxx dan security-group-for-outbound-nfs-d-xxx
- Hapus tumpukan jaringan.
Kesimpulan
Dalam postingan ini, kita membahas mengonfigurasi dan menggunakan nilai default untuk parameter infrastruktur utama menggunakan SageMaker Python SDK. Hal ini memungkinkan administrator untuk mengatur konfigurasi default untuk data scientist, sehingga menghemat waktu bagi pengguna dan admin, menghilangkan beban penentuan parameter berulang-ulang, dan menghasilkan kode yang lebih ramping dan mudah dikelola. Untuk daftar lengkap parameter dan API yang didukung, lihat Mengonfigurasi dan menggunakan default dengan SageMaker Python SDK. Untuk pertanyaan dan diskusi apa pun, bergabunglah dengan Pembelajaran Mesin & komunitas AI.
Tentang Penulis
Giuseppe Angelo Porcelli adalah Arsitek Solusi Spesialis Pembelajaran Mesin Utama untuk Amazon Web Services. Dengan latar belakang ML selama beberapa tahun sebagai rekayasa perangkat lunak, ia bekerja dengan pelanggan dari berbagai ukuran untuk memahami secara mendalam kebutuhan bisnis dan teknis mereka serta merancang solusi AI dan Pembelajaran Mesin yang memanfaatkan AWS Cloud dan tumpukan Amazon Machine Learning dengan sebaik-baiknya. Dia telah mengerjakan proyek di berbagai domain, termasuk MLOps, Computer Vision, NLP, dan melibatkan serangkaian luas layanan AWS. Di waktu luangnya, Giuseppe menikmati bermain sepak bola.
Bruno Piston adalah Arsitek Solusi Spesialis AI/ML untuk AWS yang berbasis di Milan. Dia bekerja dengan pelanggan dari berbagai ukuran untuk membantu mereka memahami secara mendalam kebutuhan teknis mereka dan merancang solusi AI dan Machine Learning yang memanfaatkan AWS Cloud dan tumpukan Amazon Machine Learning dengan sebaik-baiknya. Bidang keahliannya adalah Machine Learning end to end, Machine Learning Industrialization dan MLOps. Dia senang menghabiskan waktu bersama teman-temannya dan menjelajahi tempat-tempat baru, serta bepergian ke destinasi baru.
Durga Surya adalah Arsitek Solusi ML di tim Amazon SageMaker Service SA. Dia bersemangat membuat pembelajaran mesin dapat diakses oleh semua orang. Selama 4 tahun di AWS, dia telah membantu menyiapkan platform AI/ML untuk pelanggan perusahaan. Ketika dia tidak bekerja, dia suka mengendarai sepeda motor, novel misteri, dan berjalan-jalan dengan huskynya yang berusia 5 tahun.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoAiStream. Kecerdasan Data Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Mencetak Masa Depan bersama Adryenn Ashley. Akses Di Sini.
- Beli dan Jual Saham di Perusahaan PRE-IPO dengan PREIPOยฎ. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Sanggup
- Tentang Kami
- mengakses
- dapat diakses
- Akun
- tindakan
- menambahkan
- tambahan
- Tambahan
- alamat
- administrator
- lagi
- AI
- AI / ML
- Semua
- Membiarkan
- memungkinkan
- sudah
- juga
- Meskipun
- Amazon
- Amazon EC2
- Pembelajaran Mesin Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- dan
- Apa pun
- api
- Lebah
- aplikasi
- terapan
- sesuai
- aplikasi
- ADALAH
- AS
- At
- melampirkan
- mengotomatisasikan
- secara otomatis
- menghindari
- AWS
- Formasi AWS Cloud
- latar belakang
- berdasarkan
- BE
- menjadi
- sebelum
- Awal
- TERBAIK
- tubuh
- kedua
- luas
- Bangunan
- beban
- bisnis
- by
- panggilan
- Panggilan
- CAN
- kasus
- kasus
- CD
- Sel
- Pilih
- klien
- awan
- kode
- koleksi
- Umum
- lengkap
- menghitung
- komputer
- Visi Komputer
- kondisi
- konfigurasi
- konsul
- isi
- terus
- kontrol
- dikendalikan
- Biaya
- bisa
- membuat
- dibuat
- menciptakan
- membuat
- Sekarang
- adat
- pelanggan
- data
- pengolahan data
- ilmuwan data
- Default
- default
- mendemonstrasikan
- Tergantung
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- Mendesain
- tujuan
- berbeda
- dibahas
- diskusi
- menampilkan
- Tidak
- domain
- domain
- dilakukan
- Dont
- turun
- setiap
- mudah
- gema
- antara
- menghilangkan
- aktif
- terenkripsi
- enkripsi
- akhir
- ujung ke ujung
- Titik akhir
- melaksanakan
- Teknik
- memastikan
- Enter
- Enterprise
- Lingkungan Hidup
- lingkungan
- kesalahan
- semua orang
- contoh
- ada
- mengharapkan
- eksperimen
- keahlian
- menyelidiki
- penjelajah
- Menjelajahi
- GAGAL
- palsu
- Fitur
- bidang
- File
- File
- keuangan
- Menemukan
- mengikuti
- berikut
- berikut
- sepak bola
- Untuk
- format
- Gratis
- teman
- dari
- penuh
- fungsi
- mendapatkan
- mendapatkan
- pergi
- Grup
- Memiliki
- memiliki
- he
- kesehatan
- membantu
- membantu
- dia
- -nya
- Beranda
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- ICON
- identitas
- if
- mengimpor
- in
- Termasuk
- industri
- Infrastruktur
- memasukkan
- install
- contoh
- instruksi
- Antarmuka
- Internet
- Akses internet
- ke
- melibatkan
- IP
- Alamat IP
- isolasi
- IT
- NYA
- Pekerjaan
- Jobs
- ikut
- jpg
- kunci
- kunci-kunci
- besar
- pengetahuan
- Tingkat
- Perpustakaan
- siklus hidup
- 'like'
- Daftar
- lokal
- tempat
- lokasi
- mencatat
- login
- penebangan
- Panjang
- melihat
- mencintai
- mesin
- Mesin belajar
- membuat
- Membuat
- pengelolaan
- manual
- MILAN
- ML
- MLOps
- mode
- model
- model
- lebih
- paling
- sepeda motor
- beberapa
- Misteri
- nama
- nama
- Navigasi
- Perlu
- dibutuhkan
- membutuhkan
- kebutuhan
- jaringan
- jaringan
- New
- berikutnya
- nLP
- tidak
- buku catatan
- Melihat..
- mencatat
- sekarang
- obyek
- of
- on
- sekali
- ONE
- Buka
- open source
- or
- OS
- Lainnya
- di luar
- keluaran
- mengesampingkan
- sendiri
- pane
- parameter
- parameter
- Lulus
- Lewat
- bergairah
- pembayaran
- Tempat
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- bermain
- Titik
- Kebijakan
- Pos
- praktek
- sebelumnya
- Utama
- swasta
- hak
- pengolahan
- Prosesor
- Profil
- profil
- memprojeksikan
- memberikan
- publik
- Menempatkan
- Ular sanca
- Pertanyaan
- Cepat
- sarankan
- yang tersisa
- ingat
- permintaan
- wajib
- Sumber
- tanggapan
- pembatasan
- dihasilkan
- Peran
- peran
- Run
- berjalan
- s
- SA
- pembuat bijak
- sama
- Save
- penghematan
- ilmuwan
- ilmuwan
- SDK
- Bagian
- keamanan
- melihat
- layanan
- Layanan
- Sidang
- set
- pengaturan
- penyiapan
- beberapa
- dia
- harus
- Menunjukkan
- menampilkan
- ditunjukkan
- mirip
- Sederhana
- hanya
- Ukuran
- Perangkat lunak
- rekayasa Perangkat Lunak
- Solusi
- sesuatu
- spesialis
- tertentu
- ditentukan
- Pengeluaran
- tumpukan
- Tumpukan
- awal
- mulai
- Status
- Langkah
- Tangga
- penyimpanan
- menyimpan
- tersimpan
- studio
- subnet
- subnet
- selanjutnya
- berhasil
- seperti itu
- Didukung
- Mendukung
- sistem
- tugas
- tim
- Teknis
- Template
- terminal
- bahwa
- Grafik
- mereka
- Mereka
- kemudian
- dengan demikian
- Ini
- ini
- Melalui
- rapat
- waktu
- untuk
- puncak
- lalu lintas
- Pelatihan VE
- Pelatihan
- MENGHIDUPKAN
- Putar
- bawah
- pokok
- memahami
- Memperbarui
- meningkatkan
- penggunaan
- menggunakan
- gunakan case
- bekas
- Pengguna
- Pengguna
- menggunakan
- nilai
- Nilai - Nilai
- memeriksa
- versi
- melalui
- View
- melihat
- maya
- terlihat
- penglihatan
- volume
- volume
- ingin
- we
- jaringan
- layanan web
- BAIK
- ketika
- akan
- dengan
- tanpa
- Kerja
- bekerja
- kerja
- bekerja
- yaml
- tahun
- Kamu
- Anda
- zephyrnet.dll