Gunakan Notebook atau VSCode bawaan di DSW (Data Science Workshop) untuk mengembangkan, melatih, dan menerapkan model pembelajaran mendalam di cloud. Topik ini menggunakan pengenalan digit tulisan tangan MNIST sebagai contoh untuk menunjukkan alur kerja lengkap.
Pengenalan digit tulisan tangan MNIST adalah tugas pengantar klasik dalam pembelajaran mendalam. Tujuannya adalah melatih model untuk mengenali 10 digit tulisan tangan (0–9).
Prasyarat
Akun Alibaba Cloud harus telah mengaktifkan PAI dan membuat ruang kerja. Jika belum mengaktifkan PAI, kunjungi PAI console, pilih wilayah target di pojok kiri atas halaman, lalu selesaikan otorisasi satu klik dan aktivasi produk.
Penagihan
Topik ini menggunakan kelompok sumber daya publik untuk membuat instans DSW dan layanan model EAS, yang dikenai biaya berdasarkan skema bayar sesuai penggunaan. Untuk detail penagihan, lihat Penagihan DSW dan Penagihan EAS.
Buat instans DSW
-
Buka halaman DSW.
-
Kunjungi PAI console.
-
Pilih wilayah target di pojok kiri atas halaman.
-
Di panel navigasi kiri, klik Workspaces untuk membuka ruang kerja target.
-
Di panel navigasi kiri, pilih .
-
-
Di halaman wizard Configure Instance, konfigurasikan parameter berikut dan pertahankan pengaturan default untuk parameter lainnya.
-
Resource Type: Pilih Public Resources (pay-as-you-go).
-
Instance Type: Pilih
ecs.gn7i-c8g1.2xlarge.Jika tipe instans ini habis stoknya, Anda dapat memilih instans GPU lain.
-
Image config: Pilih Alibaba Cloud Image dan cari image
modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04.Kami menyarankan Anda menggunakan image yang sama untuk menghindari masalah kompatibilitas lingkungan.
-
Mount storage: Pertahankan file pengembangan model secara persisten. Topik ini menggunakan Object Storage Service (OSS). Klik OSS, klik ikon
, pilih Bucket, lalu buat direktori (misalnya, pai_test).Jika tidak tersedia bucket di wilayah saat ini, ikuti langkah-langkah berikut untuk membuatnya:
-
Uri:
oss://**********oss-cn-hangzhou-internal.aliyuncs.com/pai_test/ -
Mount Path:
/mnt/data/
-
-
-
Klik OK untuk membuat instans.
Jika instans gagal dimulai, lihat Buat instans DSW untuk troubleshooting.
Kembangkan model di DSW
-
Di daftar instans, klik Open untuk membuka lingkungan pengembangan DSW. Di halaman launcher, klik JupyterLab untuk membuat lingkungan pengembangan Notebook.
-
Tulis kode model. Kode pelatihan MNIST disediakan: unduh mnist.ipynb, lalu klik ikon
di pojok kiri atas Notebook untuk mengunggah file tersebut.
-
Lakukan pelatihan model. Buka
mnist.ipynb, temukan sel kode pelatihan, lalu klik ikon
untuk menjalankannya. Kode tersebut secara otomatis mengunduh set data MNIST ke direktori dataSetdan menyimpan model yang telah dilatih ke direktorioutput. Proses pelatihan memakan waktu sekitar 10 menit.

Proses pelatihan menghasilkan akurasi pada set validasi, yang mencerminkan kemampuan generalisasi. Pada contoh ini, akurasi set validasi adalah 98%. Anda dapat melanjutkan ke langkah berikutnya.
-
Lihat kurva pelatihan. Jalankan sel berikut dan klik URL TensorBoard
http://localhost:6006/.
TensorBoard menampilkan kurva train_loss (loss pelatihan) dan validation_loss (loss validasi).

Setelah melihat kurva, klik ikon
di sel tersebut untuk menghentikan TensorBoard. Jika TensorBoard tidak dihentikan, sel berikutnya tidak dapat dieksekusi. -
Uji model. Jalankan sel berikut untuk menampilkan 20 gambar uji beserta label asli dan prediksi model.

Contoh output:

-
Pertahankan file model. Topik ini menggunakan kelompok sumber daya publik untuk membuat instans DSW, dan file disimpan di disk cloud gratis. Jika instans dihentikan lebih dari 15 hari, konten disk cloud akan dihapus secara otomatis. Salin file model ke OSS untuk digunakan selanjutnya dalam penerapan PAI-EAS.

Kunjungi OSS console untuk melihat file yang telah disalin:

Setelah pengembangan model selesai, Anda dapat menerapkan model sebagai layanan online. Lihat Terapkan layanan model dengan EAS.
Topik ini menggunakan sumber daya publik untuk membuat instans DSW, yang dikenai biaya berdasarkan skema bayar sesuai penggunaan. Saat Anda tidak menggunakan instans tersebut, hentikan atau hapus instans dari halaman daftar instans untuk menghindari biaya berkelanjutan.
Terapkan layanan model dengan EAS
EAS (Elastic Algorithm Service) memungkinkan Anda menerapkan model yang telah dilatih sebagai layanan inferensi online atau aplikasi web AI. EAS mendukung sumber daya heterogen dan menggabungkan fitur seperti auto scaling, uji stres satu klik, rilis canary, dan pemantauan waktu nyata untuk memastikan stabilitas layanan dalam skenario konkurensi tinggi dengan biaya lebih rendah.
-
Tulis kode layanan web model dan salin ke OSS. Kode layanan web dan perintah salin disediakan. Jalankan sel berikut.

