huawei cloud, modelarts zero code, object detection

Penulis: Joshua Alexander Heriyanto, Sarah Hasna Azzahra

Pendahuluan

Sejak tahun lalu, Indonesia telah mengeluarkan strategi nasional mengenai kecerdasan buatan atau artificial intelligence (AI). Laju AI semakin tak terbendung di dunia industri. Semakin banyak industri yang mulai terpengaruh oleh gelombang perkembangan ini. Namun, proses pengembangan AI yang membutuhkan waktu lama, dana dan investasi yang tinggi, serta kompleks menghambat pengembangan berskala besar industri AI. Banyak perusahaan yang tidak dapat dengan mudah dan cepat membangunnya.

Berapa langkah yang dibutuhkan untuk menghasilkan segelas air? Semua orang dapat dengan mudah menjawabnya. Berbeda dengan pertanyaan berikut: berapa langkah yang dibutuhkan untuk mengembangkan AI? AI developers dan professionals akan memiliki jawaban yang berbeda-beda.

ModelArts adalah sebuah one-stop AI development platform dari HUAWEI CLOUD Enterprise Intelligence yang tidak hanya dapat menghilangkan berbagai penghambat pengembangan AI, namun sekaligus juga memungkinkan AI developers untuk merasakan proses development yang lebih efisien dan mudah.

Hari ini, kami akan memperkenalkan secara singkat HUAWEI CLOUD ModelArts ExeML yang akan memberikan pengalaman AI development yang sangat berbeda.

HUAWEI CLOUD ModelArts menyediakan layanan ExeML yang membebaskan service developers dari model development dan parameter tuning. Dengan menggunakan ExeML, anda bisa menyelesaikan proyek AI development hanya dalam 3 langkah, yaitu: data labeling, auto training, dan service deployment.

Artikel ini akan menjelaskan sebuah contoh bagaimana cara mendeteksi Yunbao (maskot HUAWEI CLOUD) untuk membantu anda mengenal ModelArts. Contoh ini merupakan proyek object detection. Dengan menggunakan dataset Yunbao yang telah disediakan, sistem akan secara otomatis melakukan training dan menghasilkan detection model sekaligus melakukan deploy sebagai real-time service. Kemudian, anda dapat menggunakan real-time service ini untuk mendeteksi Yunbao dalam gambar.

Sebelumnya, pastikan anda telah melakukan persiapan sesuai pada bagian Persiapan. Untuk membangun model menggunakan ExeML, lakukan langkah-langkah berikut:

Persiapan

  • Anda harus memiliki akun HUAWEI CLOUD dan pastikan status akun tidak ada masalah. Akun tidak boleh berstatus arrears (memiliki tunggakan) atau frozen.
  • Melakukan konfigurasi access authorization pada akun anda. Untuk informasi lebih detail lihat Configuring Agency Authorization. Untuk pengguna yang telah ter-authorized dengan access key disarankan untuk menghapus authorization dan lakukan konfigurasi agency authorization.
  • Pastikan OBS buckets dan folders siap. Untuk detail tentang bagaimana membuat OBS buckets dan folders, lihat Creating a Bucket dan Creating a Folder. Untuk data access normal, pastikan OBS bucket yang dibuat dan ModelArts berada pada region yang sama.
  • Data management dibutuhkan untuk membuat ExeML projects. Oleh karena itu, anda harus mendapatkan izin untuk mengakses OBS dari modul Data Management terlebih dahulu.

Di dalam ModelArts management console, pilih Data Management > Datasets pada panel navigasi di sebelah kiri. Pada halaman yang ditampilkan, tekan Service Authorization untuk melakukan permission authorization. Jika anda melakukan log in, akan tampil dialog box yang meminta anda menerima authorization. Untuk pengguna IAM (sub-account), authorization dilakukan oleh master account atau pengguna dengan Admin permission.

Langkah 1: Menyiapkan Data

