Karena semakin banyak pelanggan yang ingin memasukkan beban kerja pembelajaran mesin (ML) ke dalam produksi, ada dorongan besar dalam organisasi untuk mempersingkat siklus hidup pengembangan kode ML. Banyak organisasi lebih suka menulis kode ML mereka dalam gaya siap produksi dalam bentuk metode dan kelas Python daripada gaya eksplorasi (menulis kode tanpa menggunakan metode atau kelas) karena ini membantu mereka mengirimkan kode siap produksi lebih cepat.
Dengan Amazon SageMaker, Anda bisa menggunakan @dekorator jarak jauh untuk menjalankan tugas pelatihan SageMaker cukup dengan menganotasi kode Python Anda dengan dekorator @remote. Itu SDK Python SageMaker akan secara otomatis menerjemahkan lingkungan ruang kerja Anda yang ada dan setiap kode pemrosesan data terkait serta kumpulan data ke dalam tugas pelatihan SageMaker yang berjalan di platform pelatihan SageMaker.
Menjalankan fungsi Python secara lokal seringkali memerlukan beberapa dependensi, yang mungkin tidak disertakan dengan lingkungan runtime Python lokal. Anda dapat menginstalnya melalui paket dan alat manajemen ketergantungan seperti biji or konda.
Namun, organisasi yang beroperasi di industri yang diatur seperti perbankan, asuransi, dan perawatan kesehatan beroperasi di lingkungan yang memiliki privasi data dan kontrol jaringan yang ketat. Kontrol ini sering mengamanatkan tidak memiliki akses internet yang tersedia untuk lingkungan mereka. Alasan pembatasan tersebut adalah untuk memiliki kendali penuh atas lalu lintas keluar dan masuk sehingga mereka dapat mengurangi peluang oknum yang tidak bermoral mengirim atau menerima informasi yang tidak terverifikasi melalui jaringan mereka. Seringkali juga diamanatkan untuk memiliki isolasi jaringan seperti itu sebagai bagian dari aturan kepatuhan pendengaran dan industri. Ketika datang ke ML, ini membatasi ilmuwan data untuk mengunduh paket apa pun dari repositori publik seperti PyPI, Anaconda, atau Conda-Forge.
Untuk memberikan ilmuwan data akses ke alat pilihan mereka sambil tetap menghormati batasan lingkungan, organisasi sering membuat repositori paket pribadi mereka sendiri yang dihosting di lingkungan mereka sendiri. Anda dapat menyiapkan repositori paket pribadi di AWS dengan berbagai cara:
Dalam posting ini, kami fokus pada opsi pertama: menggunakan CodeArtifact.
Ikhtisar solusi
Diagram arsitektur berikut menunjukkan arsitektur solusi.
Langkah-langkah tingkat tinggi untuk mengimplementasikan solusi adalah sebagai berikut
- Siapkan virtual private cloud (VPC) tanpa akses internet menggunakan Formasi AWS Cloud Template.
- Gunakan templat CloudFormation kedua untuk menyiapkan CodeArtifact sebagai repositori PyPI pribadi dan menyediakan konektivitas ke VPC, serta menyiapkan Studio Amazon SageMaker lingkungan untuk menggunakan repositori PyPI pribadi.
- Melatih model klasifikasi berdasarkan MNIST dataset menggunakan dekorator @remote dari SageMaker Python SDK open-source. Semua dependensi akan diunduh dari repositori PyPI pribadi.
Perhatikan bahwa menggunakan SageMaker Studio di postingan ini bersifat opsional. Anda dapat memilih untuk bekerja di lingkungan pengembangan terintegrasi (IDE) pilihan Anda. Anda hanya perlu mengatur Anda Antarmuka Baris Perintah AWS (AWS CLI) kredensial dengan benar. Untuk informasi lebih lanjut, lihat Konfigurasikan AWS CLI.
Prasyarat
Anda memerlukan akun AWS dengan Identitas AWS dan Manajemen Akses (IAM) peran dengan izin untuk mengelola sumber daya yang dibuat sebagai bagian dari solusi. Untuk detailnya, lihat Membuat akun AWS.
Siapkan VPC tanpa koneksi internet
Buat tumpukan CloudFormation baru menggunakan vpc.yaml templat. Templat ini membuat sumber daya berikut:
- VPC dengan dua subnet pribadi di dua Availability Zone tanpa konektivitas internet
- Titik akhir Gateway VPC untuk mengakses Amazon S3
- Antarmuka titik akhir VPC untuk SageMaker, CodeArtifact, dan beberapa layanan lainnya untuk memungkinkan sumber daya di VPC terhubung ke layanan AWS melalui Tautan Pribadi AWS
Berikan nama tumpukan, seperti No-Internet
, dan selesaikan proses pembuatan tumpukan.
Tunggu hingga proses pembuatan tumpukan selesai.
Siapkan repositori pribadi dan SageMaker Studio menggunakan VPC
Langkah selanjutnya adalah menerapkan tumpukan CloudFormation lain menggunakan sagemaker_studio_codeartifact.yaml templat. Templat ini membuat sumber daya berikut:
Berikan nama tumpukan dan pertahankan nilai default atau sesuaikan parameter untuk Nama domain CodeArtifact, nama repositori pribadi, nama profil pengguna untuk SageMaker Studio, dan nama untuk repositori PyPI publik hulu. Anda juga kami perlu menyediakan Nama tumpukan VPC dibuat pada langkah sebelumnya.
Saat pembuatan tumpukan selesai, domain SageMaker akan terlihat di konsol SageMaker.
Untuk memverifikasi tidak ada koneksi internet yang tersedia di SageMaker Studio, luncurkan SageMaker Studio. Memilih File
, New
, dan Terminal
untuk meluncurkan terminal dan mencoba keriting sumber daya internet apa pun. Seharusnya gagal terhubung, seperti yang ditunjukkan pada tangkapan layar berikut.
Latih classifier gambar menggunakan dekorator @remote dengan repositori PyPI pribadi
Pada bagian ini, kami menggunakan dekorator @remote untuk menjalankan a PyTorch pekerjaan pelatihan yang menghasilkan model klasifikasi gambar MNIST. Untuk mencapai ini, kami menyiapkan file konfigurasi, mengembangkan skrip pelatihan, dan menjalankan kode pelatihan.
Siapkan file konfigurasi
Kami mengatur a config.yaml
file dan berikan konfigurasi yang diperlukan untuk melakukan hal berikut:
- Jalankan a Pekerjaan pelatihan SageMaker di VPC tanpa internet yang dibuat sebelumnya
- Unduh paket yang diperlukan dengan menghubungkan ke repositori PyPI pribadi yang dibuat sebelumnya
File tersebut terlihat seperti kode berikut:
Grafik Dependencies
bidang berisi jalur ke requirements.txt
, yang berisi semua dependensi yang diperlukan. Perhatikan bahwa semua dependensi akan diunduh dari repositori pribadi. Itu requirements.txt
file berisi kode berikut:
Grafik PreExecutionCommands
bagian berisi perintah untuk terhubung ke repositori PyPI pribadi. Untuk mendapatkan URL endpoint CodeArtifact VPC, gunakan kode berikut:
Secara umum, kami mendapatkan dua titik akhir VPC untuk CodeArtifact, dan kami dapat menggunakan salah satunya dalam perintah koneksi. Untuk detail lebih lanjut, lihat Gunakan CodeArtifact dari VPC.
Selain itu, konfigurasi seperti execution role
, output location
, dan VPC configurations
disediakan dalam file konfigurasi. Konfigurasi ini diperlukan untuk menjalankan tugas pelatihan SageMaker. Untuk mengetahui lebih lanjut tentang semua konfigurasi yang didukung, lihat konfigurasi file.
Tidak wajib untuk menggunakan config.yaml
file untuk bekerja dengan dekorator @remote. Ini hanyalah cara yang lebih bersih untuk menyediakan semua konfigurasi ke dekorator @remote. Semua konfigurasi juga dapat disediakan langsung dalam argumen dekorator, tetapi hal itu mengurangi keterbacaan dan pemeliharaan perubahan dalam jangka panjang. Selain itu, file konfigurasi dapat dibuat oleh admin dan dibagikan dengan semua pengguna di lingkungan.
Kembangkan skrip pelatihan
Selanjutnya, kami menyiapkan kode pelatihan dalam file Python sederhana. Kami telah membagi kode menjadi tiga file:
- memuat_data.py โ Berisi kode untuk mendownload dataset MNIST
- model.py โ Berisi kode untuk arsitektur jaringan saraf untuk model
- kereta.py โ Berisi kode untuk melatih model dengan menggunakan load_data.py dan model.py
In train.py
, kita perlu mendekorasi fungsi pelatihan utama sebagai berikut:
Sekarang kita siap menjalankan kode pelatihan.
Jalankan kode pelatihan dengan dekorator @remote
Kita dapat menjalankan kode dari terminal atau dari prompt yang dapat dieksekusi. Dalam postingan ini, kami menggunakan sel notebook SageMaker Studio untuk mendemonstrasikan ini:
Menjalankan perintah sebelumnya akan memicu tugas pelatihan. Di log, kita dapat melihat bahwa itu mengunduh paket dari repositori pribadi PyPI.
Ini menyimpulkan penerapan dekorator @remote yang bekerja dengan repositori pribadi di lingkungan tanpa akses internet.
Membersihkan
Untuk membersihkan sumber daya, ikuti petunjuk di PEMBERSIHAN.md.
Kesimpulan
Dalam posting ini, kami belajar cara menggunakan kemampuan dekorator @remote secara efektif sambil tetap bekerja di lingkungan terbatas tanpa akses internet. Kami juga mempelajari cara mengintegrasikan kemampuan repositori pribadi CodeArtifact dengan bantuan dukungan file konfigurasi di SageMaker. Solusi ini membuat pengembangan iteratif jauh lebih sederhana dan lebih cepat. Keuntungan tambahan lainnya adalah Anda masih dapat terus menulis kode pelatihan dengan cara yang lebih alami dan berorientasi objek, serta tetap menggunakan kemampuan SageMaker untuk menjalankan tugas pelatihan di klaster jarak jauh dengan sedikit perubahan pada kode Anda. Semua kode yang ditampilkan sebagai bagian dari posting ini tersedia di Repositori GitHub.
Sebagai langkah berikutnya, kami mendorong Anda untuk memeriksa fungsi dekorator @remote dan API Python SDK dan gunakan dalam lingkungan dan IDE pilihan Anda. Contoh tambahan tersedia di amazon-sagemaker-contoh repositori untuk membantu Anda memulai dengan cepat. Anda juga dapat memeriksa pos tersebut Jalankan kode pembelajaran mesin lokal Anda sebagai tugas Pelatihan Amazon SageMaker dengan sedikit perubahan kode lebih lanjut.
Tentang Penulis
Vikesh Pandey adalah Arsitek Solusi Spesialis Pembelajaran Mesin di AWS, membantu pelanggan dari industri keuangan merancang dan membangun solusi pada AI dan ML generatif. Di luar pekerjaan, Vikesh senang mencoba masakan yang berbeda dan berolahraga di luar ruangan.
- 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.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :adalah
- :bukan
- $NAIK
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- Tentang Kami
- mengakses
- mengakses
- Akun
- Mencapai
- di seluruh
- aktor
- menambahkan
- Tambahan
- admin
- Keuntungan
- AI
- Semua
- mengizinkan
- juga
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- dan
- Lain
- Apa pun
- api
- arsitektur
- ADALAH
- argumen
- AS
- terkait
- At
- secara otomatis
- tersedianya
- tersedia
- AWS
- Perbankan
- berdasarkan
- BE
- karena
- membangun
- tapi
- by
- CAN
- kemampuan
- kesempatan
- Perubahan
- memeriksa
- pilihan
- Pilih
- kelas-kelas
- klasifikasi
- awan
- Kelompok
- kode
- COM
- bagaimana
- datang
- lengkap
- pemenuhan
- konfigurasi
- Terhubung
- Menghubungkan
- koneksi
- Konektivitas
- konsul
- mengandung
- terus
- kontrol
- kontrol
- bisa
- dibuat
- menciptakan
- penciptaan
- Surat kepercayaan
- pelanggan
- data
- privasi data
- pengolahan data
- kumpulan data
- Default
- mendemonstrasikan
- Ketergantungan
- menyebarkan
- Mendesain
- rincian
- mengembangkan
- Pengembangan
- berbeda
- langsung
- Terbagi
- do
- domain
- Download
- efektif
- mendorong
- Titik akhir
- Lingkungan Hidup
- lingkungan
- zaman
- contoh
- eksekusi
- ada
- GAGAL
- palsu
- lebih cepat
- beberapa
- bidang
- File
- File
- keuangan
- industri keuangan
- Pertama
- Mengapung
- Fokus
- mengikuti
- berikut
- berikut
- Untuk
- bentuk
- dari
- penuh
- fungsi
- pintu gerbang
- generatif
- AI generatif
- mendapatkan
- Kelompok
- Memiliki
- memiliki
- kesehatan
- membantu
- membantu
- membantu
- tingkat tinggi
- host
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- ID
- identitas
- gambar
- Klasifikasi gambar
- melaksanakan
- implementasi
- in
- industri
- industri
- informasi
- install
- instruksi
- asuransi
- mengintegrasikan
- terpadu
- Internet
- Akses internet
- koneksi internet
- ke
- isolasi
- IT
- Pekerjaan
- Jobs
- jpg
- hanya
- Menjaga
- Tahu
- besar
- jalankan
- belajar
- pengetahuan
- siklus hidup
- 'like'
- baris
- lokal
- lokal
- masuk
- Panjang
- mencari
- TERLIHAT
- mesin
- Mesin belajar
- Utama
- MEMBUAT
- mengelola
- pengelolaan
- manajemen Alat
- Mandat
- wajib
- banyak
- Mungkin..
- metode
- minimal
- ML
- model
- Modul
- lebih
- banyak
- beberapa
- nama
- asli
- Alam
- Perlu
- dibutuhkan
- jaringan
- jaringan
- saraf jaringan
- New
- berikutnya
- tidak
- buku catatan
- of
- sering
- on
- open source
- beroperasi
- operasi
- menentang
- pilihan
- or
- urutan
- organisasi
- Lainnya
- di luar
- di luar
- lebih
- sendiri
- paket
- paket
- parameter
- bagian
- path
- Izin
- Tempat
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- bermain
- Pos
- lebih suka
- Mempersiapkan
- sebelumnya
- pribadi
- swasta
- proses
- pengolahan
- menghasilkan
- Produksi
- Profil
- memberikan
- disediakan
- publik
- Dorong
- menempatkan
- Ular sanca
- pytorch
- segera
- siap
- alasan
- menerima
- menurunkan
- mengurangi
- beregulasi
- industri yang diatur
- terpencil
- gudang
- wajib
- membutuhkan
- sumber
- Sumber
- menghormati
- pembatasan
- pembatasan
- Bersifat membatasi
- Peran
- aturan
- Run
- berjalan
- berjalan
- pembuat bijak
- ilmuwan
- SDK
- Kedua
- Bagian
- keamanan
- melihat
- benih
- mengirim
- Layanan
- set
- beberapa
- berbagi
- KAPAL
- harus
- ditunjukkan
- Pertunjukkan
- Sederhana
- lebih sederhana
- hanya
- So
- larutan
- Solusi
- spesialis
- Olahraga
- tumpukan
- mulai
- Langkah
- Tangga
- Masih
- menyimpan
- Ketat
- studio
- gaya
- subnet
- subnet
- seperti itu
- dipasok
- menyediakan
- mendukung
- Didukung
- Template
- terminal
- bahwa
- Grafik
- mereka
- Mereka
- Sana.
- Ini
- mereka
- ini
- tiga
- Melalui
- untuk
- alat
- Penglihatan obor
- lalu lintas
- Pelatihan
- menterjemahkan
- benar
- mencoba
- dua
- jahat
- URL
- menggunakan
- bekas
- Pengguna
- menggunakan
- Nilai - Nilai
- memeriksa
- melalui
- maya
- terlihat
- Cara..
- cara
- we
- jaringan
- layanan web
- ketika
- yang
- sementara
- Wikipedia
- akan
- dengan
- tanpa
- Kerja
- kerja
- menulis
- penulisan
- yaml
- Kamu
- Anda
- zephyrnet.dll
- zona