Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Jalankan notebook sebagai tugas batch di Amazon SageMaker Studio Lab

Baru-baru ini Studio Amazon SageMaker meluncurkan cara mudah untuk menjalankan buku catatan sebagai tugas batch yang dapat dijalankan dengan jadwal berulang. Lab Studio Amazon SageMaker juga mendukung fitur ini, memungkinkan Anda menjalankan notebook yang Anda kembangkan di SageMaker Studio Lab di akun AWS Anda. Hal ini memungkinkan Anda untuk dengan cepat menskalakan eksperimen machine learning (ML) dengan set data yang lebih besar dan instance yang lebih canggih, tanpa harus mempelajari sesuatu yang baru atau mengubah satu baris kode pun.

Dalam postingan ini, kami memandu Anda melalui prasyarat satu kali untuk menghubungkan lingkungan Studio Lab Anda ke akun AWS. Setelah itu, kami memandu Anda melalui langkah-langkah untuk menjalankan notebook sebagai tugas batch dari Studio Lab.

Ikhtisar solusi

Studio Lab memasukkan ekstensi yang sama dengan Studio, yang didasarkan pada ekstensi sumber terbuka Jupyter untuk buku catatan terjadwal. Ekstensi ini memiliki parameter khusus AWS tambahan, seperti tipe komputasi. Di Lab Studio, buku catatan terjadwal pertama kali disalin ke sebuah Layanan Penyimpanan Sederhana Amazon (Amazon S3) di akun AWS Anda, lalu jalankan pada waktu yang dijadwalkan dengan jenis komputasi yang dipilih. Saat pekerjaan selesai, output ditulis ke bucket S3, dan komputasi AWS dihentikan sepenuhnya, mencegah biaya berkelanjutan.

Prasyarat

Untuk menggunakan pekerjaan buku catatan Studio Lab, Anda memerlukan akses administratif ke akun AWS yang akan Anda hubungi (atau bantuan dari seseorang yang memiliki akses ini). Di sisa postingan ini, kami berasumsi bahwa Anda adalah administrator AWS, jika bukan itu masalahnya, mintalah administrator atau pemilik akun Anda untuk meninjau langkah-langkah ini bersama Anda.

Buat peran eksekusi SageMaker

Kami perlu memastikan bahwa akun AWS memiliki Identitas AWS dan Manajemen Akses (IAM) Peran eksekusi SageMaker. Peran ini digunakan oleh sumber daya SageMaker di dalam akun, dan memberikan akses dari SageMaker ke sumber daya lain di akun AWS. Dalam kasus kami, pekerjaan buku catatan kami berjalan dengan izin ini. Jika SageMaker telah digunakan sebelumnya di akun ini, peran mungkin sudah ada, tetapi mungkin tidak memiliki semua izin yang diperlukan. Jadi mari kita lanjutkan dan buat yang baru.

Langkah-langkah berikut hanya perlu dilakukan satu kali, terlepas dari berapa banyak lingkungan SageMaker Studio Lab yang akan mengakses akun AWS ini.

  1. Di konsol IAM, pilih Peran di panel navigasi.
  2. Pilih Buat peran.
  3. Untuk Jenis entitas tepercaya, pilih Layanan AWS.
  4. Untuk Kasus penggunaan untuk Layanan AWS lainnya, pilih SageMaker.
  5. Pilih SageMaker โ€“ Eksekusi.
  6. Pilih Selanjutnya.
  7. Tinjau izin, lalu pilih Selanjutnya.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  8. Untuk Nama peran, masukkan nama (untuk posting ini, kami menggunakan sagemaker-execution-role-notebook-jobs).
  9. Pilih Buat peran.
  10. Catat peran ARN.

Peran ARN akan dalam format arn:aws:iam::[account-number]:role/service-role/[role-name] dan diperlukan dalam penyiapan Lab Studio.

Buat pengguna IAM

Agar lingkungan Studio Lab dapat mengakses AWS, kami perlu membuat pengguna IAM di dalam AWS dan memberinya izin yang diperlukan. Kami kemudian perlu membuat satu set kunci akses untuk pengguna itu dan memberikannya ke lingkungan Studio Lab.

Langkah ini harus diulangi untuk setiap lingkungan SageMaker Studio Lab yang akan mengakses akun AWS ini.

Perhatikan bahwa administrator dan pemilik akun AWS harus memastikan bahwa praktik keamanan yang dirancang dengan baik semaksimal mungkin diikuti. Misalnya, izin pengguna harus selalu dibatasi, dan kunci akses harus dirotasi secara berkala untuk meminimalkan dampak penyusupan kredensial.