ModelArts menyediakan sampel dataset Yunbao dengan nama Yunbao-Data-Custom. Contoh ini menggunakan dataset tersebut untuk membangun model. Lakukan langkah berikut untuk melakukan upload dataset ke OBS dengan directory test-modelarts/dataset-yunbao.

Jika anda ingin menggunakan dataset sendiri, lewati langkah ini, upload dataset ke dalam folder OBS, dan pilih directory ini pada Langkah 2: Membuat Object Detection

  1. Download Yunbao-Data-Custom dataset.
  2. Extract Yunbao-Data-Custom.zip ke dalam folder Yunbao-Data-Custom.
  3. Upload semua file di dalam folder Yunbao-Data-Custom ke directory OBS test-modelarts/dataset-yunbao. Untuk detail bagaimana cara melakukan upload files, lihat Uploading a File.

Dataset yang diperoleh terdiri dari 2 directory: eval dan train. Data yang tersimpan di train digunakan untuk model training, sedangkan data yang tersimpan di eval digunakan untuk model prediction.

Langkah 2: Membuat Object Detection Project

  1. Di dalam ModelArts management console, tekan ExeML pada panel navigasi di sebelah kiri.
  2. Di dalam box Object Detection, tekan Create Project. Di dalam halaman Create Object Detection Project, isi project name dan dataset name kemudian pilih input dataset path. Path OBS dataset Yunbao adalah /test-modelarts/dataset-yunbao/train/. Pilih directory kosong untuk Output Dataset Path.
https://support.huaweicloud.com/en-us/qs-modelarts/public_sys-resources/note_3.0-en-us.png

Dataset Yunbao memiliki 2 directory: eval dan train. Pilih data yang berada di dalam directory train untuk training. Jika yang terpilih adalah directory yang terletak di atas train, maka akan muncul pesan error yang menunjukkan OBS memiliki data yang invalid sehingga project akan gagal dibuat.

Gambar 1 Membuat Object Detection Project
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232034484.png

  1. Tekan Create Project. Object detection project telah berhasil dibuat. Kemudian halaman ExeML > Label Data akan tampil dan sinkronisasi sumber data akan secara otomatis dilakukan.

Step 3: Memberi Label pada Data

Untuk object detection project, pelabelan data merupakan kegiatan untuk menemukan objek pada sebuah gambar dan memberikan label pada objek tersebut. Data yang telah diberi label akan digunakan untuk training model. Pada dataset Yunbao, sebagian data telah diberikan label. Anda dapat memberikan label pada data yang belum diberi label untuk uji coba.

Sinkronisasi sumber data akan dilakukan secara otomatis ketika anda membuat proyek ExeML. Sinkronisasi sumber data membutuhkan jangka waktu tertentu. Jika sinkronisasi gagal, anda dapat tekan Synchronize Data Source untuk menjalankan sinkronisasi secara manual. 

  1. Pada halaman ExeML > Label Data, tekan tab Unlabeled. Semua gambar yang belum berlabel akan ditampilkan. Tekan gambar untuk menujuhalaman labeling.
  2. Tekan tombol kiri dan geser mouse untuk memilih area tempat Yunbao berada. Pada dialog box yang ditampilkan, masukkan nama label, sebagai contoh, yunbao, dan tekan Enter. Setelah selesai melakukan labeling, status pada gambar akan berubah menjadi Labeled pada bagian kiri panel Image Catalog.

Anda dapat memilih gambar lain dari image catalogpada bagian bawah halaman dan mengulangi langkah sebelumnya untuk memberi label pada gambar. Jika sebuah gambar terdiri lebih dari satu yunbao, anda dapat memberikan label untuk masing-masing yunbao. Disarankan untuk memberikan label pada semua gambar yang terdapat pada dataset untuk training model supaya mendapatkan presisi yang baik.

Gambar 2 Pelabelan gambar untuk object detection
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232035002.png

  1. Setelah semua gambar pada direktori gambar sudah diberi label, tekan ExeML pada bagian ujung atas kiri. Pada dialog box yang ditampilkan, tekan OK untuk menyimpan infomasi labeling. Pada tab Labeled, anda dapat melihat gambar berlabel dan melihat nama label serta kuantitasnya pada panel di sebelah kanan.

