Pipa Amazon SageMaker adalah layanan AWS yang terkelola sepenuhnya untuk membangun dan mengatur alur kerja pembelajaran mesin (ML). SageMaker Pipelines menawarkan kepada pengembang aplikasi ML kemampuan untuk mengatur berbagai langkah alur kerja ML, termasuk pemuatan data, transformasi data, pelatihan, penyetelan, dan penerapan. Anda dapat menggunakan SageMaker Pipelines untuk mengatur pekerjaan ML di SageMaker, dan itu integrasi dengan ekosistem AWS yang lebih besar juga memungkinkan Anda untuk menggunakan sumber daya seperti AWS Lambda fungsi, Amazon ESDM pekerjaan, dan banyak lagi. Hal ini memungkinkan Anda membangun pipeline yang disesuaikan dan dapat direproduksi untuk kebutuhan spesifik dalam alur kerja ML Anda.
Dalam postingan ini, kami memberikan beberapa praktik terbaik untuk memaksimalkan nilai SageMaker Pipelines dan membuat pengalaman pengembangan menjadi lancar. Kami juga membahas beberapa skenario dan pola desain umum saat membangun SageMaker Pipelines dan memberikan contoh untuk mengatasinya.
Praktik terbaik untuk SageMaker Pipelines
Di bagian ini, kami membahas beberapa praktik terbaik yang dapat diikuti saat merancang alur kerja menggunakan SageMaker Pipelines. Mengadopsinya dapat meningkatkan proses pengembangan dan menyederhanakan manajemen operasional SageMaker Pipelines.
Gunakan Sesi Pipeline untuk pemuatan pipeline yang lambat
Sesi Saluran memungkinkan inisialisasi sumber daya pipa yang lambat (pekerjaan tidak dimulai sampai runtime pipa). Itu PipelineSession
konteks mewarisi Sesi SageMaker dan menerapkan metode yang mudah digunakan untuk berinteraksi dengan entitas dan sumber daya SageMaker lainnya, seperti tugas pelatihan, titik akhir, masukan kumpulan data di Layanan Penyimpanan Sederhana Amazon (Amazon S3), dan seterusnya. Saat mendefinisikan SageMaker Pipelines, Anda harus menggunakan PipelineSession
selama Sesi SageMaker reguler:
Jalankan pipeline dalam mode lokal untuk iterasi yang hemat biaya dan cepat selama pengembangan
Anda dapat menjalankan pipa dalam mode lokal menggunakan LocalPipelineSession
konteks. Dalam mode ini, alur dan pekerjaan dijalankan secara lokal menggunakan sumber daya di mesin lokal, bukan sumber daya yang dikelola SageMaker. Mode lokal menyediakan cara hemat biaya untuk melakukan iterasi pada kode pipeline dengan subkumpulan data yang lebih kecil. Setelah pipeline diuji secara lokal, pipeline dapat diskalakan untuk dijalankan menggunakan Sesi Pipa konteks.
Kelola alur SageMaker melalui pembuatan versi
Pembuatan versi artefak dan definisi alur merupakan persyaratan umum dalam siklus hidup pengembangan. Anda dapat membuat beberapa versi alur dengan memberi nama objek alur dengan awalan atau akhiran unik, yang paling umum adalah stempel waktu, seperti yang ditunjukkan dalam kode berikut:
Atur dan lacak alur SageMaker yang berjalan dengan mengintegrasikan dengan Eksperimen SageMaker
SageMaker Pipelines dapat diintegrasikan dengan mudah Eksperimen SageMaker untuk pengorganisasian dan pelacakan jalur pipa berjalan. Hal ini dicapai dengan menentukan Konfigurasi Eksperimen Saluran Pipa pada saat pembuatan a objek pipa. Dengan objek konfigurasi ini, Anda dapat menentukan nama eksperimen dan nama uji coba. Detail proses alur SageMaker diatur berdasarkan eksperimen dan uji coba yang ditentukan. Jika Anda tidak menentukan nama eksperimen secara eksplisit, nama alur akan digunakan untuk nama eksperimen. Demikian pula, jika Anda tidak secara eksplisit menentukan nama uji coba, ID eksekusi alur akan digunakan untuk nama grup uji coba atau eksekusi. Lihat kode berikut:
Jalankan pipeline SageMaker dengan aman dalam VPC pribadi
Untuk mengamankan beban kerja ML, praktik terbaiknya adalah menerapkan pekerjaan yang diatur oleh SageMaker Pipelines dalam konfigurasi jaringan yang aman dalam VPC privat, subnet privat, dan grup keamanan. Untuk memastikan dan menegakkan penggunaan lingkungan aman ini, Anda dapat menerapkan hal berikut Identitas AWS dan Manajemen Akses (IAM) kebijakan untuk Peran eksekusi SageMaker (ini adalah peran yang diambil oleh pipeline selama dijalankan). Anda juga dapat menambahkan kebijakan untuk menjalankan pekerjaan yang diatur oleh SageMaker Pipelines dalam mode isolasi jaringan.
Untuk contoh penerapan jalur pipa dengan kontrol keamanan ini, lihat Mengatur Pekerjaan, Pendaftaran Model, dan Penerapan Berkelanjutan dengan Amazon SageMaker di lingkungan yang aman.
Pantau biaya pengoperasian alur menggunakan tag
Menggunakan saluran pipa SageMaker sendiri tidak dipungut biaya; Anda membayar sumber daya komputasi dan penyimpanan yang Anda jalankan sebagai bagian dari langkah-langkah pipeline individual seperti pemrosesan, pelatihan, dan inferensi batch. Untuk menggabungkan biaya per pengoperasian alur, Anda dapat menyertakan tag di setiap langkah alur yang menciptakan sumber daya. Tag ini kemudian dapat direferensikan di penjelajah biaya untuk memfilter dan menggabungkan total biaya pengoperasian alur, seperti yang ditunjukkan dalam contoh berikut:
Dari penjelajah biaya, kini Anda bisa mendapatkan biaya yang difilter berdasarkan tag:
Pola desain untuk beberapa skenario umum
Di bagian ini, kami membahas pola desain untuk beberapa kasus penggunaan umum dengan SageMaker Pipelines.
Jalankan fungsi Python ringan menggunakan langkah Lambda
Fungsi Python ada di mana-mana dalam alur kerja ML; mereka digunakan dalam prapemrosesan, pascapemrosesan, evaluasi, dan banyak lagi. Lambda adalah layanan komputasi tanpa server yang memungkinkan Anda menjalankan kode tanpa menyediakan atau mengelola server. Dengan Lambda, Anda dapat menjalankan kode dalam bahasa pilihan Anda yang mencakup Python. Anda dapat menggunakan ini untuk menjalankan kode Python khusus sebagai bagian dari saluran Anda. Sebuah langkah Lambda memungkinkan Anda menjalankan fungsi Lambda sebagai bagian dari saluran SageMaker Anda. Mulailah dengan kode berikut:
Buat fungsi Lambda menggunakan Pembantu Lambda SageMaker Python SDK:
Hubungi langkah Lambda:
Melewati data antar langkah
Data masukan untuk langkah alur dapat berupa lokasi data yang dapat diakses atau data yang dihasilkan oleh salah satu langkah sebelumnya dalam alur. Anda dapat memberikan informasi ini sebagai a ProcessingInput
parameter. Mari kita lihat beberapa skenario bagaimana Anda dapat menggunakan ProcessingInput.
Skenario 1: Meneruskan output (tipe data primitif) dari langkah Lambda ke langkah pemrosesan
Tipe data primitif mengacu pada tipe data skalar seperti string, integer, Boolean, dan float.
Cuplikan kode berikut mendefinisikan fungsi Lambda yang mengembalikan kamus variabel dengan tipe data primitif. Kode fungsi Lambda Anda akan mengembalikan JSON pasangan nilai kunci ketika dipanggil dari langkah Lambda dalam alur SageMaker.
Dalam definisi alur, Anda kemudian dapat menentukan parameter alur SageMaker yang merupakan tipe data tertentu dan mengatur variabel ke output fungsi Lambda:
Skenario 2: Meneruskan output (tipe data non-primitif) dari langkah Lambda ke langkah pemrosesan
Tipe data non-primitif mengacu pada tipe data non-skalar (misalnya, NamedTuple
). Anda mungkin memiliki skenario ketika Anda harus mengembalikan tipe data non-primitif dari fungsi Lambda. Untuk melakukan ini, Anda harus mengonversi tipe data non-primitif menjadi string:
Kemudian Anda dapat menggunakan string ini sebagai masukan untuk langkah berikutnya dalam alur. Untuk menggunakan tupel bernama dalam kode, gunakan eval()
untuk mengurai ekspresi Python dalam string:
Skenario 3: Meneruskan keluaran suatu langkah melalui file properti
Anda juga dapat menyimpan output dari langkah pemrosesan di a file JSON properti untuk konsumsi hilir di a ConditionStep
atau lainnya ProcessingStep
. Anda dapat menggunakan Fungsi JSONGet untuk menanyakan a berkas properti. Lihat kode berikut:
Anggaplah isi file properti adalah sebagai berikut:
Dalam hal ini, nilai tertentu dapat ditanyakan dan digunakan pada langkah selanjutnya menggunakan fungsi JsonGet:
Parameterisasikan variabel dalam definisi alur
Membuat parameter variabel agar dapat digunakan saat runtime sering kali diinginkanโmisalnya, untuk membuat URI S3. Anda dapat membuat parameter string sedemikian rupa sehingga dievaluasi saat runtime menggunakan Join
fungsi. Cuplikan kode berikut menunjukkan cara mendefinisikan variabel menggunakan Join
fungsi dan gunakan itu untuk mengatur lokasi keluaran dalam langkah pemrosesan:
Jalankan kode paralel melalui iterable
Beberapa alur kerja ML menjalankan kode secara paralel untuk loop pada sekumpulan item statis (an bisa diubah). Ini bisa berupa kode yang sama yang dijalankan pada data berbeda atau bagian kode berbeda yang perlu dijalankan untuk setiap item. Misalnya, jika Anda memiliki jumlah baris yang sangat banyak dalam sebuah file dan ingin mempercepat waktu pemrosesan, Anda dapat mengandalkan pola sebelumnya. Jika Anda ingin melakukan transformasi berbeda pada subgrup tertentu dalam data, Anda mungkin harus menjalankan potongan kode berbeda untuk setiap subgrup dalam data. Dua skenario berikut menggambarkan bagaimana Anda dapat merancang alur SageMaker untuk tujuan ini.
Skenario 1: Menerapkan logika pemrosesan pada bagian data yang berbeda
Anda dapat menjalankan pekerjaan pemrosesan dengan beberapa contoh (dengan pengaturan instance_count
ke nilai lebih besar dari 1). Ini mendistribusikan data masukan dari Amazon S3 ke semua instans pemrosesan. Anda kemudian dapat menggunakan skrip (process.py) untuk mengerjakan bagian data tertentu berdasarkan nomor instans dan elemen terkait dalam daftar item. Logika pemrograman di process.py dapat ditulis sedemikian rupa sehingga modul atau potongan kode yang berbeda dijalankan bergantung pada daftar item yang diprosesnya. Contoh berikut mendefinisikan prosesor yang dapat digunakan dalam ProcessingStep:
Skenario 2: Jalankan serangkaian langkah
Saat Anda memiliki rangkaian langkah yang perlu dijalankan secara paralel, Anda dapat menentukan setiap rangkaian sebagai alur SageMaker independen. Jalannya alur SageMaker ini kemudian dapat dipicu dari fungsi Lambda yang merupakan bagian dari a LambdaStep
di pipa induk. Potongan kode berikut mengilustrasikan skenario di mana dua alur SageMaker yang berbeda dipicu:
Kesimpulan
Dalam postingan ini, kami membahas beberapa praktik terbaik untuk penggunaan dan pemeliharaan pipeline SageMaker secara efisien. Kami juga menyediakan pola tertentu yang dapat Anda terapkan saat merancang alur kerja dengan SageMaker Pipelines, baik Anda membuat alur baru atau memigrasikan alur kerja ML dari alat orkestrasi lainnya. Untuk memulai SageMaker Pipelines untuk orkestrasi alur kerja ML, lihat contoh kode di GitHub dan Pipa Pembuatan Model Amazon SageMaker.
Tentang Penulis
Pinak Panigrahi bekerja dengan pelanggan untuk membangun solusi berbasis pembelajaran mesin untuk memecahkan masalah bisnis strategis di AWS. Saat tidak sibuk dengan pembelajaran mesin, ia dapat ditemukan sedang berjalan-jalan, membaca buku, atau menonton olahraga.
Meenakshisundaram Thandavarayan bekerja untuk AWS sebagai Spesialis AI/ ML. Dia memiliki hasrat untuk merancang, membuat, dan mempromosikan pengalaman data dan analitik yang berpusat pada manusia. Meena berfokus pada pengembangan sistem berkelanjutan yang memberikan keunggulan kompetitif yang terukur bagi pelanggan strategis AWS. Meena adalah penghubung, pemikir desain, dan berusaha untuk mengarahkan bisnis ke cara kerja baru melalui inovasi, inkubasi, dan demokratisasi.
- 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.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- ChartPrime. Tingkatkan Game Trading Anda dengan ChartPrime. Akses Di Sini.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/best-practices-and-design-patterns-for-building-machine-learning-workflows-with-amazon-sagemaker-pipelines/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 100
- 11
- 13
- 15%
- 150
- 16
- 17
- 19
- 20
- 22
- 28
- 7
- 8
- 9
- a
- kemampuan
- mengakses
- dapat diakses
- dicapai
- Tindakan
- menambahkan
- menangani
- mengambil
- Mengadopsi
- keuntungan
- Setelah
- agregat
- Semua
- memungkinkan
- juga
- Amazon
- Amazon SageMaker
- Pipa Amazon SageMaker
- Amazon Web Services
- an
- analisis
- dan
- Lain
- api
- Aplikasi
- sesuai
- ADALAH
- AS
- menganggap
- diasumsikan
- At
- menulis
- tersedia
- AWS
- berdasarkan
- BE
- makhluk
- TERBAIK
- Praktik Terbaik
- antara
- Book
- membangun
- Bangunan
- bisnis
- by
- CAN
- kasus
- kasus
- tertentu
- klien
- kode
- koleksi
- Umum
- kompetitif
- menghitung
- kondisi
- konfigurasi
- membangun
- konsumsi
- isi
- konteks
- kontinu
- kontrol
- Mudah
- mengubah
- Sesuai
- Biaya
- hemat biaya
- Biaya
- membuat
- menciptakan
- membuat
- adat
- pelanggan
- disesuaikan
- data
- kumpulan data
- Menguraikan
- menetapkan
- Mendefinisikan
- mendefinisikan
- definisi
- definisi
- menyampaikan
- demokratisasi
- Tergantung
- menyebarkan
- penyebaran
- Mendesain
- pola desain
- merancang
- rincian
- pengembang
- berkembang
- Pengembangan
- berbeda
- ukuran
- membahas
- dibahas
- do
- Dont
- mendorong
- didorong
- selama
- setiap
- mudah
- efek
- efisien
- antara
- elemen
- memungkinkan
- akhir
- melaksanakan
- memastikan
- entitas
- Lingkungan Hidup
- dievaluasi
- evaluasi
- Acara
- Setiap
- contoh
- contoh
- eksekusi
- pengalaman
- Pengalaman
- eksperimen
- penjelajah
- ekspresi
- ekstrak
- beberapa
- File
- menyaring
- Mengapung
- diikuti
- berikut
- Untuk
- Bekas
- ditemukan
- Gratis
- dari
- sepenuhnya
- fungsi
- fungsi
- dihasilkan
- mendapatkan
- lebih besar
- Kelompok
- Grup
- Memiliki
- he
- Kenaikan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- ID
- identitas
- if
- menggambarkan
- melaksanakan
- implementasi
- mengimplementasikan
- mengimpor
- memperbaiki
- in
- memasukkan
- termasuk
- Termasuk
- INKUBASI
- independen
- sendiri-sendiri
- informasi
- Innovation
- memasukkan
- contoh
- sebagai gantinya
- terpadu
- Mengintegrasikan
- berinteraksi
- ke
- dipanggil
- isolasi
- IT
- item
- iterasi
- NYA
- Diri
- Pekerjaan
- Jobs
- json
- kunci
- bahasa
- besar
- lebih besar
- pengetahuan
- Lets
- siklus hidup
- ringan
- 'like'
- Daftar
- pemuatan
- lokal
- lokal
- tempat
- logika
- melihat
- mesin
- Mesin belajar
- pemeliharaan
- membuat
- berhasil
- pengelolaan
- pelaksana
- Maksimalkan
- Mungkin..
- metode
- mungkin
- bermigrasi
- ML
- mode
- model
- Modul
- bulanan
- lebih
- paling
- beberapa
- nama
- Bernama
- penamaan
- Perlu
- kebutuhan
- jaringan
- New
- sekarang
- jumlah
- obyek
- objek
- memperoleh
- of
- Penawaran
- sering
- on
- ONE
- operasional
- or
- diatur
- teknik mengatur musik
- terorganisir
- pengorganisasian
- Lainnya
- keluaran
- lebih
- pasang
- Paralel
- parameter
- parameter
- bagian
- lulus
- gairah
- pola
- pola
- Membayar
- untuk
- Melakukan
- bagian
- pipa saluran
- Tempat
- plato
- Kecerdasan Data Plato
- Data Plato
- kebijaksanaan
- bagian
- Pos
- praktek
- praktek
- disukai
- sebelumnya
- primitif
- swasta
- masalah
- proses
- proses
- pengolahan
- Prosesor
- Pemrograman
- mendorong
- properties
- milik
- memberikan
- disediakan
- menyediakan
- tujuan
- Ular sanca
- Cepat
- Bacaan
- lihat
- Pendaftaran
- reguler
- mengandalkan
- kebutuhan
- Persyaratan
- sumber
- Sumber
- tanggapan
- kembali
- kembali
- Pengembalian
- Peran
- Run
- berjalan
- s
- pembuat bijak
- Pipa SageMaker
- sama
- skenario
- skenario
- naskah
- mulus
- Bagian
- aman
- keamanan
- melihat
- Urutan
- Tanpa Server
- Server
- layanan
- Layanan
- Sidang
- set
- pengaturan
- harus
- ditunjukkan
- Pertunjukkan
- Demikian pula
- Sederhana
- lebih kecil
- potongan
- So
- Solusi
- MEMECAHKAN
- beberapa
- spesialis
- tertentu
- ditentukan
- kecepatan
- Berputar
- Olahraga
- awal
- mulai
- Pernyataan
- Langkah
- Tangga
- penyimpanan
- menyimpan
- Strategis
- bisnis strategis
- mempersingkat
- Tali
- berusaha
- struktur
- subnet
- selanjutnya
- seperti itu
- berkelanjutan
- sistem
- MENANDAI
- pengambilan
- diuji
- dari
- bahwa
- Grafik
- Mereka
- kemudian
- Sana.
- Ini
- mereka
- pemikir
- ini
- Melalui
- waktu
- timestamp
- untuk
- alat
- Total
- jalur
- Pelatihan VE
- Pelatihan
- Transformasi
- transformasi
- percobaan
- memicu
- dipicu
- benar
- dua
- mengetik
- jenis
- bawah
- unik
- sampai
- penggunaan
- menggunakan
- bekas
- kegunaan
- menggunakan
- nilai
- Nilai - Nilai
- variabel
- versi
- Versi
- sangat
- ingin
- menonton
- Cara..
- cara
- we
- jaringan
- layanan web
- adalah
- ketika
- apakah
- sementara
- akan
- dengan
- dalam
- tanpa
- Kerja
- alur kerja
- Alur kerja
- kerja
- bekerja
- dunia
- tertulis
- Kamu
- Anda
- zephyrnet.dll