Machine Learning Designer mengintegrasikan Komponen Notebook, yang bekerja secara mulus dengan instance Data Science Workshop (DSW). Anda dapat menggunakan Komponen Notebook untuk menulis, memperbaiki kesalahan, dan menjalankan kode dalam pipeline tanpa mengganggu konteks atau status pipeline.
Informasi Latar Belakang
Komponen Notebook banyak digunakan di komunitas sumber terbuka. Banyak pengembang data atau Kecerdasan Buatan (AI) telah menganggapnya sebagai alat yang kuat untuk menulis dan memperbaiki kode. Machine Learning Designer mengintegrasikan Komponen Notebook, yang berfungsi secara mulus dengan instance DSW. Anda dapat menggunakan Komponen Notebook untuk menulis, memperbaiki kesalahan, dan menjalankan kode dalam pipeline tanpa mengganggu konteks atau status pipeline.
Komponen Notebook dari Machine Learning Designer memiliki keunggulan berikut dibandingkan DSW:
Meningkatkan efisiensi pengembangan: Anda dapat langsung membuka editor Notebook dalam pipeline dan mengembangkan serta memperbaiki kode pada instance yang dikontainerisasi.
Mempertahankan konteks: Komponen Notebook secara otomatis memuat data keluaran dan status komponen hulu dalam pipeline ketika sebuah instance dimulai. Dengan cara ini, Anda dapat menggunakan data tersebut untuk analisis dan pengembangan lebih lanjut serta meneruskan hasilnya ke komponen hilir.
Memperbaiki pipeline secara keseluruhan: Komponen Notebook digunakan sebagai bagian dari pipeline. Anda dapat beralih secara mulus antara komponen yang berbeda untuk mengoptimalkan seluruh proses pemrosesan data dan pelatihan model.
Skenario
Pengembangan
Anda dapat memulai instance DSW di Komponen Notebook dan memodifikasi file Notebook pada instance DSW untuk mengembangkan dan memperbaiki kode. Anda juga dapat memperoleh konfigurasi parameter kustom dari Machine Learning Designer.
Jika Anda menggunakan grup sumber daya bayar sesuai pemakaian, Anda akan dikenakan biaya berdasarkan durasi berjalan instance DSW. Untuk informasi lebih lanjut, lihat Penagihan DSW.
Berjalan
Jika Anda menjalankan Komponen Notebook atau pipeline di kanvas Machine Learning Designer atau menggunakan DataWorks untuk menjadwalkan pipeline secara berkala, sistem memulai Pekerjaan Deep Learning Containers (DLC) untuk menjalankan file Notebook yang dikonversi oleh Jupyter nbconvert.
Jika Anda menggunakan grup sumber daya bayar sesuai pemakaian, Anda akan dikenakan biaya berdasarkan durasi berjalan pekerjaan DLC. Untuk informasi lebih lanjut, lihat Penagihan DLC.
Deskripsi Komponen
Komponen Notebook memiliki empat port input dan empat port output. Semua port input dapat digunakan untuk menerima data Object Storage Service (OSS) atau data tabel MaxCompute. Di antara port output, port 1 dan 2 digunakan untuk meneruskan data ke OSS, sedangkan port 3 dan 4 digunakan untuk meneruskan data ke tabel MaxCompute.
Sebelum memulai instance DSW menggunakan Komponen Notebook, Anda harus menginstal paket pai-notebook-utils untuk mendapatkan informasi tentang port input, port output, dan parameter kustom node Notebook.
Instal dan gunakan paket pai-notebook-utils
Instal pai-notebook-utils
pip install --upgrade https://pai-sdk.oss-cn-shanghai.aliyuncs.com/pai_notebook_utils/dist/pai_notebook_utils-0.0.1-py2.py3-none-any.whlGunakan pai-notebook-utils
Paket pai-notebook-utils menyediakan fungsi
get_inputs(),get_outputs(), danget_custom_params(). Fungsi get_inputs() digunakan untuk mendapatkan konfigurasi port input, fungsi get_outputs() digunakan untuk mendapatkan konfigurasi port output, dan fungsi get_custom_params() digunakan untuk mendapatkan konfigurasi parameter kustom.from pai_notebook.utils.notebook_utils import NotebookUtils node_inputs = NotebookUtils.get_inputs() node_outputs = NotebookUtils.get_outputs() custom_params = NotebookUtils.get_custom_params()
Port Input
Komponen Notebook memiliki empat port input yang dapat digunakan untuk menerima data OSS atau data tabel MaxCompute. Anda dapat menggunakan fungsi get_inputs() yang disediakan oleh paket pai-notebook-utils untuk mendapatkan informasi semua port input. Nilai kembaliannya adalah array, dan setiap item dalam array berisi bidang yang dijelaskan dalam tabel berikut.
Bidang | Deskripsi |
name | Nama port input. Nilai valid: input1, input2, input3, dan input4. |
type | Tipe port, seperti DataSet dan Model. |
location_type | Tipe penyimpanan. Nilai valid: MaxComputeTable dan OSS. |
value | Informasi konfigurasi port. Informasi konfigurasi disimpan dalam format MAP. |
Jika input adalah tabel MaxCompute, nilai bidang location_type adalah MaxComputeTable, dan bidang value terdiri dari bidang project, table_name, dan endpoint, yang menentukan proyek MaxCompute tempat tabel tersebut berada, nama tabel MaxCompute, dan titik akhir MaxCompute.
from pai_notebook.utils.notebook_utils import NotebookUtils node_inputs = NotebookUtils.get_inputs() for node_input in node_inputs: if node_input.location_type == "MaxComputeTable": input_name = node_input.name table_name = node_input.value["table"] project = node_input.value["project"] endpoint = node_input.value["endpoint"] print(f"input_name: {input_name}, project: {project}, table_name: {table_name}, endpoint: {endpoint}")Jika input adalah OSS, jalur OSS dipasang ke jalur lokal. Anda dapat mengakses objek OSS dengan menggunakan jalur lokal atau SDK OSS. Dalam hal ini, nilai bidang location_type adalah OSS, dan bidang value terdiri dari bidang key, bucket, endpoint, dan mount_path, yang menentukan jalur OSS, Bucket OSS, titik akhir OSS, dan jalur pemasangan lokal OSS.
PentingJika jalur OSS diubah dan jalur baru tidak dipasang ke instance DSW, bidang mount_path tidak dapat diperoleh. Anda harus memulai ulang instance DSW.
from pai_notebook.utils.notebook_utils import NotebookUtils node_inputs = NotebookUtils.get_inputs() for node_input in node_inputs: if node_input.location_type == "OSS": input_name = node_input.name key = node_input.value["key"] bucket = node_input.value["bucket"] endpoint = node_input.value["endpoint"] mount_path = node_input.value["mountPath"] print(f"input_name: {input_name}, bucket: {bucket}, key: {key}, endpoint: {endpoint}, mount path: {mount_path}")
Port Output
Komponen Notebook memiliki empat port output. Port 1 dan 2 digunakan untuk meneruskan data ke OSS, sedangkan port 3 dan 4 digunakan untuk meneruskan data ke tabel MaxCompute. Anda dapat menggunakan fungsi get_outputs() yang disediakan oleh paket pai-notebook-utils untuk mendapatkan informasi semua port output. Nilai kembaliannya adalah array, dan setiap item dalam array berisi bidang yang dijelaskan dalam tabel berikut.
Bidang | Deskripsi |
name | Nama port output. Nilai valid: output1, output2, output3, dan output4. |
location_type | Tipe penyimpanan. Nilai valid: MaxComputeTable dan OSS. |
value | Informasi konfigurasi port. Informasi konfigurasi disimpan dalam format MAP. |
Jika output adalah tabel MaxCompute, ruang kerja saat ini harus dikaitkan dengan mesin komputasi MaxCompute. Jika output adalah OSS, data diteruskan ke jalur OSS yang ditentukan. Jika parameter Job Output Path tidak dikonfigurasikan, jalur output secara otomatis dibuat berdasarkan jalur default global. Format bidang dalam bidang value untuk port output sama dengan format untuk port input.
from pai_notebook.utils.notebook_utils import NotebookUtils
node_outputs = NotebookUtils.get_outputs()
for node_output in node_outputs:
input_name = node_input.name
if node_output.location_type == "MaxComputeTable":
table_name = node_output.value["table"]
project = node_output.value["project"]
endpoint = node_output.value["endpoint"]
print(f"input_name: {input_name}, project: {project}, table_name: {table_name}, endpoint: {endpoint}")
elif node_output.location_type == "OSS":
key = node_output.value["key"]
bucket = node_output.value["bucket"]
endpoint = node_output.value["endpoint"]
mount_path = node_output.value["mountPath"]
print(f"input_name: {input_name}, bucket: {bucket}, key: {key}, endpoint: {endpoint}, mount path: {mount_path}")
else:
print(json.dumps(node_output.value, indent=4))Parameter Kustom
Anda dapat mengonfigurasi parameter kustom dalam format ${globalParamName} untuk mereferensikan variabel global yang dikonfigurasikan dalam pipeline. Anda dapat memperoleh parameter kustom yang dikonfigurasikan dalam Komponen Notebook dengan menggunakan fungsi get_custom_params(). Nilai kembaliannya dalam format MAP, dan kunci serta nilainya adalah string.
from pai_notebook.utils.notebook_utils import NotebookUtils
custom_params = NotebookUtils.get_custom_params()
print(custom_params)Konfigurasi Notebook
Di halaman detail pipeline di Machine Learning Designer, tambahkan komponen Notebook ke pipeline. Kemudian, konfigurasikan parameter yang dijelaskan dalam tabel berikut di sebelah kanan halaman.
Kategori | Parameter | Wajib | Deskripsi | Nilai Default | |
Konfigurasi Notebook | Instance DSW | Tidak | Status dan operasi mulai instance DSW yang terkait dengan node Notebook. Sebelum Anda memulai instance DSW, pastikan Anda mengonfigurasi Pipeline Data Path parameter untuk menentukan jalur data pipeline saat Anda membuat pipeline. | Tidak Berjalan | |
File Notebook | Ya | File Notebook yang dihasilkan secara otomatis setelah Anda mengonfigurasi parameter Pipeline Data Path. Nilainya dalam format | Pipeline data path/notebook/${pipeline ID}/${node ID}/main.ipynb | ||
Job Output Path | Tidak |
| Jika Anda meninggalkan parameter ini kosong, jalur data pipeline digunakan. | ||
Parameter Kustom | Tidak | Parameter yang direferensikan oleh file Notebook. Parameter dalam format pasangan kunci-nilai dan dapat dibagi oleh pipeline dan instance DSW. Ini memudahkan modifikasi parameter. Anda dapat mereferensikan variabel global dalam pipeline Machine Learning Designer. | Tidak ada | ||
Perintah Init | Tidak | Perintah yang digunakan untuk menginisialisasi lingkungan runtime sebelum Anda menjalankan file Notebook. Misalnya, Anda dapat menjalankan perintah | Tidak ada | ||
Waktu shutdown otomatis | Tidak | Durasi dalam waktu instance DSW dimatikan secara otomatis. Ini mencegah Anda lupa mematikan instance setelah debugging selesai. | 1 jam | ||
Konfigurasi Run | Pilih Grup Sumber Daya | Grup Sumber Daya Publik | Tidak | Anda perlu mengonfigurasi Tipe Node (CPU atau GPU), Pengaturan VPC, Grup Keamanan, vSwitch, Gateway Akses Internet, dan parameter Gambar Node. | Tipe ECS default: ecs.c6.large |
Grup sumber daya khusus | Tidak | Anda perlu mengonfigurasi jumlah vCPU, memori, memori bersama, jumlah GPU, dan jumlah instance yang ingin Anda gunakan. | Tidak ada | ||
Gambar Node | Tidak | Anda dapat memilih gambar resmi atau gambar kustom, atau memasukkan alamat gambar publik. | Resmi | ||