Data Science Workshop (DSW) menyediakan IDE berbasis cloud untuk pengembangan AI yang dilengkapi berbagai lingkungan bawaan. Jika Anda sudah terbiasa dengan Notebook atau VS Code, Anda dapat langsung mulai mengembangkan model. Topik ini menjelaskan cara mengembangkan model di DSW menggunakan tugas pengenalan digit tulisan tangan MNIST.
Tugas pengenalan digit tulisan tangan MNIST merupakan salah satu tugas pengantar paling klasik dalam pembelajaran mendalam. Tujuannya adalah membangun model pembelajaran mesin untuk mengenali 10 digit tulisan tangan (0 hingga 9).

Prasyarat
Aktifkan PAI dengan Akun Alibaba Cloud Anda dan buat ruang kerja. Masuk ke Konsol PAI, pilih Wilayah di pojok kiri atas, lalu ikuti petunjuk untuk memberikan izin dan mengaktifkan layanan.
Penagihan
Contoh ini membuat instans DSW dan layanan model Elastic Algorithm Service (EAS) menggunakan sumber daya publik dengan metode bayar sesuai penggunaan. Untuk aturan penagihan lengkap, lihat Penagihan DSW dan Penagihan EAS.
Buat instans DSW
Buka halaman DSW.
Masuk ke Konsol PAI.
Di pojok kiri atas halaman, pilih Wilayah yang dituju.
Di panel navigasi kiri, klik Workspaces, lalu klik nama ruang kerja yang ingin Anda gunakan.
Di panel navigasi kiri, pilih , lalu klik Create an instance..

Pada halaman Configure Instance, konfigurasikan parameter berikut dan gunakan nilai default untuk sisanya.
Resource Type: Pilih Public Resources, yaitu opsi bayar sesuai penggunaan.
Instance Type: Pilih
ecs.gn7i-c8g1.2xlarge.Jika tipe instans ini habis stoknya, Anda dapat memilih tipe instans GPU-accelerated lainnya.
Image config: Pilih Alibaba Cloud Image, lalu cari dan pilih image berikut:
modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04.Untuk menghindari masalah lingkungan, gunakan image yang sama seperti yang ditentukan dalam topik ini.
Mount storage: Untuk menyimpan file pengembangan model secara persisten, tutorial ini menggunakan Object Storage Service (OSS). Klik OSS, klik ikon
, pilih Bucket, lalu buat direktori seperti pai_test.Jika Anda belum mengaktifkan OSS atau tidak memiliki 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 DSW.
Jika instans gagal dimulai, lihat Buat instans DSW.
Kembangkan model di DSW
Pada halaman daftar instans, klik Open untuk masuk ke lingkungan pengembangan instans baru. Lalu, pada halaman Launcher, klik Create Notebook.

Topik ini menyediakan kode pelatihan MNIST. Anda dapat mengklik mnist.ipynb untuk mengunduh kode tersebut, lalu klik ikon
di pojok kiri atas antarmuka DSW untuk mengunggah file kode tersebut.
Jalankan kode pelatihan model. Buka file
mnist.ipynb, temukan sel yang berisi kode pelatihan, lalu klik tombol
untuk menjalankan kode tersebut. Kode ini secara otomatis mengunduh set data MNIST ke direktori dataSetdan menyimpan checkpoint terbaik setelah pelatihan ke direktorioutput. Proses pelatihan membutuhkan waktu sekitar 10 menit.

Akurasi 98% pada set validasi menunjukkan bahwa model berkinerja baik, sehingga Anda dapat melanjutkan.
Lihat kurva loss di TensorBoard untuk memantau progres pelatihan. Jalankan sel berikut dan klik URL TensorBoard
http://localhost:6006/.
Di TensorBoard, Anda dapat melihat kurva train_loss, yang mencerminkan loss pada set pelatihan, dan kurva validation_loss, yang mencerminkan loss pada set validasi.

Setelah melihat grafik, klik ikon
di sel tersebut untuk menghentikan TensorBoard sebelum menjalankan sel berikutnya.Panggil model yang telah dilatih untuk menguji kinerjanya. Jalankan sel yang ditunjukkan pada gambar berikut. Ini akan menampilkan 20 gambar uji serta output label aslinya dan prediksi dari model.

Contoh output:

Salin file model ke Object Storage Service (OSS) untuk penyimpanan persisten. Instans DSW dalam tutorial ini dibuat menggunakan sumber daya publik, dan file-nya disimpan di Cloud Disk sementara. Konten di Cloud Disk akan dihapus jika instans tetap berhenti lebih dari 15 hari. Oleh karena itu, Anda harus menyalin file model ke OSS untuk penyimpanan persisten. Hal ini juga mempermudah penerapan model menggunakan Elastic Algorithm Service (EAS).

Masuk ke Konsol OSS untuk melihat file yang telah disalin:

Anda telah menyelesaikan pengembangan model. Untuk memanggil model ini dari aplikasi lain di lingkungan produksi, lihat Terapkan model sebagai layanan online menggunakan EAS.
Instans DSW dalam tutorial ini dibuat menggunakan sumber daya publik dan ditagih berdasarkan metode bayar sesuai penggunaan. Untuk menghindari biaya tambahan, hentikan atau hapus instans jika Anda tidak lagi membutuhkannya.
Terapkan model dengan EAS
Elastic Algorithm Service (EAS) memungkinkan Anda menerapkan model yang telah dilatih sebagai layanan inferensi online atau aplikasi web AI dengan cepat. EAS mendukung sumber daya heterogen dan mengintegrasikan skalabilitas otomatis, uji stres satu klik, rilis canary, serta pemantauan waktu nyata untuk memastikan stabilitas layanan dalam skenario konkurensi tinggi dengan biaya lebih rendah.
Tutorial ini menyediakan kode API web untuk layanan model dan perintah untuk menyalinnya ke OSS. Anda hanya perlu menjalankan sel berikut.

