Pelajari kelebihan dan kekurangannya untuk memilih yang tepat untuk Anda! Laporan yang realistis.

Dalam postingan kali ini, saya akan membagikan tiga pendekatan untuk mengembangkan produk AI dan menyajikan kelebihan dan kekurangan pendekatan tersebut, beserta beberapa solusi dan pendapat pribadi saya tentang cara melanjutkannya.

Saya telah bekerja dengan ML selama 6 tahun, 2½ tahun terakhir sebagai peneliti pascasarjana, mencoba ketiga pendekatan tersebut baik dari perspektif industri maupun akademis.

Meskipun industri secara umum bertujuan untuk menciptakan serangkaian produk dan layanan untuk kasus penggunaan tertentu, akademisi secara umum lebih tertarik pada metode dasar di balik ML, dan mengabaikan aplikasi di kehidupan nyata. Kesenjangan ini menyulitkan perusahaan kecil dan menengah untuk menerapkan publikasi akademis, sehingga ketiga pendekatan tersebut lebih sulit digunakan.

1. Pendekatan Top-Down

Gabungkan kerangka kerja yang ada, model terlatih, dan kumpulan data sumber terbuka.
Telusuri web untuk model, kumpulan data, dan kerangka kerja ML yang siap digunakan (terlatih), atau siap dilatih, yang dapat Anda instal dan rangkai bersama. Proses terlebih dahulu data Anda agar sesuai dengan ekspektasi arsitektur yang disediakan.

Kasus Penggunaan

Pendekatan ini berfungsi dengan baik untuk prototipedan pembuktian konsep. Seringkali, baik perusahaan maupun peneliti akademis ingin mencoba apakah suatu konsep atau ide tertentu dapat berhasil sebelum membuktikan konsep tersebut secara teoritis.

Keuntungan

Menggabungkan komponen yang ada dapat dilakukan dengan cepat dan memungkinkan Anda membangun solusi yang berpusat pada pengguna dengan mempertimbangkan kasus penggunaan tertentu. Hanya diperlukan sedikit pengetahuan ML, sehingga pendekatan ini cocok untuk pengembang perangkat lunak mana pun.

Kekurangan

Pendekatan ini memiliki kelemahan besar karena Anda terbatas pada apa yang tersedia, yang dapat menyebabkan terbatasnya fungsionalitas dalam aplikasi Anda.

Kumpulan data dan model sumber terbuka sering kali dibuat dan diterbitkan oleh akademisi, mewakili kondisi yang sangat mudah atau kondisi laboratorium, dan oleh karena itu belum tentu cocok dengan kasus penggunaan industri. Informasi yang khusus untuk domain Anda mungkin tidak dapat dimodelkan dengan komponen yang ada dan mungkin hilang.

Dengan keterbatasan ini, saya mengamati bahwa produk yang dibuat dengan pendekatan ini seringkali tidak berhasil melewati tahap prototipe, karena fungsionalitas dan keandalan tidak berada pada tingkat produksi. Dengan fungsionalitas yang terbatas, akan sulit untuk “menonjol dari yang lain” atau memonetisasi produk Anda. Mempertahankan produk dalam jangka panjang mungkin tidak menguntungkan, karena pelanggan mungkin merasa Anda tidak memberikan nilai yang cukup bagi mereka.

Solusi

Tetapkan tujuan yang realistis dan beri tahu klien (dan pemangku kepentingan lainnya) terlebih dahulu apa yang sebenarnya mungkin dilakukan dan apa yang tidak. Jika Anda memiliki kasus penggunaan yang lebih kompleks, Anda perlu membatasi dan menyederhanakan fungsi yang diinginkan atau menerima akurasi yang biasa-biasa saja. Anda mungkin akan sangat mengecewakan klien pada pertemuan pertama, karena Anda perlu mengatakan “Ini tidak mungkin.”, namun bagaimanapun juga, Anda akan membantu mereka menghemat uang dalam jangka panjang. Komunikasikan dengan jelas bahwa pendekatan ini hanya akan berhasil untuk lingkungan yang sangat mudah dan bukti konsep, karena informasi spesifik industri yang penting untuk domain Anda sering kali tidak dapat diinterpretasikan oleh model terlatih yang tersedia.

Pendapat Pribadi