Step 4: Membuat Model dengan ExeML

  1. Setelah selesai memberi label pada data, tekan Train di bagian ujung atas kanan pada halaman labeling. Pada dialog box yang ditampilkan di Training Configuration, atur parameter terkait dengan mengacu pada Gambar 3.

Gambar 3 Setting training parameters
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0278866986.png

  1. Tekan Next. Pada halaman konfigurasi, konfirmasi spesifikasi dan tekan Submit untuk mulai auto model training. Training membutuhkan jangka waktu tertentu. Jika anda menutup atau keluar dari halaman, sistem akan tetap melanjutkan training hingga selesai.

Setelah selesai training, anda dapat melihat detail training pada halaman, seperti akurasi, hasil evaluasi, parameter, dan class statistic.

Gambar 4 Model Training
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232035517.png

Step 5: Deploy Model sebagai Real-Time Service

  1. Pada halaman Train Model, tunggu hingga status training berubah menjadi Completed. Tekan Deploy pada panel Version Manager.

Gambar 5 Deploy Service
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232035578.png

  1. Pada dialog box Deploy yang ditampilkan, atur Specifications dan Auto Stop, dan tekan OK untuk deploy model object detection sebagai real-time services.

Jika anda memilih free specification, anda tidak perlu mengatur Auto Stop, karena satu jam kemudian akan otomatis berhenti.

Gambar 6 Deployment settings
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232035777.png

  1. Setelah deployment mulai, sistem akan otomatis beralih pada halaman Deploy Service. Halaman ini menampilkan progress dan status dari deployment.

Deployment membutuhkan jangka waktu tertentu. Setelah deploy berhasil, status pada panel Version Manager akan berubah menjadi Running.

Gambar 7 Deployment Berhasil
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232039498.png

Step 6: Menguji Service

Setelah model dideploy, anda dapat menguji service menggunakan gambar.

  1. Pada halaman Deployment Online, pilih running service version, dan tekan Upload untuk upload gambar.

Gambar 8 Upload Gambar
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232036177.png

  1. Pilih gambar dari local environment. Gambar harus berisi Yunbao. Tekan Predict untuk melakukan pengujian.

Setelah prediksi selesai, label dengan nama yunbao, koordinat lokasi, dan confidence score akan ditampilkan pada panel prediction result di bagian kanan. Pada prediction result, detection_boxes menunjukkan lokasi objek, detection_scores menunjukkan skor deteksi dari yunbao.

Jika akurasi model tidak sesuai dengan ekspektasi, tambah gambar pada tab halaman Label Data, beri label gambar, training dan deploy kembali model.

https://support.huaweicloud.com/en-us/qs-modelarts/public_sys-resources/note_3.0-en-us.png

Real-time service yang terus bejalan akan memakan resources, anda disarankan tekan Stop pada panel Version Manager untuk menghentikan service dan menghindari penagihan yang tidak perlu. Jika anda ingin menggunakan kembali service, tekan Start.

Gambar 9 Hasil Pengujian
https://support.huaweicloud.com/en-us/qs-modelarts/en-us_image_0232040416.png

Remark

Artikel ini hanya menjelaskan fungsi dasar dari HUAWEI CLOUD EI ModelArts. Sebagai Huawei full-stack dan full-scenario AI development platform, ModelArts menyediakan data preprocessing dan semi-automatic labeling, training terdistribusi berskala besar, automatic model generation, kemampuan deploy model device-edge-cloud sesuai permintaan, membantu pengguna membuat dan melakukan deploy model dengan cepat serta mengelola full cycle AI workflows. Menurunkan kemampuan minimum pada tiap lapisan dalam proses AI development, menyerahkan kerumitan pada HUAWEI CLOUD ModelArts dan memberikan kemudahan pada developers. Di masa mendatang, kami akan memberikan rekomendasi HUAWEI CLOUD services yang lebih mudah digunakan untuk AI developers dan enthusiasts di Indonesia.