Di blog ini kami menunjukkan cara menggunakan AmazonSageMakerFullAccess kebijakan yang dikelola. Kebijakan ini memberikan akses luas ke Amazon SageMaker yang mungkin melampaui apa yang diperlukan. Detail tentang AmazonSageMakerFullAccess dapat ditemukan di sini.

Meskipun Studio Lab menerapkan keamanan perusahaan, perlu diperhatikan bahwa kredensial pengguna Lab Studio tidak menjadi bagian dari akun AWS Anda, dan karenanya, misalnya, tidak tunduk pada kata sandi AWS atau kebijakan MFA Anda.

Untuk membatasi izin sebanyak mungkin, kami membuat profil pengguna khusus untuk akses ini.

  1. Di konsol IAM, pilih pengguna di panel navigasi.
  2. Pilih Tambahkan pengguna.
  3. Untuk user name, masukkan nama. Sebaiknya gunakan nama yang ditautkan ke seseorang yang akan menggunakan akun ini; ini membantu jika meninjau log audit.
  4. Untuk Pilih jenis akses AWS, pilih Kunci akses โ€“ Akses terprogram.
  5. Pilih Berikutnya: Izin.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  6. Pilih Lampirkan kebijakan yang ada secara langsung.
  7. Cari dan pilih AmazonSageMakerFullAccess.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  8. Cari dan pilih AmazonEventBridgeFullAccess.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  9. Pilih Berikutnya: Tag.
  10. Pilih Berikutnya: Ulasan.
  11. Konfirmasikan kebijakan Anda, lalu pilih Buat pengguna.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Halaman terakhir dari proses pembuatan pengguna harus menunjukkan kepada Anda kunci akses pengguna. Biarkan tab ini terbuka, karena kami tidak dapat kembali ke sini dan kami memerlukan detail ini.
  12. Buka tab browser baru di Studio Lab.
  13. pada File menu, pilih Peluncur Baru, Lalu pilih terminal.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  14. Di baris perintah, masukkan kode berikut:
    aws configure

  15. Masukkan kode berikut:
    1. Masukkan nilai dari halaman konsol IAM untuk ID kunci akses dan kunci akses rahasia Anda.
    2. Untuk Default region name, Masuk us-west-2.
    3. Meninggalkan Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

Selamat, lingkungan Lab Studio Anda sekarang harus dikonfigurasi untuk mengakses akun AWS. Untuk menguji koneksi, keluarkan perintah berikut:

aws sts get-caller-identity

Perintah ini harus mengembalikan detail tentang pengguna IAM yang Anda konfigurasikan untuk digunakan.

Buat pekerjaan buku catatan

Pekerjaan notebook dibuat menggunakan notebook Jupyter di dalam Studio Lab. Jika notebook Anda berjalan di Lab Studio, maka itu dapat dijalankan sebagai pekerjaan notebook (dengan lebih banyak sumber daya dan akses ke layanan AWS). Namun, ada beberapa hal yang harus diperhatikan.

Jika Anda telah menginstal paket agar notebook Anda berfungsi, tambahkan perintah untuk memuat paket ini di sel di bagian atas notebook Anda. Dengan menggunakan simbol & di awal setiap baris, kode akan dikirimkan ke baris perintah untuk dijalankan. Dalam contoh berikut, sel pertama menggunakan pip untuk menginstal pustaka PyTorch:

%%capture
%pip install torch
%pip install torchvision

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Notebook kami akan menghasilkan model PyTorch yang terlatih. Dengan kode reguler kami, kami menyimpan model ke sistem file di Studio Labs.

Saat kami menjalankan ini sebagai pekerjaan notebook, kami perlu menyimpan model di suatu tempat yang dapat kami akses setelahnya. Cara termudah untuk melakukannya adalah dengan menyimpan model di Amazon S3. Kami membuat bucket S3 untuk menyimpan model kami, dan menggunakan sel baris perintah lain untuk menyalin objek ke dalam bucket.

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Kami menggunakan Antarmuka Baris Perintah AWS (AWS CLI) di sini untuk menyalin objek. Kita juga bisa menggunakan AWS SDK untuk Python (Boto3) jika kami ingin memiliki kontrol nama file yang lebih canggih atau otomatis. Untuk saat ini, kami akan memastikan bahwa kami mengubah nama file setiap kali menjalankan notebook sehingga model tidak ditimpa.

Sekarang kita siap untuk membuat tugas buku catatan.

  1. Pilih (klik kanan) nama buku catatan, lalu pilih Buat Pekerjaan Notebook.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
    Jika opsi menu ini tidak ada, Anda mungkin perlu menyegarkan lingkungan Lab Studio Anda. Untuk melakukannya, buka Terminal dari peluncur dan jalankan kode berikut:
    conda deactivate && conda env remove โ€”name studiolab

  2. Selanjutnya, mulai ulang instance JupyterLab Anda dengan memilih Lab Studio Amazon SageMaker dari menu atas, lalu pilih Mulai ulang JupyterLab.Alternatifnya, buka halaman proyek, dan matikan dan mulai ulang runtime.
  3. pada Ciptakan pekerjaan halaman, untuk Jenis komputasi, pilih jenis komputasi yang sesuai dengan pekerjaan Anda.

    Untuk informasi selengkapnya tentang berbagai jenis kapasitas komputasi, termasuk biayanya, lihat Harga Amazon SageMaker (memilih Harga Sesuai Permintaan dan arahkan ke menu Pelatihan tab. Anda juga mungkin perlu memeriksa ketersediaan kuota jenis komputasi di akun AWS Anda. Untuk informasi selengkapnya tentang kuota layanan, lihat: Kuota layanan AWS.Untuk contoh ini, kami telah memilih instans ml.p3.2xlarge, yang menawarkan 8 vCPU, memori 61 GB, dan GPU Tesla V100.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

    Jika tidak ada peringatan di halaman ini, Anda harus siap untuk pergi. Jika ada peringatan, periksa untuk memastikan peran ARN yang benar telah ditentukan Opsi tambahan. Peran ini harus cocok dengan ARN peran eksekusi SageMaker yang kita buat sebelumnya. ARN dalam format arn:aws:iam::[account-number]:role/service-role/[role-name].

    Ada opsi lain yang tersedia di dalamnya Opsi tambahan; misalnya, Anda dapat memilih image dan kernel tertentu yang mungkin sudah memiliki konfigurasi yang Anda perlukan tanpa perlu menginstal library tambahan.

  4. Jika Anda ingin menjalankan buku catatan ini sesuai jadwal, pilih Jalankan sesuai jadwal dan tentukan seberapa sering Anda ingin pekerjaan itu dijalankan.Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Kami ingin notebook ini berjalan sekali, jadi kami pilih Lari sekarang.
  5. Pilih membuat.
    Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Daftar pekerjaan buku catatan

Grafik Pekerjaan Buku Catatan halaman mencantumkan semua pekerjaan yang sedang berjalan dan yang berjalan di masa lalu. Anda dapat menemukan daftar ini dari Peluncur (pilih, File, Peluncur Baru), lalu pilih Pekerjaan Buku Catatan dalam Lainnya bagian.

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Saat pekerjaan buku catatan selesai, Anda akan melihat status berubah menjadi Completed (menggunakan mengisi kembali pilihan jika diperlukan). Anda kemudian dapat memilih ikon unduhan untuk mengakses file keluaran.

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Ketika file telah diunduh, Anda dapat meninjau notebook bersama dengan keluaran kode dan log keluaran. Dalam kasus kami, karena kami menambahkan kode ke waktu sel pelatihan berjalan, kami dapat melihat berapa lama waktu yang diperlukan untuk tugas pelatihanโ€”16 menit dan 21 detik, yang jauh lebih cepat daripada jika kode berjalan di dalam Studio Lab (1 jam , 38 menit, 55 detik). Faktanya, seluruh notebook berjalan dalam 1,231 detik (lebih dari 20 menit) dengan biaya di bawah $1.30 (USD).

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

W sekarang dapat menambah jumlah zaman dan menyesuaikan hyperparameter untuk meningkatkan nilai kerugian model, dan mengirimkan pekerjaan notebook lainnya.

Kesimpulan

Dalam postingan ini, kami menunjukkan cara menggunakan pekerjaan notebook Studio Lab untuk menskalakan kode yang kami kembangkan di Studio Lab dan menjalankannya dengan lebih banyak sumber daya di akun AWS.

Dengan menambahkan kredensial AWS ke lingkungan Studio Lab kami, kami tidak hanya dapat mengakses pekerjaan notebook, tetapi kami juga dapat mengakses sumber daya lain dari akun AWS langsung dari dalam notebook Studio Lab kami. Lihatlah AWS SDK untuk Python.

Kemampuan ekstra Studio Lab ini mengangkat batasan jenis dan ukuran proyek yang dapat Anda capai. Beri tahu kami apa yang Anda bangun dengan kemampuan baru ini!


Tentang penulis

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Kamar Mike adalah Pengacara Pengembang untuk AI dan ML di AWS. Dia telah menghabiskan 7 tahun terakhir membantu para pembuat untuk mempelajari cloud, keamanan, dan ML. Berasal dari Inggris, Mike adalah peminum teh yang bersemangat dan pembuat Lego.

Jalankan buku catatan sebagai pekerjaan batch di Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Michele Monclova adalah manajer produk utama di AWS di tim SageMaker. Dia adalah penduduk asli New York dan veteran Silicon Valley. Dia bersemangat tentang inovasi yang meningkatkan kualitas hidup kita.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS