- Aplikasi berbasis LLM (large language model) sulit dievaluasi secara memadai dengan metode pengujian tradisional karena sifat output yang non-deterministik
- Karena itu, untuk menjaga dan meningkatkan kinerja sistem LLM, metode evaluasi khusus (evals) menjadi hal yang esensial
Mengapa eval penting
- Menetapkan standar kinerja: memberikan arah untuk kinerja model dan menetapkan benchmark yang bisa dibandingkan
- Menjamin konsistensi dan keandalan: menemukan dan mengendalikan output yang tidak dapat diprediksi lebih awal
- Memberikan arah perbaikan: memperjelas titik penurunan performa sehingga perbaikan bisa ditargetkan
- Memungkinkan regression test: memastikan kinerja tetap terjaga setelah perubahan sehingga stabilitas terjamin
Elemen utama evaluasi sebelum deployment
Mengapa evaluasi sebelum deployment penting
- Kinerja dapat diukur lebih awal dan dibandingkan
- Masalah regresi akibat perubahan kode, prompt, atau parameter dapat dideteksi lebih dini
Cara melakukan evaluasi
1. Membuat dataset Ground Truth
- Diperlukan dataset yang terdiri dari pasangan tanya-jawab yang ditulis oleh para ahli
- Penting untuk mencakup berbagai skenario yang merefleksikan tipe pertanyaan pengguna nyata
Bisakah LLM membuat Ground Truth?
- LLM dapat berperan sebagai pendukung, tetapi tidak direkomendasikan untuk membuatnya sendirian
- Kurang memahami perilaku pengguna
- Pertanyaan dan jawaban yang sesuai konteks memerlukan peninjauan manusia
- Review manusia wajib dilakukan untuk menjamin kesesuaian domain dan kualitas
2. Memilih metrik evaluasi
- Answer relevancy: apakah memberikan jawaban yang langsung dan bermakna terhadap pertanyaan
- Coherence: alur logis dan kejelasan respons
- Contextual relevance: seberapa baik konteks percakapan dipertimbangkan
- Responsibility: apakah output bertanggung jawab dari sisi etika, bahaya, dan bias
3. Metrik evaluasi RAG
- Metrik generasi:
- Faithfulness: apakah berbasis fakta
- Answer relevancy: kesesuaian respons
- Metrik pencarian:
- Context precision: rasio sinyal terhadap noise dari informasi yang relevan
- Context recall: apakah informasi yang dibutuhkan untuk jawaban benar berhasil diambil dengan baik
4. Metrik khusus tugas
- Diperlukan metrik evaluasi yang disesuaikan dengan tugas tertentu
- Contoh: pada peringkasan, Fluency, Coherence, Consistency, Relevance
5. Menghitung skor dan melakukan tuning sistem
- Untuk tiap metrik, skor dihitung dengan membandingkan output aktual dan Ground Truth
- Contoh:
- Recall rendah: kurangi
chunk size
- Precision rendah: pertimbangkan penerapan reranking
- Contoh library evaluasi: DeepEval, Relari-ai
Teknik evaluasi LLM-as-Judge
- Menggunakan LLM seperti GPT-4 untuk melakukan evaluasi tanpa Ground Truth
- Contoh: framework G-eval, makalah Vicuna, QLoRA
- Kekurangan:
- Beberapa metrik (misalnya Context Recall) tidak dapat diukur tanpa Ground Truth
- Dari sisi akurasi dan ketelitian, evaluasi berbasis manusia lebih unggul
- Kesimpulan: kombinasi LLM-as-Judge + Ground Truth adalah pendekatan yang ideal
Cara mengintegrasikan evaluasi dalam tahap deployment
- Integrasikan otomatisasi evaluasi ke pipeline deployment
- Jalankan pengujian otomatis sebelum code commit atau deployment
- Contoh: pengujian otomatis untuk mendeteksi konten berbahaya dan halusinasi dengan Giskard
- Pengujian untuk tahap prapemrosesan dan pengumpulan data juga harus disertakan
Evaluasi setelah deployment dan data flywheel
Monitoring saat operasional
- Pelacakan input/output secara real-time
- Sesi evaluasi berkala dengan pakar domain
- Menyediakan kanal umpan balik pengguna
Strategi data flywheel
- Bangun loop perbaikan berkelanjutan dengan memanfaatkan data dan umpan balik yang muncul selama operasional
- Contoh: analisis pola pertanyaan pengguna → perbaikan metode pencarian
- Sesuaikan prompt, parameter inferensi, metode pencarian, dan lainnya berdasarkan metrik
- Metrik juga perlu diubah sesuai perilaku pengguna dan skenario kegagalan
Kesimpulan: strategi “Evals First” adalah inti dari produk LLM yang andal
- Sejak awal pengembangan aplikasi LLM, perlu diterapkan pola pikir yang berpusat pada evaluasi
- Intinya adalah mendefinisikan metrik dan standar yang tepat sejak awal, lalu menjadikannya tolok ukur untuk pengembangan dan deployment
- Evaluasi harus ditempatkan bukan sebagai aktivitas setelah fakta, melainkan sebagai proses inti pengembangan agar dapat membangun sistem AI yang andal dan berpusat pada pengguna
1 komentar
Dari pengalaman saya sendiri, dan juga terlihat dari kasus lain seperti https://blog.lawrencejones.dev/ai-mvp/, model terbaru ternyata tidak selalu menjamin hasil yang lebih baik. Setiap kali melakukan tuning pada model atau prompt, kita perlu melakukan evaluasi melalui dataset; tetapi, meskipun llm bisa membantu penilaian, tetap saja agak ironis karena manusia harus membuat sendiri dataset ground truth untuk model llm satu per satu secara manual haha