Menjalankan file notebook dengan eksekutor

Halaman ini menjelaskan cara menggunakan eksekutor dalam instance notebook terkelola Vertex AI Workbench untuk menjalankan file notebook sebagai eksekusi satu kali dan sesuai jadwal.

Ringkasan

Eksekutor memungkinkan Anda mengirim file notebook (ipynb) untuk dijalankan pada pelatihan kustom Vertex AI. Anda dapat menetapkan nilai parameter untuk setiap eksekusi file notebook. Anda juga dapat menjalankan file notebook berdasarkan jadwal berulang. Setelah eksekusi selesai, Anda dapat melihat hasil eksekusi dan membagikannya kepada orang lain.

Saat file notebook dikirim ke pelatihan kustom Vertex AI, Vertex AI akan membuat tugas pelatihan kustom baru yang menjalankan file notebook Anda dengan mengikuti siklus proses tugas pelatihan.

Persyaratan untuk kode notebook yang dijalankan oleh eksekutor

Saat menulis kode notebook untuk dijalankan di eksekutor, perlu diingat bahwa kode tersebut akan berjalan di project tenant yang terpisah dari project instance notebook terkelola Anda. Bagian ini menjelaskan bagaimana hal tersebut berpengaruh terhadap kode Anda saat dijalankan di eksekutor.

Memastikan penginstalan paket tersedia bagi eksekutor

Jika notebook Anda bergantung pada penginstalan paket yang belum disertakan dalam kernel notebook terkelola yang Anda gunakan, pastikan paket tersebut tersedia untuk kode notebook Anda di eksekutor dengan salah satu cara berikut:

  • Gunakan container kustom dengan paket yang sudah terinstal di dalamnya, lalu jalankan notebook Anda di container kustom tersebut. Lihat persyaratan untuk menggunakan container kustom dengan eksekutor.

  • Instal paket dalam kode file notebook Anda. Paket akan diinstal setiap kali file notebook dijalankan, tetapi ini memastikan bahwa paket tersedia di container yang Anda pilih saat menjalankan notebook Anda.

Menggunakan pemilihan project eksplisit

Saat Anda mengakses resource melalui kode yang dijalankan oleh eksekutor, eksekutor mungkin tidak terhubung ke project Google Cloud yang benar. Jika Anda mengalami kesalahan izin akses, masalah tersebut kemungkinan terjadi karena project salah.

Masalah tersebut terjadi karena eksekutor tidak menjalankan kode Anda secara langsung di project Google Cloud instance notebook terkelola Anda. Sebagai gantinya, eksekutor menjalankan kode Anda dalam pelatihan kustom Vertex AI dalam project tenant yang dikelola oleh Google. Oleh karena itu, jangan mencoba menyimpulkan ID project dari lingkungan dalam kode notebook Anda; tentukan ID project secara eksplisit.

Jika tidak ingin melakukan hardcode pada ID project dalam kode, Anda dapat mereferensikan variabel lingkungan CLOUD_ML_PROJECT_ID. Vertex AI menetapkan variabel lingkungan ini di setiap container pelatihan kustom untuk memuat nomor project dari project tempat Anda memulai pelatihan kustom. Banyak alat Google Cloud yang dapat menerima nomor project ke mana pun alat tersebut mengambil ID project.

Misalnya, jika Anda ingin menggunakan Klien Python untuk Google BigQuery untuk mengakses tabel BigQuery dalam project yang sama, jangan menyimpulkan project di kode notebook Anda:

Pemilihan project secara implisit

from google.cloud import bigquery

client = bigquery.Client()

Sebagai gantinya, gunakan kode yang secara eksplisit memilih project:

Pemilihan project secara eksplisit

import os

from google.cloud import bigquery

project_number = os.environ["CLOUD_ML_PROJECT_ID"]

client = bigquery.Client(project=project_number)

Mengautentikasi akses menggunakan akun layanan

Secara default, instance notebook terkelola Anda dapat memiliki akses ke resource yang ada dalam project yang sama. Oleh karena itu, saat Anda menjalankan kode file notebook secara manual, resource ini tidak memerlukan autentikasi tambahan. Namun, karena eksekutor berjalan dalam project tenant terpisah, eksekutor tersebut tidak memiliki akses default yang sama.

Selain itu, eksekutor tidak dapat menggunakan kredensial pengguna akhir untuk mengautentikasi akses ke resource, misalnya, perintah gcloud auth login.

Untuk mengatasi masalah ini, dalam kode file notebook Anda, autentikasi akses ke resource melalui akun layanan.

Kemudian, saat Anda membuat eksekusi atau jadwal, tentukan akun layanan.

Misalnya, saat membuat eksekusi, selesaikan langkah-langkah berikut:

  1. Pada dialog Submit notebooks to Executor, luaskan Advanced options.

  2. Di bagian Identity and API access, hapus tanda centang di samping Use Vertex AI Training's default service account, lalu masukkan akun layanan tertentu yang akan digunakan.

Lihat daftar lengkap langkah-langkah untuk membuat eksekusi.

Persyaratan saat menggunakan container kustom

Anda dapat menggunakan eksekutor untuk menjalankan kode notebook pada container kustom. Container kustom Anda harus menyertakan ekstensi nbexecutor, yang memungkinkan eksekutor menjalankan kode notebook sebagai tugas pelatihan kustom Vertex AI. Untuk memastikan container kustom Anda memiliki ekstensi nbexecutor, Anda dapat mengubah salah satu image container Deep Learning Containers untuk membuat image container turunan. Image Deep Learning Containers menyertakan ekstensi nbexecutor.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Notebooks and Vertex AI.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan API Notebooks and Vertex AI.

    Mengaktifkan API

  8. Buat instance notebook terkelola, jika Anda belum membuatnya.

Peran yang diperlukan

Untuk memastikan bahwa akun layanan instance Anda memiliki izin yang diperlukan untuk berinteraksi dengan eksekutor Vertex AI Workbench, minta administrator untuk memberi akun layanan instans Anda peran IAM berikut di project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.

Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada akun layanan instance Anda melalui peran kustom atau peran yang telah ditetapkan.

Membuka JupyterLab

Untuk membuka JupyterLab dan menyiapkan file notebook untuk dijalankan, selesaikan langkah-langkah berikut.

  1. Buka JupyterLab.

  2. Upload file notebook (ipynb), buka file yang sudah ada, atau buka file notebook baru, lalu tambahkan kode yang ingin Anda jalankan ke notebook baru.

  3. Pastikan kode file notebook Anda memenuhi persyaratan untuk menggunakan eksekutor.

Membuat eksekusi

Untuk membuat eksekusi yang menjalankan file notebook, selesaikan langkah-langkah berikut. Langkah-langkah ini mencakup penjadwalan eksekusi dan pembuatan eksekusi satu kali.

  1. Di antarmuka pengguna JupyterLab instance notebook terkelola Anda, buka file notebook yang ingin Anda jalankan.

  2. Klik tombol  Execute.

  3. Pada dialog Submit notebooks to Executor, di kolom Execution name, masukkan nama untuk eksekusi Anda.

  4. Pilih Machine type dan Accelerator type.

  5. Pilih Environment.

  6. Di kolom Type, pilih One-time execution, atau pilih Schedule-based recurring executions, lalu selesaikan dialog untuk menjadwalkan eksekusi.

  7. Di Advanced options, pilih Region tempat Anda ingin menjalankan notebook.

  8. Di kolom Cloud Storage bucket, pilih bucket Cloud Storage yang tersedia atau masukkan nama untuk bucket baru, lalu klik Create and select. Eksekutor menyimpan output notebook Anda di bucket Cloud Storage ini.

  9. Opsional: di bagian Notebook parameterization, dalam kotak teks Input parameters, tambahkan parameter notebook yang dipisahkan dengan koma, misalnya optimizer="SGD",learning_rate=0.01.

    Pelajari lebih lanjut cara menggunakan parameter notebook.

  10. Opsional: di bagian Identity and API access, pilih Use Vertex AI Training's default service account atau hapus tanda centang dan masukkan akun layanan tertentu untuk gunakan.

  11. Opsional: di bagian Networking, tentukan jaringan Virtual Private Cloud. Penggunaan jaringan VPC untuk eksekusi Anda memerlukan koneksi akses layanan pribadi.

  12. Klik Submit.

    Eksekusi satu kali dimulai dengan segera. Eksekusi terjadwal akan otomatis berjalan sesuai jadwal yang Anda tetapkan.

Di konsol Google Cloud, di halaman Vertex AI Workbench, Anda dapat melihat eksekusi yang sudah selesai di tab Executions dan melihat jadwal di tab Schedules.

Melihat, membagikan, dan mengimpor file notebook yang dijalankan

Dengan menggunakan antarmuka pengguna JupyterLab instance notebook terkelola, Anda dapat melihat output notebook yang dieksekusi, membagikan hasilnya dengan orang lain, dan mengimpor file notebook yang dieksekusi ke JupyterLab.

Melihat hasil eksekusi notebook

Anda dapat melihat hasil eksekusi notebook di konsol Google Cloud atau di antarmuka pengguna JupyterLab.

Konsol

  1. Di konsol Google Cloud, buka halaman Vertex AI Workbench, lalu klik tab Executions.

    Buka Executions

  2. Pilih Region yang berisi hasil Anda.

  3. Di samping eksekusi yang ingin dilihat, klik View result.

    Hasilnya akan terbuka di tab browser baru.

JupyterLab

  1. Di menu navigasi JupyterLab, klik tombol  Notebook Executor.

  2. Klik tab Executions.

  3. Di bagian eksekusi yang ingin Anda lihat, klik View result.

    Hasilnya akan terbuka di tab browser baru.

Membagikan hasil eksekusi notebook

Anda dapat membagikan hasil eksekusi dengan memberikan akses ke bucket Cloud Storage yang berisi eksekusi notebook Anda. Dengan menyediakan akses ini, pengguna juga akan memiliki akses ke resource lain di bucket Cloud Storage yang sama. Untuk membagikan hasil eksekusi, selesaikan langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud, buka halaman Vertex AI Workbench, lalu klik tab Executions.

    Buka Executions

  2. Pilih Region yang berisi eksekusi.

  3. Di samping eksekusi yang ingin dibagikan, klik tombol  Share.

  4. Ikuti petunjuk dalam dialog untuk memberi pengguna akses ke bucket Cloud Storage yang berisi eksekusi notebook Anda.

JupyterLab

  1. Pada antarmuka pengguna JupyterLab instance notebook terkelola Anda, di menu navigasi, klik tombol  Notebook Executor.

  2. Klik tab Executions.

  3. Di samping eksekusi yang ingin Anda bagikan, klik menu opsi , lalu pilih Share execution result.

  4. Ikuti petunjuk dalam dialog untuk memberi pengguna akses ke bucket Cloud Storage yang berisi eksekusi notebook Anda.

Mengimpor notebook yang dieksekusi ke JupyterLab

Untuk mengimpor notebook yang dieksekusi ke JupyterLab, selesaikan langkah-langkah berikut.

  1. Pada antarmuka pengguna JupyterLab instance notebook terkelola Anda, di menu navigasi, klik tombol  Notebook Executor.

  2. Klik tab Executions.

  3. Pilih Region yang berisi notebook Anda yang dijalankan.

  4. Di samping eksekusi yang ingin Anda impor, klik menu opsi , dan pilih Impor notebook yang dieksekusi.

  5. Pilih kernel yang ingin Anda buka notebook-nya.

    Eksekutor membuka file notebook yang dieksekusi di JupyterLab, dan menyimpan file notebook ini di File Browser JupyterLab dalam folder bernama imported_notebook_jobs.

Melihat atau menghapus jadwal

Anda dapat melihat dan menghapus jadwal menggunakan konsol Google Cloud atau antarmuka pengguna JupyterLab instance notebook terkelola Anda.

Melihat jadwal

Lihat jadwal untuk melihat setelan frekuensi jadwal atau melihat hasil eksekusi notebook Anda.

Konsol

  1. Di konsol Google Cloud, buka halaman Vertex AI Workbench, lalu klik tab Schedules.

    Buka Schedules

  2. Pilih Region yang berisi jadwal Anda.

  3. Klik nama jadwal untuk membuka halaman Schedule details.

  4. Di samping nama eksekusi, klik View result untuk membuka file notebook yang dijalankan. Eksekutor akan membuka hasil Anda di tab browser baru.

JupyterLab

  1. Pada antarmuka pengguna JupyterLab instance notebook terkelola Anda, di menu navigasi, klik tombol  Notebook Executor.

  2. Klik tab Schedules.

  3. Untuk melihat eksekusi terakhir, di bagian eksekusi yang ingin Anda lihat, klik View new execution result. Eksekutor akan membuka hasil Anda di tab browser baru.

    Untuk melihat semua eksekusi, klik nama jadwal. Eksekutor akan membuka halaman Schedule details di konsol Google Cloud.

  4. Di samping nama eksekusi, klik View result untuk membuka file notebook yang dijalankan. Eksekutor akan membuka hasil Anda di tab browser baru.

Menghapus jadwal

Menghapus jadwal tidak akan menghapus eksekusi yang dihasilkan dari jadwal tersebut.

Konsol

  1. Di konsol Google Cloud, buka halaman Vertex AI Workbench, lalu klik tab Schedules.

    Buka Schedules

  2. Pilih Region yang berisi jadwal Anda.

  3. Pilih jadwal yang ingin dihapus.

  4. Klik  Delete.

JupyterLab

  1. Pada antarmuka pengguna JupyterLab instance notebook terkelola Anda, di menu navigasi, klik tombol  Notebook Executor.

  2. Klik tab Schedules.

  3. Klik nama jadwal yang ingin Anda hapus. Eksekutor akan membuka halaman Schedule details di konsol Google Cloud.

  4. Klik  Delete.

Tugas di pelatihan kustom Vertex AI

Karena eksekusi notebook dijalankan pada pelatihan kustom Vertex AI, eksekusi tersebut diekspos sebagai tugas pelatihan kustom di Vertex AI. Anda dapat melihat tugas pelatihan kustom ini di konsol Google Cloud, di tab Custom jobs di halaman Vertex AI Training. Pelajari lebih lanjut cara menggunakan tugas pelatihan kustom Vertex AI.

Langkah selanjutnya