Data Science Workshop (DSW) menyediakan lingkungan pengembangan terintegrasi (IDE) berbasis cloud untuk pengembangan AI dengan berbagai lingkungan pengembangan bawaan. Jika Anda sudah familiar dengan Notebook atau VSCode, Anda dapat langsung mulai mengembangkan model. Topik ini menggunakan tugas pengenalan tulisan tangan MNIST sebagai contoh untuk menunjukkan cara cepat mengembangkan model di DSW.
Tugas pengenalan 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
Sebelum memulai, Anda harus mengaktifkan PAI dan membuat ruang kerja menggunakan Akun Alibaba Cloud Anda. Untuk melakukannya, login ke Konsol PAI, pilih Wilayah di pojok kiri atas, lalu berikan izin yang diperlukan untuk mengaktifkan produk tersebut.
Informasi penagihan
Contoh ini menggunakan sumber daya publik untuk membuat instans DSW dan layanan model Elastic Algorithm Service (EAS). Sumber daya ini ditagih berdasarkan metode bayar sesuai penggunaan. Untuk informasi lebih lanjut tentang aturan penagihan, lihat penagihan DSW dan penagihan EAS.
Buat instans DSW
Buka halaman DSW.
Login ke Konsol PAI.
Di pojok kiri atas halaman, pilih Wilayah tujuan.
Di panel navigasi sebelah kiri, klik Workspace, lalu klik nama ruang kerja yang ingin Anda kelola.
Di panel navigasi sebelah kiri, pilih . Kemudian, klik Create Instance.

Pada halaman Create Instance, konfigurasikan parameter utama berikut dan gunakan nilai default untuk parameter lainnya.
Resource Type: Pilih Public Resources. Metode penagihan untuk jenis sumber daya ini adalah bayar sesuai penggunaan.
Instance Type: Pilih
ecs.gn7i-c8g1.2xlarge.Jika stok untuk tipe instans ini tidak mencukupi, Anda dapat memilih tipe instans GPU-accelerated lainnya.
Image: Pilih Official Image, lalu cari dan pilih image berikut:
modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04.Untuk menghindari masalah lingkungan, pilih image yang sama seperti yang digunakan dalam topik ini.
Storage Path Mounting: Untuk menyimpan file dari proses pengembangan model secara persisten, topik ini menggunakan Object Storage Service (OSS). Klik OSS, klik ikon
, pilih Bucket, lalu buat folder, misalnya pai_test. Konfigurasi parameter lengkapnya adalah sebagai berikut.Jika Anda belum mengaktifkan OSS atau tidak memiliki bucket yang tersedia di Wilayah saat ini, ikuti langkah-langkah berikut untuk mengaktifkan OSS dan membuat bucket:
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 Masalah Umum Saat Startup dan Release Instans untuk troubleshooting.
Kembangkan model di DSW
Buka instans DSW
Klik Open untuk membuka lingkungan pengembangan instans DSW yang telah Anda buat.

Antarmuka PAI-DSW ditampilkan pada gambar berikut:

Tulis kode pengembangan model. Topik ini menggunakan lingkungan pengembangan Notebook sebagai contoh dan menyediakan kode pelatihan untuk pengenalan tulisan tangan MNIST. Klik mnist.ipynb untuk mengunduh kode tersebut. Lalu, di pojok kiri atas halaman DSW, klik ikon
untuk mengunggah file kode.
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 ke direktorioutputsetelah pelatihan selesai. Proses pelatihan memakan waktu sekitar 10 menit.

Selama pelatihan, akurasi model pada set validasi akan ditampilkan. Nilai ini merepresentasikan kemampuan generalisasi model terhadap data yang tidak diketahui. Pada contoh ini, akurasi pada set validasi mencapai 98%, yang menunjukkan bahwa model berkinerja baik. Anda dapat melanjutkan ke langkah berikutnya.
Lihat kurva loss di TensorBoard untuk memahami status pelatihan. Jalankan sel berikut dan klik URL TensorBoard:
http://localhost:6006/.
Di TensorBoard, Anda dapat melihat kurva train_loss, yang mencerminkan loss pada set data pelatihan, dan kurva validation_loss, yang mencerminkan loss pada set validasi.

Setelah melihat grafik tersebut, klik ikon
di dalam sel untuk menghentikan TensorBoard.Panggil model yang telah dilatih untuk menguji performanya. Jalankan sel yang ditunjukkan pada gambar. Sel tersebut menampilkan 20 citra uji dan menampilkan label aslinya serta hasil prediksi model.

Contoh output:

Salin file model ke Object Storage Service (OSS) untuk penyimpanan persisten. Instans DSW dalam topik ini dibuat menggunakan sumber daya publik, dan file-nya disimpan di disk gratis. Jika instans tetap berhenti selama lebih dari 15 hari, konten di disk akan dihapus. Oleh karena itu, Anda harus menyalin file model ke OSS untuk penyimpanan persisten. Hal ini juga mempermudah penerapan model menggunakan PAI-EAS nanti.

Login ke Konsol OSS untuk melihat file tersebut:

Pengembangan model telah selesai. Jika Anda ingin memanggil model tersebut di aplikasi lain dalam lingkungan produksi, lihat Terapkan model sebagai layanan online menggunakan EAS.
Instans DSW dalam topik ini dibuat menggunakan sumber daya publik dan ditagih berdasarkan metode bayar sesuai penggunaan. Saat Anda tidak lagi membutuhkan instans DSW tersebut, hentikan atau hapus instans tersebut untuk menghindari biaya tambahan.
Terapkan model sebagai layanan online menggunakan EAS
Setelah model dilatih, Anda dapat menggunakan Elastic Algorithm Service (EAS) untuk segera menerapkannya sebagai layanan inferensi online atau aplikasi web AI. EAS mendukung sumber daya heterogen dan menggabungkan fitur-fitur seperti Automatic scaling, One-click stress testing, Canary release, dan Real-time monitoring untuk memastikan layanan yang stabil dan berkelanjutan dalam skenario konkurensi tinggi dengan biaya lebih rendah.
Tulis antarmuka web untuk layanan model dan salin ke OSS. Kode antarmuka web dan perintah penyalinan telah disediakan. Anda dapat menjalankan sel berikut untuk melakukan operasi tersebut.

(Opsional) Verifikasi bahwa antarmuka web dapat dijalankan di DSW. Jalankan sel berikut untuk menginstal paket pihak ketiga yang belum tersedia dan memulai layanan.

Jalankan kode untuk menguji antarmuka layanan. Di bagian atas halaman, klik WebIDE. Di sebelah kiri, klik file kode
request_web.py. Lalu, klik ikon
untuk menjalankan kode dan mengirim permintaan ke antarmuka layanan.
Hasil berikut dikembalikan:
{"prediction": 7}CatatanJika Anda ingin langsung mengakses layanan web yang berjalan di DSW dari internet, Anda harus mengonfigurasi virtual private cloud (VPC), Gateway NAT, dan Elastic IP Address (EIP) untuk DSW. Untuk informasi lebih lanjut, lihat Akses layanan di dalam instans melalui internet.
Konfigurasi EAS. Di Konsol PAI, di panel navigasi sebelah kiri, klik Elastic Algorithm Service (EAS) > Deploy Service > Custom Deployment.

Konfigurasikan parameter utama berikut dan gunakan nilai default untuk parameter lainnya:
Deployment Method: Image-based Deployment
Image Configuration: Pilih Image Address. Salin dan tempel URL image yang digunakan untuk instans DSW.
Lingkungan image ini telah diverifikasi dapat menjalankan kode layanan model dalam topik ini dengan benar saat Anda menggunakan DSW. Oleh karena itu, gunakan image yang sama untuk penerapan agar menghindari masalah lingkungan runtime yang tidak diketahui.

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

Command: Perintah ini sama dengan perintah startup layanan di DSW. Namun, karena
web.pykini dipasang di/mnt/data/, Anda harus menyesuaikan pathweb.pytersebut. Perintah akhirnya adalah:python /mnt/data/web.pyPort: Konfigurasikan port yang digunakan di
web.py, yaitu9000.Third-party Library Configuration: Selama pengujian di DSW, ditemukan bahwa image yang dipilih tidak memiliki library bottle. Oleh karena itu, Anda harus menambahkan library ini dalam konfigurasi library pihak ketiga.

Resource Type: Pilih Public Resources. Untuk Resource Specification, pilih
ecs.gn7i-c8g1.2xlarge.Configure a system disk: Klik Show More dan atur Extra System Disk menjadi 20 GB.
Karena ukuran image yang digunakan besar, layanan tidak dapat dimulai karena ruang tidak mencukupi jika Anda tidak mengatur sistem disk tambahan.
Klik Deploy untuk membuat layanan. Proses pembuatan memakan waktu sekitar 5 menit. Saat status berubah menjadi Running, layanan telah diterapkan.
Lihat informasi pemanggilan. Di halaman detail layanan model, klik View Invocation Information untuk mendapatkan Public Endpoint dan Token.

Panggil layanan tersebut. Jalankan kode permintaan layanan berikut. Ganti Endpoint dan Token dalam kode dengan informasi aktual yang Anda peroleh pada langkah sebelumnya.
import requests """ URL citra 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' # Klien mengunduh citra untuk mendapatkan data biner. img_response = requests.get(image_url, timeout=10) # Secara otomatis memeriksa keberhasilan permintaan berdasarkan kode status. img_response.raise_for_status() img_bytes = img_response.content # Informasi header. Ganti YOUR_TOKEN 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/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_ENDPOINT/predict_image', data=img_bytes, headers=headers) print(resp.json())Hasil berikut dikembalikan:
{"prediction": 7}
Layanan EAS dalam topik ini dibuat menggunakan sumber daya publik dan ditagih berdasarkan metode bayar sesuai penggunaan. Saat Anda tidak lagi membutuhkan layanan tersebut, hentikan atau hapus layanan tersebut untuk menghindari biaya tambahan.

Referensi
Untuk informasi lebih lanjut tentang cara mengatasi kegagalan startup instans DSW, lihat Buat instans DSW.
Untuk informasi lebih lanjut tentang item yang dapat ditagih dan metode penagihan DSW, lihat penagihan DSW.
Untuk informasi lebih lanjut tentang fitur inti DSW, lihat Ikhtisar DSW.
Untuk informasi lebih lanjut tentang cara mengakses layanan web yang berjalan di DSW langsung dari internet, lihat Akses layanan di dalam instans melalui internet.
Untuk informasi lebih lanjut tentang fitur inti EAS, lihat Ikhtisar EAS.