-
(Opsional) Verifikasi layanan web di DSW. Jalankan sel berikut untuk menginstal dependensi dan memulai layanan.

Uji layanan tersebut. Di halaman launcher, klik VSCode untuk membuka lingkungan pengembangan. Klik
request_web.pydi panel kiri, lalu klik kanan dan pilih Run Python > Run Python File in Terminal untuk mengeksekusi kode. Hasil berikut dikembalikan:{"prediction": 7}CatatanUntuk mengakses layanan web di DSW melalui Internet, Anda harus mengonfigurasi VPC, NAT Gateway, dan EIP. Untuk detailnya, lihat Akses layanan di instans melalui jaringan publik.
-
Buat layanan EAS. Di panel navigasi kiri Konsol PAI, klik Elastic Algorithm Service (EAS) > Deploy Service > Custom Deployment.
Konfigurasikan parameter berikut dan pertahankan pengaturan default untuk parameter lainnya:
-
Deployment Method: Image-based Deployment
-
Image Configuration: Pilih Image Address dan tempel alamat image yang digunakan oleh DSW.
DSW telah memverifikasi bahwa image ini dapat menjalankan kode model dengan baik. Menggunakan image yang sama untuk penerapan menghindari masalah lingkungan.

-
Mount storage: File model dan kode layanan web telah disalin ke OSS. Klik OSS dan pilih path yang sesuai.
-
Uri: oss://*****/pai_test/
-
Mount Path: /mnt/data/
-
-
Command to Run:
web.pytelah dimount ke/mnt/data/. Sesuaikan path-nya. Perintah run-nya adalah:python /mnt/data/web.py -
Port Number: Masukkan nomor port
9000yang digunakan olehweb.py. -
Third-party Library Settings: Image yang dipilih tidak menyertakan library bottle. Tambahkan
bottledi sini. -
Resource Type: Pilih Public Resources. Untuk Instance Type, pilih
ecs.gn7i-c8g1.2xlarge. -
Configure a system disk: Atur menjadi 20 GB.
Image-nya besar. Ruang disk sistem yang tidak mencukupi menyebabkan kegagalan startup instans. Kami menyarankan Anda mengaturnya menjadi 20 GB atau lebih.
Klik Deploy untuk membuat layanan. Pembuatan layanan memerlukan waktu sekitar 5 menit. Layanan dianggap diterapkan ketika status berubah menjadi Running.
-
-
Dapatkan informasi pemanggilan. Di halaman detail layanan, klik View Endpoint Information untuk mendapatkan Internet Endpoint dan Token.
-
Panggil layanan. Ganti Internet Endpoint dan Token dalam kode berikut dengan nilai aktual, lalu jalankan kode tersebut.
import requests """ URL gambar uji: label adalah 7 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg label adalah 2 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_2_No_1.jpg label adalah 1 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_1_No_2.jpg label adalah 0 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_0_No_3.jpg label adalah 4 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_4_No_4.jpg label adalah 5 http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_9_No_5.jpg """ image_url = 'http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg' # Unduh gambar sebagai data biner img_response = requests.get(image_url, timeout=10) # Secara otomatis periksa apakah permintaan berhasil berdasarkan kode status img_response.raise_for_status() img_bytes = img_response.content # Ganti <EAS_TOKEN> di header dengan token aktual # Di lingkungan produksi, kami menyarankan Anda menyetel token sebagai variabel lingkungan untuk mencegah kebocoran informasi sensitif. # Untuk informasi lebih lanjut tentang cara mengonfigurasi variabel lingkungan, lihat: https://www.alibabacloud.com/help/zh/sdk/developer-reference/configure-the-alibaba-cloud-accesskey-environment-variable-on-linux-macos-and-windows-systems headers = {"Authorization": "Token"} # Kirim data biner sebagai body permintaan POST ke layanan model resp = requests.post('Call URL/predict_image', data=img_bytes, headers=headers) print(resp.json())Hasil:
{"prediction": 7}
Topik ini menggunakan sumber daya publik untuk membuat layanan EAS, yang dikenai biaya berdasarkan skema bayar sesuai penggunaan. Saat Anda tidak menggunakan layanan tersebut, hentikan atau hapus layanan dari halaman daftar layanan untuk menghindari biaya berkelanjutan.
Referensi
-
Untuk troubleshooting kegagalan startup DSW, lihat Buat instans DSW.
-
Untuk penagihan DSW, lihat Penagihan DSW.
-
Untuk fitur inti DSW, lihat Ikhtisar DSW.
-
Untuk mengakses layanan web DSW melalui Internet, lihat Akses layanan di instans melalui jaringan publik.
-
Untuk fitur inti EAS, lihat Ikhtisar EAS.
