How I A/B Test LLM Prompts Without Fooling Myself

Saya pernah membangun asisten dukungan dan mengira saya telah menemukan yang terbaik. Saya menjalankan tiga puluh kasus uji, prompt baru tersebut mendapatkan skor lebih tinggi, dan saya meluncurkannya.

Enam jam kemudian, antrean dukungan dipenuhi dengan keluhan. Saya harus membatalkan perubahan tersebut malam itu juga.

Skor yang lebih tinggi itu palsu. Tiga puluh contoh tidak cukup untuk membedakan peningkatan nyata dari sekadar keberuntungan. Angka tersebut hanyalah noise.

Berikut adalah cara menguji prompt tanpa melakukan kesalahan tersebut.

  • Uji coba skala kecil hanya dapat menangkap perubahan besar. Jika Anda ingin menemukan peningkatan kecil, Anda membutuhkan jauh lebih banyak contoh. Untuk menemukan perubahan yang sangat kecil, Anda mungkin membutuhkan lebih dari seribu contoh.

  • Gunakan pertanyaan yang sama untuk kedua versi. Jangan berikan Versi A satu kumpulan pertanyaan dan Versi B kumpulan lainnya. Beberapa pertanyaan lebih sulit daripada yang lain. Jika Versi B mendapatkan pertanyaan yang mudah, ia akan terlihat lebih baik meskipun sebenarnya lebih buruk. Jalankan kedua versi melalui kumpulan pertanyaan yang persis sama.

  • Lihat rentangnya, jangan hanya rata-ratanya. Rata-rata tidak memberi tahu Anda seberapa besar kemenangannya. Laporkan rentang dari kemungkinan peningkatan terkecil dan terbesar. Jika rentang tersebut mencakup angka nol, jangan luncurkan.

  • Pilih metode penilaian yang tepat. • Gunakan daftar periksa untuk kualitas absolut. • Gunakan perbandingan berdampingan untuk kualitas yang bersifat subjektif seperti nada bicara atau kegunaan.

  • Gunakan bandit untuk beberapa versi. Jika Anda memiliki tiga versi atau lebih dan ingin membatasi rasa frustrasi pengguna, gunakan bandit. Metode ini mengirimkan lebih banyak trafik ke versi pemenang seiring proses pembelajarannya. Hal ini mencegah pengguna melihat jawaban yang buruk selama berminggu-minggu.

Hindari jebakan-jebakan ini:

  • Membandingkan rata-rata tanpa rentang.
  • Menggunakan kumpulan pertanyaan yang berbeda untuk versi yang berbeda.
  • Mengubah penilai Anda di tengah pengujian.
  • Menghentikan pengujian saat angka-angka terlihat bagus.
  • Memantau terlalu banyak metrik sekaligus. Ini meningkatkan peluang Anda untuk melihat kemenangan palsu.
  • Memercayai penilai sebelum Anda memverifikasinya terhadap penilaian manusia.

Bagian yang sulit bukanlah menjalankan pengujiannya. Bagian yang sulit adalah mengetahui kapan hasilnya nyata.

Source: https://dev.to/kartik-nvjk/how-i-ab-test-llm-prompts-without-fooling-myself-528f

Optional learning community: https://t.me/GyaanSetuAi