Anda dapat menggunakan pendekatan ini untuk merasakan apa yang tersedia dan mungkin dilakukan tanpa menginvestasikan terlalu banyak waktu dan tenaga, namun selain itu, sayangnya, saya tidak melihat banyak pasar untuk hal ini saat ini. Saya merasa hype tentang AI saat ini terlalu tinggi, jadi 90% pekerjaan sehari-harinya hanyalah menurunkan ekspektasi masyarakat, lalu mengerjakan kasus penggunaan yang mudah dan masalah yang tidak terlalu menantang. Secara pribadi, ini bukan yang saya inginkan.

2. Pendekatan Bottom-Up (Berpusat pada Model)

Lakukan penelitian dan kembangkan model Anda sendiri.
Dapatkan pemahaman mendalam tentang teori di balik ML, rumuskan dan modelkan sebanyak mungkin pengetahuan domain ke dalam model, dan membuatnya sangat spesifik untuk kasus penggunaan tertentu. Pada dasarnya, ini hanyalah matematika dan statistik tradisional, mungkin dengan satu atau dua lapisan jaringan sederhana.

Kasus Penggunaan

Pendekatan ini paling cocok untuk produk AI yang dirancang khususyang memiliki tugas yang jelas. Sistem pakar ini menggunakan model khusus untuk berspesialisasi dalam satu tugas tertentu.

Keuntungan

Untuk data yang berada dalam cakupan yang ditentukan, model ini dapat mencapai akurasi yang sangat baik.Karena mempertimbangkan kasus penggunaan sejak awal, model ini dapat sangat dioptimalkan untuk performa dan akurasi.

Kekurangan

Membangun fungsionalitas inti aplikasi ML dari awal memerlukan pemahaman mendalam tentang dasar matematika di balik ML dan domain aplikasi. Hal ini juga memerlukan penelitian dan eksperimen, tanpa jaminan hasil. Untuk spesialisasi, Anda perlu mempersempit cakupan Anda. Ruang lingkup yang dimodelkan mungkin tidak mewakili keseluruhan kondisi kehidupan nyata, dan tentu saja model tersebut hanya akan berfungsi untuk kasus penggunaan yang dimodelkan dan tidak dapat diterapkan ke banyak domain.

Solusi

Akui bahwa pembelajaran mesin hanyalah kumpulan metode matematika. Pelajari metode ini dan terapkan secara teratur.

Opini pribadi

Meskipun ML sering dikaitkan dengan ilmu komputer dan rekayasa perangkat lunak, kenyataan menunjukkan bahwa Anda lebih suka membahas soal matematika. Jika Anda, tidak seperti saya, suka bekerja pada level yang lebih matematis, ini adalah pilihan yang bagus. Ingatlah bahwa Anda akan membuat solusi yang dirancang khusus dan bukan komponen yang dapat digunakan kembali, diperlukan banyak eksperimen, dan hasilnya tidak dijamin.

3. Pendekatan Big Data (Berpusat pada Data)

Membuang uang untuk mengatasi masalah ini.
Kumpulkan data dalam jumlah besar dan latih jaringan neural yang sangat mendalam menggunakan arsitektur mapan yang kompatibel dengan data besar.

Kasus Penggunaan

Jika Anda ingin membuat model yang universal, dapat digeneralisasi, dan dapat diskalakan, bahkan mungkin model dasar, ini adalah pendekatan yang tepat untuk Anda.

Keuntungan

Model yang dibuat dapat menyelesaikan banyak tugas dan disesuaikan dengan banyak domain.

Kekurangan

Membuat model seperti itu memerlukan pengumpulan data dalam jumlah besar yang sesuai dengan kasus penggunaan Anda, serta memerlukan sumber daya komputasi dan biaya yang tinggi. Persyaratan tinggi ini tidak dapat dipenuhi oleh banyak perusahaan atau universitas.

Solusi

Anda perlu menginvestasikan uang. Anda mungkin mendapatkan akses terhadap uang sebanyak itu dengan berganti perusahaan, namun ketahuilah bahwa perusahaan-perusahaan ini sangat diminati banyak orang, dan persaingan akan tinggi. Solusi lain mungkin adalah waktu. Seiring berjalannya waktu, ekspektasi terhadap AI mungkin akan berubah, anggaran mungkin akan disesuaikan di lebih banyak perusahaan, namun yang lebih penting, daya komputasi mungkin akan menjadi lebih terjangkau, dan “perusahaan-perusahaan besar” (dan universitas-universitas yang didukung oleh mereka) mungkin akan menerbitkan sumber terbuka yang lebih beragam. kumpulan data, yang mungkin mengurangi kebutuhan pengumpulan data atau bahkan memungkinkan Anda menggunakan pendekatan pertama.

Opini pribadi

Mimpi? Sayangnya, bagi kebanyakan dari kita, ya. Melatih model-model ini (dalam jangka waktu yang kompetitif) akan memerlukan seperangkat komputer bertenaga GPU berkemampuan tinggi, dan pengumpulan data adalah proses yang kompleks, sering kali melibatkan studi atau perekaman, terhambat oleh peraturan privasi dan masalah teknis seperti penyimpanan data yang andal. . Anda dapat mengatasi masalah ini dengan melakukan pengumpulan data dan menyewa komputer cloud, namun secara realistis, Anda tidak akan punya uang untuk melakukan itu. Tidak di lingkungan penelitian Jerman (di mana saya pernah menjadi bagiannya), dan mungkin juga di 99% perusahaan industri. Dan menghemat uang dengan mengumpulkan data sendiri? Kami sudah mencoba; itu melelahkan. Selain peraturan, jika Anda tidak membayar dan menskalakan pengumpulan data, Anda tidak akan memiliki kumpulan data statistik yang signifikan, yang hanya mencakup beberapa kondisi yang terdefinisi dengan baik, dan sekali lagi jauh dari permasalahan dalam kehidupan nyata.

Pendekatan Terkait

Karena AI kini semakin terintegrasi ke dalam lebih banyak produk, ada beberapa cara yang dapat Anda gunakan untuk bekerja secara produktif dengan model AI yang ada secara top-down. Saya belum memasukkannya ke dalam daftar di atas, karena ini hanya berlaku untuk kasus penggunaan atau tipe data tertentu.

  • Rekayasa Cepat: Pengetahuan tentang model bahasa alami (LLM) berukuran besar seperti Chat GPT dapat diperluas (atau dibatasi) dengan menulis perintah teks yang diawali dengan masukan pengguna.
  • Plugin LLM:Anda dapat menulis pembungkus di sekitar "Antarmuka Obrolan" yang memungkinkan LLM menjalankan perintah dalam perangkat lunak tradisional dan menafsirkan hasil dari perintah ini.

Saat menggunakan model AI yang dihosting untuk inferensi, yang lebih penting lagi adalah memperhatikan syarat dan ketentuan serta pemberitahuan privasi layanan ini.

Secara pribadi, saya menganggap pendekatan ini sebagai pengembangan “terkait ML” tetapi bukan “pengembangan ML” dan oleh karena itu saya tidak akan membahasnya secara lebih rinci.

Sedang mencari

Jika Anda menggunakan dan menggabungkan komponen AI yang ada, kemungkinan besar Anda tidak akan menciptakan nilai yang cukup bagi pelanggan untuk mempertahankan produk AI Anda dalam jangka panjang. Komponen sering kali hanya mampu memecahkan masalah mainan yang disederhanakan dan diuji di laboratorium, sehingga gagal mencapai hasil yang diinginkan dalam tantangan industri di kehidupan nyata.

Jika ingin melakukannya dengan benar, Anda harus memulai dengan dasar-dasar dan memodelkan pengetahuan domain sebanyak mungkin ke dalam inti matematika model ML Anda. Tugas ini memerlukan penelitian dasar dan kolaborasi erat dengan para ahli di industri Anda. Ingatlah bahwa solusi ini dirancang khusus untuk masalah tertentu dan tidak dapat dengan mudah ditransfer ke masalah yang “tampaknya” serupa.

Pilihan lain untuk melakukannya dengan benar adalah berinvestasi dalam pengumpulan data. Semakin banyak data berkualitas tinggi (misalnya beragam dan berlabel) yang Anda miliki, semakin mudah model pembelajaran mendalam yang ada untuk memecahkan masalah Anda. Sayangnya, di sebagian besar proyek yang saya kerjakan, pengumpulan data merupakan tugas yang sangat membosankan karena terhambat oleh peraturan privasi dan sulitnya memalsukan data secara realistis, yang pada kenyataannya sangat jarang terjadi.

Rekomendasi saya untuk Anda adalah merenungkan pendekatan Anda dan mempertimbangkan kembali apakah akan menetapkan tujuan yang lebih realistis (dan menurunkan ekspektasi Anda terhadap AI), mengubah ke pendekatan bottom-up (dengan mempertimbangkan keterampilan matematika yang dibutuhkan staf Anda), atau berinvestasi lebih banyak pada pengumpulan data.

Bacaan lebih lanjut

Tinjauan teknis mengenai tantangan-tantangan utama pengembangan AI dan solusi terhadap tantangan-tantangan ini disajikan dalamposterdan makalah penyerta yang saya tulis bersama sebagai bagian dari a proyek Penelitian.