Notebook Jupyter sangat disukai oleh ilmuwan data karena kemampuannya memproses data secara interaktif, membuat model ML, dan menguji model ini dengan membuat kesimpulan pada data. Namun, ada beberapa skenario di mana data scientist mungkin lebih memilih untuk beralih dari pengembangan interaktif pada notebook ke pekerjaan batch. Contoh kasus penggunaan tersebut mencakup peningkatan pekerjaan rekayasa fitur yang sebelumnya telah diuji pada kumpulan data sampel kecil pada instans notebook kecil, menjalankan laporan setiap malam untuk mendapatkan wawasan tentang metrik bisnis, dan melatih ulang model ML sesuai jadwal saat data baru tersedia.
Bermigrasi dari pengembangan interaktif pada notebook ke pekerjaan batch mengharuskan Anda untuk menyalin cuplikan kode dari notebook ke dalam skrip, mengemas skrip dengan semua dependensinya ke dalam wadah, dan menjadwalkan wadah untuk dijalankan. Untuk menjalankan tugas ini berulang kali sesuai jadwal, Anda harus menyiapkan, mengonfigurasi, dan mengawasi infrastruktur cloud untuk mengotomatiskan penerapan, sehingga mengalihkan waktu berharga dari aktivitas pengembangan ilmu data inti.
Untuk membantu menyederhanakan proses perpindahan dari notebook interaktif ke tugas batch, pada Desember 2022, Studio Amazon SageMaker dan Lab Studio memperkenalkan kemampuan untuk menjalankan notebook sebagai tugas terjadwal, menggunakan alur kerja berbasis notebook. Anda sekarang dapat menggunakan kemampuan yang sama untuk menjalankan notebook Jupyter Anda dari lingkungan JupyterLab seperti Amazon SageMaker instans notebook dan JupyterLab berjalan di mesin lokal Anda. SageMaker menyediakan ekstensi sumber terbuka yang dapat dipasang di lingkungan JupyterLab apa pun dan digunakan untuk menjalankan notebook sebagai pekerjaan sementara dan sesuai jadwal.
Dalam postingan ini, kami menunjukkan cara menjalankan buku catatan dari lingkungan JupyterLab lokal Anda sebagai pekerjaan buku catatan terjadwal di SageMaker.
Ikhtisar solusi
Arsitektur solusi untuk menjadwalkan pekerjaan notebook dari lingkungan JupyterLab apa pun ditunjukkan dalam diagram berikut. Ekstensi SageMaker mengharapkan lingkungan JupyterLab memiliki kredensial dan izin AWS yang valid untuk menjadwalkan pekerjaan notebook. Kami membahas langkah-langkah untuk menyiapkan kredensial dan Identitas AWS dan Manajemen Akses (IAM) izin nanti di posting ini. Selain pengguna IAM dan sesi peran yang diasumsikan menjadwalkan tugas, Anda juga perlu memberikan peran untuk instans tugas buku catatan untuk mengasumsikan akses ke data Anda di Layanan Penyimpanan Sederhana Amazon (Amazon S3) atau untuk terhubung ke Amazon ESDM cluster sesuai kebutuhan.
Di bagian berikut, kami menunjukkan cara menyiapkan arsitektur dan menginstal ekstensi sumber terbuka, menjalankan notebook dengan konfigurasi default, dan juga menggunakan parameter lanjutan untuk menjalankan notebook dengan pengaturan khusus.
Prasyarat
Untuk postingan ini, kami mengasumsikan lingkungan JupyterLab yang dihosting secara lokal. Anda juga dapat mengikuti langkah-langkah penginstalan yang sama untuk lingkungan yang dihosting di cloud.
Langkah-langkah berikut mengasumsikan bahwa Anda sudah memiliki lingkungan Python 3 dan JupyterLab yang valid (ekstensi ini berfungsi dengan JupyterLab v3.0 atau lebih tinggi).
Instal Antarmuka Baris Perintah AWS (AWS CLI) jika Anda belum menginstalnya. Melihat Menginstal atau memperbarui versi terbaru AWS CLI untuk instruksi.
Siapkan kredensial IAM
Anda memerlukan pengguna IAM atau sesi peran IAM aktif untuk mengirimkan pekerjaan notebook SageMaker. Untuk menyiapkan kredensial IAM, Anda dapat mengonfigurasi AWS CLI dengan kredensial AWS untuk pengguna IAM Anda, atau menjalankan peran IAM. Untuk petunjuk tentang menyiapkan kredensial Anda, lihat Mengonfigurasi AWS CLI. Prinsipal IAM (pengguna atau peran yang diasumsikan) memerlukan izin berikut untuk menjadwalkan pekerjaan notebook. Untuk menambahkan kebijakan ke prinsipal Anda, lihat Menambahkan izin identitas IAM.
Jika pekerjaan buku catatan Anda perlu dienkripsi dengan yang dikelola pelanggan Layanan Manajemen Kunci AWS (AWS KMS), tambahkan pernyataan kebijakan yang memungkinkan akses AWS KMS juga. Untuk contoh kebijakan, lihat Instal kebijakan dan izin untuk lingkungan Jupyter lokal.
Siapkan peran IAM untuk instance pekerjaan notebook
SageMaker memerlukan peran IAM untuk menjalankan tugas atas nama pengguna, seperti menjalankan tugas notebook. Peran ini harus memiliki akses ke sumber daya yang diperlukan notebook untuk menyelesaikan pekerjaan, seperti akses ke data di Amazon S3.
Ekstensi penjadwal secara otomatis mencari peran IAM di akun AWS, dengan awalan SagemakerJupyterScheduler
untuk menjalankan pekerjaan notebook.
Untuk membuat peran IAM, membuat peran eksekusi untuk Amazon SageMaker dengan AmazonSageMakerFullAccess
kebijakan. Beri nama peran SagemakerJupyterSchedulerDemo
, atau berikan nama dengan awalan yang diharapkan.
Setelah peran dibuat, pada Percayai hubungan tab, pilih Edit kebijakan kepercayaan. Ganti kebijakan kepercayaan yang ada dengan yang berikut ini:
Grafik AmazonSageMakerFullAccess
kebijakan cukup permisif dan umumnya lebih disukai untuk eksperimen dan memulai dengan SageMaker. Kami sangat menganjurkan Anda untuk membuat kebijakan cakupan minimum untuk setiap beban kerja mendatang sesuai dengan praktik terbaik keamanan di IAM. Untuk kumpulan izin minimum yang diperlukan untuk pekerjaan notebook, lihat Instal kebijakan dan izin untuk lingkungan Jupyter lokal.
Instal ekstensi
Buka terminal di mesin lokal Anda dan instal ekstensi dengan menjalankan perintah berikut:
Setelah perintah ini dijalankan, Anda dapat memulai JupyterLab dengan menjalankan lab jupyter.
Jika Anda memasang ekstensi dari dalam terminal JupyterLab, mulai ulang server Jupyter untuk memuat ekstensi. Anda dapat memulai ulang server Jupyter dengan memilih menutup pada File menu dari JupyterLab Anda, dan mulai JupyterLab dari baris perintah Anda dengan menjalankan jupyter lab
.
Kirim pekerjaan buku catatan
Setelah ekstensi diinstal di lingkungan Anda, Anda dapat menjalankan notebook mandiri apa pun sebagai pekerjaan singkat. Mari kirimkan buku catatan "Halo dunia" sederhana untuk dijalankan sebagai tugas terjadwal.
- pada File menu, pilih New dan buku catatan.
- Masukkan konten berikut:
Setelah ekstensi berhasil dipasang, Anda akan melihat ikon penjadwalan buku catatan di buku catatan.
- Pilih ikon untuk membuat pekerjaan buku catatan.
Alternatifnya, Anda dapat mengeklik kanan buku catatan di penjelajah file dan memilih Buat pekerjaan buku catatan.
- Berikan nama pekerjaan, file input, jenis komputasi, dan parameter tambahan.
- Biarkan pengaturan yang tersisa di default dan pilih Buat.
Setelah pekerjaan dijadwalkan, Anda dialihkan ke Pekerjaan Buku Catatan tab, tempat Anda dapat melihat daftar pekerjaan buku catatan dan statusnya, serta melihat keluaran dan log buku catatan setelah pekerjaan selesai. Anda juga dapat mengakses jendela pekerjaan buku catatan ini dari Peluncur, seperti yang ditunjukkan pada tangkapan layar berikut.
Konfigurasi lanjutan
Dari komputasi lokal Anda, notebook secara otomatis berjalan pada image SageMaker Base Python, yang merupakan image resmi Python 3.8 dari Docker Hub dengan Boto3 dan AWS CLI disertakan. Dalam kasus dunia nyata, ilmuwan data perlu menginstal paket atau kerangka kerja khusus untuk notebook mereka. Ada tiga cara untuk mencapai lingkungan yang dapat direproduksi:
- Pada opsi paling sederhana, Anda dapat menginstal paket dan kerangka kerja langsung di sel pertama notebook Anda.
- Anda juga dapat menyediakan skrip inisialisasi di Opsi tambahan bagian, menunjuk ke skrip bash di penyimpanan lokal Anda yang dijalankan oleh pekerjaan notebook saat notebook dinyalakan. Di bagian berikut, kami menunjukkan contoh penggunaan skrip inisialisasi untuk menginstal paket.
- Terakhir, jika Anda menginginkan fleksibilitas maksimum dalam mengonfigurasi lingkungan proses Anda, Anda dapat membuat gambar kustom Anda sendiri dengan kernel Python3, dorong gambar tersebut ke Registry Kontainer Elastis Amazon (Amazon ECR), dan berikan URI gambar ECR ke pekerjaan notebook Anda di bawah Opsi tambahan. Gambar ECR harus mengikuti persyaratan untuk gambar SageMaker, seperti yang tercantum di Spesifikasi gambar SageMaker khusus.
Selain itu, perusahaan Anda mungkin menyiapkan pagar pembatas seperti menjalankan pekerjaan dalam mode bebas internet dalam Amazon VPC, menggunakan peran kustom dengan hak istimewa paling rendah untuk pekerjaan tersebut, dan menerapkan enkripsi. Anda dapat menentukan konfigurasi tersebut untuk pekerjaan notebook Anda di Opsi tambahan bagian juga. Untuk daftar detail konfigurasi lanjutan, lihat Opsi tambahan.
Tambahkan skrip inisialisasi
Untuk menampilkan skrip inisialisasi, kami sekarang menjalankan contoh notebook untuk pekerjaan notebook Studio yang tersedia di GitHub. Untuk menjalankan notebook ini, Anda perlu menginstal paket yang diperlukan melalui skrip inisialisasi. Selesaikan langkah-langkah berikut:
- Dari terminal JupyterLab Anda, jalankan perintah berikut untuk mengunduh file:
- pada File menu, pilih New dan File teks.
- Masukkan konten berikut ke file Anda, dan simpan file dengan nama
init-script.sh
: - Pilih
scheduled-example.ipynb
dari file explorer Anda untuk membuka notebook. - Pilih ikon pekerjaan buku catatan untuk menjadwalkan buku catatan, dan luaskan Opsi tambahan bagian.
- Untuk Lokasi skrip inisialisasi, masukkan jalur lengkap skrip Anda.
Anda juga dapat mengkustomisasi folder S3 input dan output untuk pekerjaan notebook Anda. SageMaker membuat folder input di lokasi S3 yang ditentukan untuk menyimpan file input, dan membuat folder S3 output tempat output notebook disimpan. Anda dapat menentukan enkripsi, peran IAM, dan konfigurasi VPC di sini. Melihat Kendala dan pertimbangan untuk gambar kustom dan spesifikasi VPC.
- Untuk saat ini, cukup perbarui skrip inisialisasi, pilih Lari sekarang untuk jadwal, dan pilih membuat.
Saat pekerjaan selesai, Anda dapat melihat buku catatan dengan keluaran dan log keluaran di bawah File keluaran, seperti yang ditunjukkan pada tangkapan layar berikut. Di log keluaran, Anda seharusnya dapat melihat skrip inisialisasi dijalankan sebelum menjalankan notebook.
Untuk menyesuaikan lebih lanjut lingkungan pekerjaan buku catatan, Anda dapat menggunakan gambar Anda sendiri dengan menentukan URI ECR dari gambar khusus Anda. Jika Anda membawa image Anda sendiri, pastikan Anda menginstal kernel Python3 saat membangun image Anda. Untuk contoh Dockerfile yang dapat menjalankan notebook menggunakan TensorFlow, lihat kode berikut:
Kesimpulan
Dalam postingan ini, kami menunjukkan cara menjalankan notebook Anda dari lingkungan JupyterLab mana pun yang dihosting secara lokal sebagai tugas pelatihan SageMaker, menggunakan ekstensi penjadwal SageMaker Jupyter. Mampu menjalankan notebook dengan cara tanpa kepala, sesuai jadwal, sangat mengurangi beban berat bagi ilmuwan data, seperti refactoring notebook ke skrip Python, penyiapan Jembatan Acara Amazon pemicu peristiwa, dan pembuatan AWS Lambda fungsi atau pipeline SageMaker untuk memulai tugas pelatihan. Pekerjaan notebook SageMaker dijalankan sesuai permintaan, jadi Anda hanya membayar waktu notebook dijalankan, dan Anda dapat menggunakan ekstensi pekerjaan notebook untuk melihat keluaran notebook kapan saja dari lingkungan JupyterLab Anda. Kami mendorong Anda untuk mencoba pekerjaan buku catatan terjadwal, dan terhubung dengan Pembelajaran Mesin & komunitas AI di re: Post untuk umpan balik!
Tentang penulis
Bhadrinath Pani adalah Insinyur Pengembangan Perangkat Lunak di Amazon Web Services, mengerjakan produk ML interaktif Amazon SageMaker, dengan pengalaman lebih dari 12 tahun dalam pengembangan perangkat lunak di seluruh domain seperti otomotif, IoT, AR/VR, dan visi komputer. Saat ini, fokus utamanya adalah mengembangkan alat pembelajaran mesin yang ditujukan untuk menyederhanakan pengalaman para ilmuwan data. Di waktu luangnya, dia menikmati menghabiskan waktu bersama keluarganya dan menjelajahi keindahan Pacific Northwest.
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/schedule-your-notebooks-from-any-jupyterlab-environment-using-the-amazon-sagemaker-jupyterlab-extension/
- :memiliki
- :adalah
- :Di mana
- $NAIK
- 100
- 12
- 202
- 2022
- 7
- 77
- 8
- a
- kemampuan
- Sanggup
- Tentang Kami
- mengakses
- Akses ke data
- dapat diakses
- sesuai
- Akun
- Mencapai
- di seluruh
- Tindakan
- aktif
- kegiatan
- menambahkan
- tambahan
- Tambahan
- maju
- Setelah
- AI
- AI / ML
- ditujukan
- Semua
- mengizinkan
- Membiarkan
- sudah
- juga
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- dan
- Apa pun
- AR / VR
- arsitektur
- ADALAH
- AS
- diasumsikan
- At
- mengotomatisasikan
- secara otomatis
- otomotif
- tersedia
- jauh
- AWS
- mendasarkan
- menampar
- BE
- Kecantikan
- menjadi
- sebelum
- makhluk
- TERBAIK
- Praktik Terbaik
- Memblokir
- Membawa
- membangun
- Bangunan
- bisnis
- by
- CAN
- kasus
- Pilih
- memilih
- awan
- infrastruktur cloud
- kode
- COM
- masyarakat
- lengkap
- menghitung
- komputer
- Visi Komputer
- kondisi
- konfigurasi
- Terhubung
- Wadah
- isi
- Core
- membuat
- dibuat
- menciptakan
- membuat
- Surat kepercayaan
- Sekarang
- adat
- pelanggan
- pelanggan
- menyesuaikan
- data
- ilmu data
- Desember
- Default
- Permintaan
- penyebaran
- terperinci
- berkembang
- Pengembangan
- langsung
- membahas
- Display
- Pengalihan
- Buruh pelabuhan
- domain
- Dont
- turun
- Download
- efek
- mendorong
- terenkripsi
- enkripsi
- Menegakkan
- insinyur
- Teknik
- memastikan
- Enter
- Enterprise
- pelanggan perusahaan
- Lingkungan Hidup
- lingkungan
- Eter (ETH)
- Acara
- peristiwa
- semua orang
- contoh
- contoh
- eksekusi
- ada
- Lihat lebih lanjut
- diharapkan
- mengharapkan
- pengalaman
- penjelajah
- Menjelajahi
- perpanjangan
- hampir
- keluarga
- Fitur
- File
- File
- Pertama
- keluwesan
- Fokus
- mengikuti
- berikut
- Untuk
- kerangka
- Gratis
- dari
- penuh
- fungsi
- lebih lanjut
- masa depan
- Mendapatkan
- umumnya
- mendapatkan
- sangat
- memiliki
- Memiliki
- he
- berat
- angkat berat
- membantu
- membantu
- dia
- di sini
- lebih tinggi
- sangat
- -nya
- host
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- Pusat
- IAM
- ICON
- identitas
- if
- gambar
- gambar
- mengimpor
- in
- memasukkan
- termasuk
- Infrastruktur
- memasukkan
- wawasan
- install
- instalasi
- diinstal
- Instalasi
- contoh
- instruksi
- interaktif
- ke
- diperkenalkan
- idiot
- IT
- NYA
- Pekerjaan
- Jobs
- kunci
- kunci-kunci
- laboratorium
- kemudian
- Terbaru
- pengetahuan
- pengangkatan
- 'like'
- baris
- Daftar
- Daftar
- memuat
- lokal
- lokal
- tempat
- mencatat
- Panjang
- TERLIHAT
- mencintai
- mesin
- Mesin belajar
- Utama
- Membuat
- berhasil
- pengelolaan
- cara
- matplotlib.dll
- maksimum
- Mungkin..
- menu
- Metrik
- mungkin
- minimum
- ML
- mode
- model
- sepeda motor
- bergerak
- Misteri
- nama
- Perlu
- dibutuhkan
- kebutuhan
- New
- buku catatan
- laptop
- sekarang
- mati rasa
- of
- resmi
- on
- hanya
- Buka
- open source
- pilihan
- or
- keluaran
- lebih
- mengawasi
- sendiri
- Pasifik
- paket
- paket
- panda
- parameter
- bergairah
- path
- Membayar
- Izin
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- Kebijakan
- kebijaksanaan
- Pos
- praktek
- lebih suka
- disukai
- sebelumnya
- Utama
- proses
- Produk
- memberikan
- menyediakan
- Dorong
- Ular sanca
- RE
- dunia nyata
- mengurangi
- Hubungan
- yang tersisa
- BERKALI-KALI
- menggantikan
- laporan
- wajib
- Persyaratan
- membutuhkan
- sumber
- Sumber
- dihasilkan
- pelatihan ulang
- Klik kanan
- Peran
- peran
- Run
- berjalan
- berjalan
- SA
- pembuat bijak
- Pipa SageMaker
- sama
- Contoh kumpulan data
- Save
- skala
- skenario
- menjadwalkan
- dijadwalkan
- Pekerjaan terjadwal
- penjadwalan
- Ilmu
- ilmuwan
- script
- Pencarian
- Bagian
- bagian
- keamanan
- melihat
- layanan
- Layanan
- Sidang
- set
- pengaturan
- pengaturan
- dia
- harus
- Menunjukkan
- menampilkan
- menunjukkan
- ditunjukkan
- Sederhana
- menyederhanakan
- menyederhanakan
- hanya
- kecil
- So
- Perangkat lunak
- pengembangan perangkat lunak
- larutan
- Solusi
- tertentu
- spesifikasi
- ditentukan
- Pengeluaran
- awal
- mulai
- Mulai
- dimulai
- Pernyataan
- Status
- Tangga
- penyimpanan
- menyimpan
- tersimpan
- sangat
- studio
- menyerahkan
- berhasil
- seperti itu
- tim
- tensorflow
- terminal
- uji
- bahwa
- Grafik
- mereka
- Sana.
- Ini
- ini
- tiga
- Melalui
- waktu
- untuk
- alat
- Pelatihan
- transisi
- benar
- Kepercayaan
- mencoba
- mengetik
- bawah
- Memperbarui
- memperbarui
- URI
- menggunakan
- bekas
- Pengguna
- menggunakan
- Berharga
- versi
- View
- penglihatan
- ingin
- adalah
- cara
- we
- jaringan
- layanan web
- BAIK
- ketika
- yang
- dengan
- dalam
- Alur kerja
- kerja
- bekerja
- tahun
- kamu
- Anda
- zephyrnet.dll