Dasar Machine Learning yang Perlu Diketahui AI Engineer
Taksonomi Machine Learning, perbedaan training dan inference, overfitting/underfitting, metrik evaluasi, dan data bias.
Bab ini bukan kursus Machine Learning yang lengkap. Fokusnya adalah konsep-konsep ML yang akan terus kamu temui saat membangun, mengevaluasi, dan menjelaskan sistem AI kepada orang lain. Kamu tidak perlu bisa mengimplementasikan algoritma ML dari nol, tapi kamu perlu bisa membaca hasilnya, memahami keterbatasannya, dan mengenali kapan sebuah model bekerja dengan baik atau tidak.
6.1 Taksonomi Machine Learning
Machine Learning dibagi menjadi tiga paradigma utama berdasarkan cara model belajar dari data. Sebagai AI Engineer, kamu perlu tahu perbedaan ketiganya karena ini menentukan jenis data yang dibutuhkan, cara mengevaluasi hasilnya, dan kapan masing-masing pendekatan relevan.
Dari ketiga paradigma ini, yang paling sering kamu temui langsung sebagai AI Engineer adalah Supervised Learning karena sebagian besar model yang kamu gunakan via API (termasuk LLM) dilatih dengan pendekatan ini. Reinforcement Learning relevan secara tidak langsung karena ia digunakan dalam proses fine-tuning LLM modern melalui teknik yang disebut RLHF (Reinforcement Learning from Human Feedback).
6.2 Training vs Inference
Ini adalah perbedaan yang sering tidak dijelaskan secara eksplisit, padahal berdampak langsung pada keputusan arsitektur dan biaya.
Training adalah proses di mana model belajar dari data. Ia membutuhkan dataset besar, waktu komputasi yang panjang, dan GPU yang kuat. Hasilnya adalah file berisi bobot model (model weights), angka-angka yang merepresentasikan pengetahuan yang sudah dipelajari.
Inference adalah proses menggunakan model yang sudah dilatih untuk membuat prediksi atau menghasilkan output. Ini yang terjadi setiap kali kamu mengirim request ke API Gemini atau GPT, model tidak belajar lagi, ia hanya menggunakan bobot yang sudah ada untuk memproses input baru.
Implikasi praktis dari perbedaan ini untuk AI Engineer: kamu hampir selalu bekerja di sisi inference, memanggil model yang sudah dilatih oleh orang lain. Biaya yang kamu bayar ke penyedia API adalah biaya inference, bukan training. Ini juga berarti model tidak "belajar" dari pertanyaan pengguna aplikasimu, setiap request dimulai dari kondisi model yang sama.
6.3 Overfitting dan Underfitting
Dua konsep ini sering muncul saat kamu mengevaluasi model atau mendebug kenapa sistem AI memberikan jawaban yang tidak konsisten.
Overfitting terjadi ketika model terlalu "hafal" data training-nya, ia bekerja sangat baik pada data yang pernah dilihat, tapi gagal pada data baru yang belum pernah dilihat sebelumnya. Analogi sederhananya: mahasiswa yang hanya menghafal soal ujian tahun lalu tanpa memahami konsepnya.
Underfitting adalah kebalikannya, model terlalu sederhana untuk menangkap pola yang ada dalam data. Ia buruk pada data training maupun data baru. Analogi: mahasiswa yang tidak belajar sama sekali.
Dalam konteks AI Engineering dengan LLM, overfitting muncul dalam bentuk yang berbeda dari model ML tradisional. Kamu tidak melatih modelnya langsung, tapi kamu bisa menyebabkan perilaku yang analog dengan overfitting melalui few-shot examples yang terlalu spesifik di prompt, model menjadi sangat baik menjawab contoh yang kamu berikan tapi gagal menggeneralisasi ke pertanyaan serupa yang berbeda redaksinya.
6.4 Metrik Evaluasi
Ini adalah bagian yang paling sering disalahpahami. Banyak orang default menggunakan akurasi sebagai ukuran kualitas model, padahal akurasi bisa menyesatkan dalam banyak situasi nyata.
Untuk memahami metrik evaluasi, kamu perlu memahami satu alat terlebih dahulu: confusion matrix.
True Positive (TP), Contoh: sistem deteksi email spam. Email benar-benar spam, dan model memprediksinya sebagai spam. Ini adalah hasil yang benar dan diinginkan. Semakin banyak TP, semakin baik model dalam mendeteksi kasus positif yang sebenarnya.
False Negative (FN), Miss: email adalah spam, tapi model memprediksinya sebagai bukan spam dan membiarkannya masuk ke inbox. Dalam dunia medis, ini berarti pasien yang benar-benar sakit dinyatakan sehat, jauh lebih berbahaya dari False Positive.
False Positive (FP), False Alarm: email bukan spam (email penting dari atasan), tapi model memprediksinya sebagai spam dan memindahkannya ke folder spam. Dalam dunia medis, ini berarti pasien sehat didiagnosis sakit dan menjalani prosedur yang tidak perlu.
True Negative (TN): email bukan spam, dan model memprediksinya dengan benar sebagai bukan spam.
Dari keempat kuadran di atas, tiga metrik utama bisa diturunkan.
Akurasi mengukur seberapa sering model benar secara keseluruhan: (TP + TN) / Total. Terlihat sederhana, tapi menyesatkan ketika data tidak seimbang. Jika 95% email adalah bukan spam, model yang selalu menjawab "bukan spam" akan memiliki akurasi 95% padahal model tersebut sama sekali tidak berguna.
Precision menjawab pertanyaan: dari semua yang model prediksi sebagai positif, berapa yang benar-benar positif? TP / (TP + FP). Precision tinggi berarti model jarang membuat false alarm.
Recall menjawab pertanyaan: dari semua yang sebenarnya positif, berapa yang berhasil model temukan? TP / (TP + FN). Recall tinggi berarti model jarang melewatkan kasus positif yang nyata.
F1 Score adalah rata-rata harmonik dari Precision dan Recall digunakan ketika kamu butuh satu angka yang menyeimbangkan keduanya.
| Metrik | Kapan Menggunakan | Contoh Konteks | Yang Harus Diwaspadai |
|---|---|---|---|
Akurasi(TP+TN)/Total |
Hanya ketika data seimbang, jumlah kelas positif dan negatif tidak jauh berbeda | Klasifikasi gambar kucing vs anjing dengan dataset 50/50 | Menyesatkan pada data tidak seimbang |
PrecisionTP/(TP+FP) |
Ketika False Positive mahal | Filter spam: lebih baik membiarkan beberapa spam lewat daripada membuang email penting | Bisa dimanipulasi dengan model sangat selektif |
RecallTP/(TP+FN) |
Ketika False Negative mahal | Deteksi kanker: lebih baik terlalu banyak referral daripada melewatkan pasien sakit | Bisa dimanipulasi dengan selalu prediksi positif |
F1 Score2*(P*R)/(P+R) |
Butuh satu angka menyeimbangkan Precision dan Recall | Deteksi fraud transaksi | Menyembunyikan trade-off antara Precision dan Recall |
6.5 Data Bias dan Implikasinya
Model ML hanya bisa sebaik data yang digunakan untuk melatihnya. Jika data training mengandung bias, baik disengaja maupun tidak, model akan mempelajari dan mereproduksi bias tersebut dalam outputnya.
Dalam konteks AI Engineering, bias data relevan di dua tempat: pada model yang kamu gunakan via API (yang dilatih oleh orang lain dengan data yang tidak sepenuhnya kamu ketahui), dan pada data yang kamu masukkan ke sistem RAG milikmu sendiri.
Representation Bias
Terjadi ketika kelompok tertentu tidak terwakili secara proporsional dalam data training. Model pengenalan wajah yang dilatih mayoritas dengan wajah kulit putih akan akurasinya jauh lebih rendah untuk wajah dengan warna kulit lain.
Historical Bias
Terjadi ketika data training mencerminkan ketidakadilan dari masa lalu. Sistem rekrutmen yang dilatih dari riwayat hiring perusahaan akan belajar bahwa kandidat perempuan jarang dipilih, bukan karena perempuan kurang kompeten, tapi karena itulah yang terjadi secara historis.
Measurement Bias
Terjadi ketika cara data dikumpulkan itu sendiri tidak konsisten antar kelompok. Survei kepuasan pelanggan yang hanya mengumpulkan respons dalam bahasa Inggris akan melewatkan perspektif dari pengguna yang tidak fasih berbahasa Inggris.
Kesalahan Umum
Akurasi yang tinggi tidak menjamin model yang berguna, terutama pada dataset yang tidak seimbang. Selalu periksa Precision dan Recall secara terpisah, dan pertimbangkan konteks bisnis: mana yang lebih mahal, False Positive atau False Negative?
Setiap request ke API LLM dimulai dari bobot model yang sama. Ini berarti kesalahan yang dilaporkan pengguna tidak otomatis memperbaiki model, kamu perlu secara eksplisit mengumpulkan feedback, mengevaluasinya, dan mempertimbangkan fine-tuning atau perbaikan prompt.
Jika kamu memberikan terlalu banyak contoh yang sangat spesifik di System Prompt, model bisa menjadi terlalu kaku, menjawab dengan baik hanya untuk pertanyaan yang mirip persis dengan contohmu, tapi gagal pada variasi yang sedikit berbeda. Uji prompt kamu dengan pertanyaan yang berbeda dari contoh yang diberikan.
Sebelum sistem AI kamu masuk ke produksi, lakukan evaluasi sistematis: kumpulkan 20 sampai 50 pertanyaan representatif, catat jawabannya, dan nilai secara manual apakah jawabannya akurat dan sesuai. Ini disebut ground truth evaluation dan dibahas lebih lanjut di Bab 15.
Ringkasan Bab 6
- Saya bisa menjelaskan perbedaan antara Supervised, Unsupervised, dan Reinforcement Learning beserta contoh penggunaan masing-masing yang relevan untuk AI Engineering.
- Saya memahami perbedaan antara Training dan Inference, dan tahu bahwa sebagai AI Engineer saya bekerja hampir seluruhnya di sisi Inference.
- Saya bisa mengenali gejala Overfitting (bagus di training, buruk di data baru) dan Underfitting (buruk di keduanya).
- Saya memahami keempat kuadran confusion matrix: True Positive, False Positive, False Negative, dan True Negative.
- Saya tahu kapan menggunakan Precision vs Recall vs F1, dan memahami mengapa akurasi saja tidak cukup sebagai metrik evaluasi.
- Saya bisa menjelaskan tiga jenis bias data: Representation, Historical, dan Measurement, dan implikasinya terhadap output sistem AI.
- Saya memahami bahwa model tidak belajar dari pertanyaan pengguna aplikasi saya, setiap request dimulai dari kondisi model yang sama.