(Opsional) Di DSW, verifikasi bahwa API web dapat dijalankan. Jalankan sel berikut untuk menginstal paket pihak ketiga yang belum tersedia dan memulai layanan.

Jalankan kode uji untuk API layanan. Di bagian atas halaman, klik WebIDE. Di panel kiri, klik file kode
request_web.py, lalu klik tombol
untuk menjalankan kode dan mengirim permintaan ke API layanan.
Hasil berikut dikembalikan:
{"prediction": 7}CatatanUntuk mengakses layanan web yang berjalan di DSW langsung dari Internet publik, Anda juga harus mengonfigurasi Virtual Private Cloud (VPC), Gateway NAT, dan Elastic IP Address (EIP) untuk instans DSW. Untuk informasi selengkapnya, lihat Akses layanan di instans melalui internet.
Konfigurasi EAS. Di panel navigasi kiri Konsol PAI, klik Elastic Algorithm Service (EAS) > Deploy Service > Custom Deployment.

Konfigurasikan parameter utama berikut dan gunakan pengaturan default untuk sisanya:
Deployment Method: Image-based Deployment
Image Configuration: Pilih Image Address, lalu salin dan tempel alamat image yang digunakan untuk instans DSW.
Anda telah memverifikasi di DSW bahwa lingkungan image ini dapat menjalankan kode layanan model dalam topik ini. Oleh karena itu, kami menyarankan Anda menggunakan image yang sama untuk penerapan guna menghindari masalah waktu proses yang tidak diketahui.

Mount storage: File model dan kode API layanan telah disalin ke OSS. Oleh karena itu, klik OSS dan pilih path OSS yang sesuai.

Command to Run: Perintah run sama dengan perintah startup layanan di DSW. Namun, karena
web.pykini dipasang di/mnt/data/, Anda perlu menyesuaikan pathweb.py. Perintah run akhirnya adalahpython /mnt/data/web.py.Port Number: Atur port yang digunakan di
web.pymenjadi9000.Third-party Library Settings: Pengujian di DSW menunjukkan bahwa image yang dipilih tidak memiliki library
bottle. Oleh karena itu, Anda perlu menambahkan library ini dalam konfigurasi library pihak ketiga.
Resource Type: Pilih Public Resources. Untuk Instance Type, pilih
ecs.gn7i-c8g1.2xlarge.Configure a system disk: Atur ukuran menjadi 20 GB.
Diperlukan sistem disk yang lebih besar untuk mencegah kegagalan startup akibat ukuran image yang besar.
Klik Deploy untuk membuat layanan. Proses pembuatan membutuhkan waktu sekitar 5 menit. Ketika status berubah menjadi Running, penerapan berhasil.
Lihat informasi pemanggilan. Pada halaman detail layanan, klik View Endpoint Information untuk mendapatkan Internet Endpoint dan Token.

Panggil layanan. Jalankan kode permintaan layanan berikut. Ganti placeholder Internet Endpoint dan Token dalam kode dengan nilai dari langkah sebelumnya.
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 9 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' # Klien mengunduh gambar dan mendapatkan data biner. img_response = requests.get(image_url, timeout=10) # Secara otomatis memeriksa apakah permintaan berhasil berdasarkan kode status. img_response.raise_for_status() img_bytes = img_response.content # Informasi header. Ganti <your_token> dengan token aktual Anda. # Di lingkungan produksi, kami menyarankan agar Anda mengatur token sebagai variabel lingkungan untuk mencegah kebocoran informasi sensitif. # Untuk informasi lebih lanjut tentang cara mengonfigurasi variabel lingkungan, lihat https://www.alibabacloud.com/help/en/sdk/developer-reference/configure-the-alibaba-cloud-accesskey-environment-variable-on-linux-macos-and-windows-systems. headers = {"Authorization": "<your_token>"} # Kirim data biner sebagai isi permintaan POST ke layanan model. resp = requests.post('<your_public_endpoint>/predict_image', data=img_bytes, headers=headers) print(resp.json())Hasil berikut dikembalikan:
{"prediction": 7}
Layanan EAS dalam tutorial ini dibuat menggunakan sumber daya publik dan ditagih berdasarkan metode bayar sesuai penggunaan. Untuk menghindari biaya tambahan, hentikan atau hapus layanan jika Anda tidak lagi membutuhkannya.

Dokumen terkait
Untuk informasi tentang cara mengatasi kegagalan startup DSW, lihat Buat instans DSW.
Untuk informasi tentang item yang dapat ditagih dan metode penagihan DSW, lihat Penagihan Data Science Workshop (DSW).
Untuk informasi lebih lanjut tentang fitur inti DSW, lihat Ikhtisar DSW.
Untuk mengakses layanan web yang berjalan di DSW dari internet, lihat Akses layanan di instans melalui internet.
Untuk informasi lebih lanjut tentang fitur inti EAS, lihat Ikhtisar EAS.
