
Pengarang: Murli Sivashanmugam
Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.
Dari Membangun Aplikasi Perangkat Lunak hingga Membangun Aplikasi ML
Aplikasi Perangkat Lunak saat ini sedang bertransisi dari Aplikasi Berkemampuan Data ke Aplikasi Berkemampuan ML. Di masa depan, sebagian besar aplikasi Perangkat Lunak tidak hanya harus mengumpulkan dan memproses data, tetapi juga mengekstrak wawasan dan pengetahuan dari data. Ada banyak tantangan dalam membangun model ML yang terintegrasi erat dengan aplikasi perangkat lunak loop tertutup. Artikel ini merangkum beberapa pemikiran tentang apa yang diperlukan untuk membangun Aplikasi yang Diaktifkan ML.
Apa itu Aplikasi yang Diaktifkan ML?
Aplikasi ML-Enabled adalah aplikasi perangkat lunak yang menggunakan 100-an jika bukan 1000-an model ML untuk memberikan fungsionalitas utamanya. Dalam beberapa tahun terakhir, industri telah berfokus pada pembuatan model ML, dan sebagai hasilnya, telah terjadi perkembangan platform ML yang berfokus pada pembuatan, pelatihan, dan pengaturan model ML. Tetapi ketika datang ke produksi aplikasi ML-Enabled, itu cukup sepi. Baru-baru ini, ada minat baru dalam mengintegrasikan model ML dengan aplikasi perangkat lunak loop tertutup. Akibatnya, ke depan, orang dapat mengharapkan pergeseran fokus dari membangun model ML sebagai ‘Hewan’ oleh organisasi dengan tim ilmu data khusus mereka ke model ML yang dibangun dan dikelola sebagai ‘Sapi’ oleh aplikasi secara internal sesuai dengan kasus penggunaan dan konteks yang mereka gunakan.
Beberapa contoh ML Enabled Applications adalah Autonomous self-driving car, Autonomous Industry 4.0, Autonomous networks, Building occupant experience & energy management systems, dll.
Tantangan dalam membangun Aplikasi yang Diaktifkan ML
Iterasi Aplikasi Diaktifkan ML
Ketika seseorang membangun Model ML yang berdiri sendiri, sebagian besar waktu, itu akan dimulai dengan pertanyaan, “Dengan data ini, dapatkah prediksi ini dibuat?”. Tetapi ketika seseorang mulai membangun aplikasi ML, ia akan mulai dengan pertanyaan, “Data apa yang harus dihasilkan untuk membuat prediksi ini?”. Dalam siklus hidup pengembangan aplikasi ML, seseorang tidak hanya akan mengulangi model ML tetapi juga pada seluruh ekosistem mulai dari pembuatan data hingga penyajian ML. Oleh karena itu penting untuk merencanakan iterasi dengan tepat. Diagram di bawah ini menunjukkan berbagai opsi untuk membangun aplikasi perangkat lunak secara bertahap. Opsi pertama menggambarkan pendekatan metodologi air terjun, dan kami sangat menyadari perangkapnya. Opsi kedua menggambarkan salah satu pendekatan yang digunakan dalam metodologi Agile. Meskipun ini adalah pendekatan yang valid untuk aplikasi perangkat lunak tradisional, ini tidak cocok untuk aplikasi perangkat lunak yang mendukung ML. Misalnya, jika seseorang berencana untuk membuat IDE, sebaiknya mulai dengan editor teks minimalis. Tetapi jika seseorang berencana untuk membangun sistem Otomasi Bangunan Berkemampuan ML, tidak masuk akal untuk membangun sistem Otomasi Rumah yang lebih sederhana terlebih dahulu. Data yang dikumpulkan dari lingkungan otomatisasi rumah tidak akan cocok untuk mengembangkan sistem Otomatisasi Bangunan. Dengan aplikasi berkemampuan ML, sangat penting untuk membangun versi awal yang mirip dengan produk akhir; karenanya, pendekatan ketiga yang digambarkan dalam diagram lebih masuk akal. Aplikasi berkemampuan ML harus melayani domain target langsung dari fase awal.
Sumber: https://www.linkedin.com/pulse/mvp-bike-car-fred-voorhorst/
Lingkup Luas
Saat ini, banyak model ML dibuat untuk kasus penggunaan yang sangat terfokus dan spesifik. Ada beberapa kasus penggunaan umum seperti NLP dan Computer Visions, tetapi ketika menyangkut model yang digunakan oleh bisnis dan perusahaan, mereka dikembangkan dan dilatih khusus untuk organisasi atau unit bisnis tertentu. Saat mengembangkan aplikasi perangkat lunak sebagai produk, produk harus cukup umum untuk melayani cakupan yang lebih luas. Umumnya, semakin luas cakupan produk, semakin baik potensi pendapatannya. Saat aplikasi ML yang dihosting (SaaS) melayani beberapa penyewa atau saat beberapa instance aplikasi ML di-deploy, instance yang berbeda kemungkinan akan melihat variasi dan distribusi data yang berbeda. Variasi data dapat terjadi karena variasi kasus penggunaan target, seperti aplikasi yang digunakan untuk memantau pabrik produksi vs. memantau bandara. Selain itu, perbedaan distribusi data dapat terjadi karena perbedaan profil konsumen seperti preferensi pembelian regional. Aplikasi perangkat lunak out-of-the-box berkemampuan ML harus mampu beradaptasi dengan perbedaan lingkungan ini dengan sendirinya tanpa atau dengan campur tangan manusia yang minimal.
Ketersediaan Data
Tantangan utama lainnya dalam membangun Aplikasi yang Diaktifkan ML adalah bahwa, lebih sering daripada tidak, ketika seseorang mulai membangun aplikasi ML, seseorang mungkin tidak menyadari data apa yang perlu dikumpulkan untuk mencapai kasus penggunaan ML yang diperlukan. Bahkan jika intuisi domain ada di sekitarnya, kecil kemungkinan kumpulan data yang diperlukan diketahui di awal siklus pengembangan. Di sinilah infrastruktur ML secara keseluruhan, bersama dengan jalur pengumpulan data, harus berkembang dalam iterasi bersama dengan aplikasi yang mendukung ML. Bahkan sebelum seseorang mulai merencanakan untuk membangun model, seseorang harus mengembangkan aplikasi sedemikian rupa sehingga masih melayani kasus penggunaan domain tanpa model target sehingga dapat mengumpulkan data yang diperlukan untuk membangun model. Strategi pendekatan ini agak rumit tetapi dapat dicapai dengan kombinasi yang tepat dari pengetahuan domain, prioritas persyaratan, dan rekayasa produk.
Kesimpulan
Untuk bergerak menuju pembuatan aplikasi yang mendukung ML, seseorang harus mengalihkan fokus pada pengintegrasian DataOps, MLOps, dan DevOps sebagai satu sistem yang holistik dan terintegrasi, tidak seperti dalam keadaan saat ini di mana alat dan proses ini dipisahkan dan beroperasi sebagai entitas independen. Kematangan AutoML juga akan sangat membantu dalam mematangkan aplikasi yang mendukung ML. AutoML awalnya dilihat sebagai pengganti tim Ilmu Data, tetapi semakin banyak orang mulai menyadari bahwa Manusia sangat diperlukan untuk AI/ML, dan AutoML saat ini dipandang sebagai mengurangi beban kognitif sehingga manusia dapat fokus pada tingkat yang lebih tinggi. hal-hal seperti pengetahuan domain, intuisi, dan membayangkan kembali dunia baru yang belum pernah ada sebelumnya.
Hak Cipta © A5G Networks, Inc.
Membangun Aplikasi yang Diaktifkan ML awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI