Selama fase pembentukan ide dan perencanaan, Anda menyelidiki berbagai elemen dari solusi ML. Selama tugas pembuatan masalah, Anda membingkai masalah dalam hal solusi ML. Kursus Pengantar Framing Masalah Machine Learning membahas langkah-langkah tersebut secara mendetail. Selama tugas perencanaan, Anda memperkirakan kelayakan solusi, merencanakan pendekatan, dan menetapkan metrik keberhasilan.
Meskipun secara teoritis ML mungkin menjadi solusi yang bagus, Anda masih perlu memperkirakan kelayakannya di dunia nyata. Misalnya, suatu solusi mungkin berfungsi secara teknis, tetapi tidak praktis atau tidak mungkin diterapkan. Faktor-faktor berikut memengaruhi kelayakan project:
- Ketersediaan data
- Tingkat kesulitan soal
- Kualitas prediksi
- Persyaratan teknis
- Biaya
Ketersediaan data
Model ML akan bagus jika data yang digunakan untuk melatih model tersebut. Mereka membutuhkan banyak data berkualitas tinggi untuk membuat prediksi berkualitas tinggi. Menjawab pertanyaan berikut dapat membantu Anda menilai apakah Anda memiliki data yang diperlukan untuk melatih model:
Jumlah. Bisakah Anda mendapatkan data berkualitas tinggi yang cukup untuk melatih model? Apakah contoh berlabel langka, sulit diperoleh, atau terlalu mahal? Misalnya, mendapatkan gambar medis berlabel atau terjemahan bahasa yang jarang ternyata sangat sulit. Untuk membuat prediksi yang baik, model klasifikasi memerlukan banyak contoh untuk setiap label. Jika set data pelatihan berisi contoh terbatas untuk beberapa label, model tersebut tidak dapat membuat prediksi yang baik.
Ketersediaan fitur pada waktu penayangan. Akankah semua fitur yang digunakan dalam pelatihan tersedia pada waktu inferensi? Tim telah menghabiskan banyak waktu untuk melatih model dan baru menyadari bahwa beberapa fitur tidak tersedia hingga beberapa hari setelah model memerlukannya.
Misalnya, model memprediksi apakah pelanggan akan mengklik URL, dan salah satu fitur yang digunakan dalam pelatihan mencakup
user_age
. Namun, saat model menayangkan prediksi,user_age
tidak akan tersedia, mungkin karena pengguna belum membuat akun.Peraturan. Apa saja peraturan dan persyaratan hukum untuk mendapatkan dan menggunakan data? Misalnya, beberapa persyaratan menetapkan batas untuk penyimpanan dan penggunaan jenis data tertentu.
Generative AI
Model AI generatif yang telah dilatih sering kali memerlukan set data pilihan agar unggul dalam tugas khusus domain. Anda mungkin akan memerlukan set data untuk kasus penggunaan berikut:
-
Prompt Engineering,
parameterefficient tuning, dan
fine-tuning.
Bergantung pada kasus penggunaan, Anda mungkin memerlukan antara 10 sampai 10.000 contoh berkualitas tinggi untuk lebih mengoptimalkan output model. Misalnya, jika model perlu disesuaikan agar unggul dalam tugas tertentu, seperti menjawab pertanyaan medis, Anda memerlukan set data berkualitas tinggi yang mewakili jenis pertanyaan yang akan ditanyakan beserta jenis jawaban yang harus direspons.
Tabel berikut memberikan perkiraan jumlah contoh yang diperlukan untuk meningkatkan kualitas output model AI generatif untuk teknik tertentu:
-
Informasi terbaru. Setelah dilatih sebelumnya, model AI generatif memiliki basis pengetahuan yang tetap. Jika konten dalam domain model sering berubah, Anda memerlukan strategi untuk menjaga agar model tetap terbaru, seperti:
- fine-tuning
- retrieval-augmented Generation (RAG)
- pra-pelatihan berkala
Teknik | Jumlah contoh yang diperlukan |
---|---|
Zero-shot prompting | 0 |
Sedikit-shot prompting | ~10 dtk–100 dtk |
Parameter-efficient tuning 1 | ~100 dtk–10.000 dtk |
Fine tuning | ~1000-10.000-an–10.000-an (atau lebih) |
Tingkat kesulitan soal
Tingkat kesulitan masalah mungkin sulit diperkirakan. Apa yang awalnya tampak masuk akal bisa saja berubah menjadi pertanyaan riset terbuka; apa yang terlihat praktis dan bisa dilakukan bisa jadi ternyata tidak realistis atau tidak bisa dijalankan. Menjawab pertanyaan-pertanyaan berikut dapat membantu mengukur tingkat kesulitan masalah:
Apakah masalah serupa sudah pernah terpecahkan? Misalnya, apakah tim di organisasi Anda menggunakan data yang serupa (atau identik) untuk membangun model? Apakah orang atau tim di luar organisasi Anda memecahkan masalah yang serupa, misalnya, di Kaggle atau TensorFlow Hub? Jika demikian, kemungkinan Anda akan dapat menggunakan bagian-bagian model mereka untuk membangun model Anda.
Apakah sifat masalah ini sulit? Mengetahui tolok ukur manusia untuk tugas dapat menentukan tingkat kesulitan masalah. Contoh:
- Manusia dapat mengklasifikasikan jenis hewan dalam gambar dengan akurasi sekitar 95%.
- Manusia dapat mengklasifikasikan digit tulisan tangan dengan akurasi sekitar 99%.
Data sebelumnya menunjukkan bahwa membuat model untuk mengklasifikasikan hewan lebih sulit daripada membuat model untuk mengklasifikasikan angka yang ditulis tangan.
Apakah ada pihak yang tidak bertanggung jawab? Apakah orang-orang akan secara aktif mencoba mengeksploitasi model Anda? Jika demikian, Anda akan terus-menerus berlomba mengupdate model sebelum dapat disalahgunakan. Misalnya, filter spam tidak dapat menangkap jenis spam baru saat seseorang mengeksploitasi model untuk membuat email yang tampak sah.
Generative AI
Model AI generatif memiliki potensi kerentanan yang dapat meningkatkan tingkat kesulitan masalah:
- Sumber input. Dari mana input tersebut akan berasal? Apakah perintah adversarial dapat membocorkan data pelatihan, materi field preamble, konten database, atau informasi alat?
- Penggunaan output. Bagaimana output akan digunakan? Apakah model akan menghasilkan konten mentah atau apakah akan ada langkah perantara yang menguji dan memverifikasi kesesuaiannya? Misalnya, memberikan output mentah ke plugin dapat menyebabkan sejumlah masalah keamanan.
- Penyelarasan. Penyesuaian dengan set data yang rusak dapat berdampak negatif terhadap bobot model. Kerusakan ini akan menyebabkan model menghasilkan konten yang tidak benar, negatif, atau bias. Seperti disebutkan sebelumnya, penyempurnaan memerlukan set data yang telah diverifikasi untuk memuat contoh berkualitas tinggi.
Kualitas prediksi
Anda perlu mempertimbangkan dengan cermat dampak prediksi model terhadap pengguna dan menentukan kualitas prediksi yang diperlukan untuk model tersebut.
Kualitas prediksi yang diperlukan bergantung pada jenis prediksi. Misalnya, kualitas prediksi yang diperlukan untuk sistem rekomendasi tidak akan sama untuk model yang menandai pelanggaran kebijakan. Merekomendasikan video yang salah dapat menciptakan pengalaman pengguna yang buruk. Namun, kesalahan menandai video sebagai melanggar kebijakan platform dapat menimbulkan biaya dukungan, atau lebih buruk lagi, biaya hukum.
Apakah model Anda harus memiliki kualitas prediksi yang sangat tinggi karena prediksi yang salah akan sangat mahal? Umumnya, semakin tinggi kualitas prediksi yang diperlukan, semakin sulit masalahnya. Sayangnya, project sering kali mencapai penurunan karena Anda mencoba meningkatkan kualitas. Misalnya, meningkatkan presisi model dari 99,9% menjadi 99,99% dapat menghasilkan peningkatan biaya project 10 kali lipat (jika tidak lebih).
Gambar 2. Project ML biasanya memerlukan lebih banyak resource seiring meningkatnya kualitas prediksi yang diperlukan.
Generative AI
Saat menganalisis output AI generatif, pertimbangkan hal-hal berikut:
-
Akurasi faktual. Meskipun model AI generatif dapat menghasilkan konten yang lancar dan koheren, hasilnya tidak dijamin faktual. Pernyataan palsu dari model AI generatif disebut konfabulasi.
Misalnya, model AI generatif dapat berkonfusi dan menghasilkan ringkasan teks yang salah, jawaban yang salah untuk pertanyaan matematika, atau pernyataan palsu tentang dunia. Banyak kasus penggunaan yang masih memerlukan verifikasi manual terhadap output AI generatif sebelum digunakan di lingkungan produksi, misalnya kode yang dihasilkan LLM.
Seperti ML tradisional, makin tinggi persyaratan untuk akurasi faktual, makin tinggi biaya untuk pengembangan dan pemeliharaannya.
- Kualitas output. Apa konsekuensi hukum dan keuangan (atau implikasi etis) dari output yang buruk, seperti konten yang bias, menjijikkan, atau negatif?
Persyaratan teknis
Model memiliki sejumlah persyaratan teknis yang memengaruhi kelayakannya. Berikut adalah persyaratan teknis utama yang harus Anda penuhi untuk menentukan kelayakan project:
- Latensi. Apa saja persyaratan latensinya? Seberapa cepat prediksi perlu ditampilkan?
- Kueri per detik (QPS). Apa saja persyaratan QPS?
- Penggunaan RAM. Apa saja persyaratan RAM untuk pelatihan dan inferensi?
- Platform. Di mana model akan berjalan: Online (kueri yang dikirim ke server RPC), WebML (di dalam browser web), ODML (di ponsel atau tablet), atau offline (prediksi yang disimpan dalam tabel)?
Penafsiran. Apakah prediksi harus dapat diinterpretasikan? Misalnya, apakah produk Anda harus menjawab pertanyaan seperti, "Mengapa ada konten tertentu yang ditandai sebagai spam?" atau "Mengapa video dinyatakan melanggar kebijakan platform?"
Frekuensi pelatihan ulang. Saat data pokok untuk model Anda berubah dengan cepat, pelatihan ulang yang sering atau berkelanjutan mungkin diperlukan. Namun, pelatihan ulang yang sering dapat mengakibatkan biaya signifikan yang mungkin lebih besar daripada manfaat memperbarui prediksi model.
Pada umumnya, Anda mungkin harus mengorbankan kualitas model untuk mematuhi spesifikasi teknisnya. Dalam hal ini, Anda harus menentukan apakah Anda masih dapat menghasilkan model yang cukup bagus untuk masuk ke produksi.
Generative AI
Pertimbangkan persyaratan teknis berikut saat menggunakan AI generatif:
- Platform. Banyak model terlatih tersedia dalam berbagai ukuran, sehingga dapat berfungsi pada berbagai platform dengan resource komputasi yang berbeda. Misalnya, model terlatih dapat berkisar dari skala pusat data hingga sesuai untuk ponsel. Anda harus mempertimbangkan latensi, privasi, dan batasan kualitas produk atau layanan saat memilih ukuran model. Batasan ini sering kali dapat bertentangan. Misalnya, batasan privasi mungkin mengharuskan inferensi dijalankan pada perangkat pengguna. Namun, kualitas output mungkin buruk karena perangkat tidak memiliki resource komputasi untuk memberikan hasil yang baik.
- Latensi. Ukuran input dan output model memengaruhi latensi. Secara khusus, ukuran output lebih memengaruhi latensi daripada ukuran input. Meskipun dapat memparalelkan inputnya, model hanya dapat menghasilkan output secara berurutan. Dengan kata lain, latensinya mungkin sama untuk menyerap input 500 kata atau 10 kata, sementara menghasilkan ringkasan 500 kata membutuhkan waktu yang jauh lebih lama daripada menghasilkan ringkasan 10 kata.
- Penggunaan alat dan API. Apakah model akan perlu menggunakan alat dan API, seperti menelusuri internet, menggunakan kalkulator, atau mengakses program email untuk menyelesaikan tugas? Biasanya, makin banyak alat yang diperlukan untuk menyelesaikan tugas, makin besar peluang yang ada untuk menyebarkan kesalahan dan meningkatkan kerentanan model.
Biaya
Apakah implementasi ML sepadan dengan biayanya? Sebagian besar project ML tidak akan disetujui jika solusi ML lebih mahal untuk diterapkan dan dikelola daripada uang yang dihasilkan (atau disimpan). Project ML menimbulkan biaya manusia dan mesin.
Biaya manusia. Berapa banyak orang yang dibutuhkan hingga proyek beralih dari bukti konsep ke produksi? Seiring berkembangnya project ML, biaya biasanya meningkat. Misalnya, project ML memerlukan lebih banyak orang untuk men-deploy dan memelihara sistem siap produksi daripada membuat prototipe. Cobalah untuk memperkirakan jumlah dan jenis peran yang dibutuhkan proyek di setiap fase.
Biaya mesin. Pelatihan, deployment, dan pemeliharaan model memerlukan banyak komputasi dan memori. Misalnya, Anda mungkin memerlukan kuota TPU untuk melatih model dan inferensi, bersama dengan infrastruktur yang diperlukan untuk pipeline data Anda. Anda mungkin harus membayar untuk mendapatkan label pada data atau membayar biaya lisensi data. Sebelum melatih model, pertimbangkan untuk memperkirakan biaya mesin untuk membangun dan memelihara fitur ML dalam jangka panjang.
Biaya inferensi. Apakah model ini perlu membuat ratusan atau ribuan inferensi yang berbiaya lebih besar daripada pendapatan yang dihasilkan?
Perhatikan
Masalah yang terkait dengan salah satu topik sebelumnya dapat menyulitkan penerapan solusi ML, tetapi tenggat waktu yang ketat dapat memperkuat tantangan tersebut. Cobalah untuk merencanakan dan menganggarkan waktu yang cukup berdasarkan tingkat kesulitan masalah yang dirasakan, lalu cobalah untuk mencadangkan lebih banyak waktu overhead daripada yang Anda mungkin untuk project non-ML.