Jelajahi lebih lanjut apa yang ditawarkan Buku Panduan RAG untuk memperoleh insight yang lebih mendalam tentang solusi RAG saat ini

Lead space yang diwarnai ulang menggunakan ruang prospek Watson untuk layanan pelanggan sebagai dasarnya.
Ikhtisar

Ada banyak pertanyaan yang mungkin dimiliki seseorang mengenai solusi RAG:

  • Bagaimana sebaiknya kita menentukan pilihan desain yang memaksimalkan kinerja pengambilan?
  • Bagaimana kita mengetahui model penyematan mana yang menghasilkan representasi vektor terbaik dari dokumen kita?
  • Apakah pendekatan berbasis agen diperlukan?
  • Apakah reranker akan meningkatkan hasil kami? Atau mungkin pilihan parameter ini hanya memiliki dampak yang marjinal?

Memiliki strategi evaluasi yang jelas selama pengembangan solusi berbasis RAG sangat penting untuk memastikan jalur menuju produksi yang sukses. Kami sering melihat berbagai jenis evaluasi empiris yang dilakukan selama fase pilot yang terkadang tidak dapat direproduksi. Untuk meningkatkan kinerja solusi berbasis RAG yang sedang dikembangkan atau untuk mendiagnosis masalah produksi secara tepat, tugas evaluasi harus dapat direproduksi dan dapat dijalankan dengan cepat. Pipeline RAG harus dievaluasi secara sistematis dan konsisten, baik untuk komponen pengambilan maupun komponen pembuatan.

Memahami kinerja solusi berbasis RAG memainkan peran penting dalam berbagai tahap siklus hidup solusi, termasuk selama:

  • Fase eksperimen dan penyetelan
  • Fase pemantauan

Namun, upaya untuk membangun mesin evaluasi tidak boleh diremehkan, terutama ketika harus membuat kumpulan data emas (ground truth) yang berisi jawaban referensi dan konteks referensi.

Dalam dokumen ini, kami akan membahas berbagai pendekatan dan metrik evaluasi, serta menyoroti beberapa aset yang dapat digunakan kembali yang tersedia untuk mempermudah evaluasi solusi ini.

Pendekatan

AI Mengevaluasi AI

LLMaaj (LLM sebagai Hakim) telah muncul sebagai metrik terkemuka dalam setahun terakhir untuk mengatasi tantangan dalam membangun mesin evaluasi berbasis referensi. Teknik evaluasi ini telah terbukti menghasilkan korelasi yang cukup baik dengan penilaian manusia. Berikut adalah beberapa properti yang tidak dapat diukur dengan metrik dan tolok ukur yang ada, tetapi dapat dievaluasi oleh LLMaaj:

  • Keamanan – Apakah model menghasilkan konten berbahaya atau tidak aman?
  • Relevansi konteks – Dalam kasus peringkasan dan generasi dengan dukungan pengambilan data, apakah output yang dihasilkan benar-benar didasarkan pada fakta yang terdapat dalam konteks input?
  • Sentimen – Apakah respons yang dihasilkan secara umum bersentimen positif, negatif, atau sentimen lain yang telah ditentukan?
  • Toksisitas – Apakah model menghasilkan konten yang bersifat ofensif, agresif, atau diskriminatif?
  • Gaya bahasa – Apakah model menggunakan gaya bahasa santai, formal, atau netral? Ini mencakup evaluasi terhadap sarkasme, humor, dan ironi.

Misalnya, ketika menggunakan model penilaian untuk mengevaluasi output dari model lain, prompt penilaian harus berisi deskripsi atribut untuk setiap skor serta skala penilaian, dan harus diinterpolasi untuk memasukkan respons yang akan dievaluasi.

Dalam contoh ini, model diminta untuk mengevaluasi gaya bahasa respons dan mengembalikan klasifikasi.

Anda adalah juri penilaian yang adil dan tidak bias. Anda diminta untuk mengklasifikasikan respons chatbot berdasarkan sentimennya. Evaluasi respons di bawah ini dan tentukan kelas yang sesuai. Kelas yang mungkin adalah POSITIF, NETRAL, dan NEGATIF. Jelaskan alasan Anda, lalu simpulkan dengan menyatakan sentimen yang sesuai.
{{response}}

 

Atau, sebagai contoh, berikut ini adalah contoh prompting dengan beberapa contoh evaluasi yang digerakkan oleh LLM untuk NER tugas (named entity recognition).

-----------------------------------Prompt---------------------------------------------
Anda adalah evaluator profesional, dan tugas Anda adalah menilai keakuratan ekstraksi entitas sebagai Skor dalam teks yang diberikan. Anda akan diberikan teks, entitas, dan nilai entitas.
Berikan nilai numerik pada skala dari 0 hingga 1, di mana 1 adalah nilai terbaik dan 0 adalah nilai terburuk. Gunakan nilai numerik secara ketat untuk penilaian.

Berikut adalah contohnya:

Teks: Di mana kantor IBM® terletak di New York?
Entitas: nama organisasi
Nilai: IBM®'s
Skor: 0

Teks: Hubungi layanan pelanggan di 1-800-555-1234 untuk mendapatkan bantuan.
Entitas: nomor telepon
Nilai: +1 888 426 4409
Skor: 1

Teks: watsonx memiliki tiga komponen: watsonx.ai, watsonx.data, dan watsonx.governance.
Entitas: nama produk
Nilai: Google
Skor: 0,33

Teks: Konferensi dijadwalkan pada 15 Agustus 2024.
Entitas: tanggal
Nilai: 15 Agustus 2024
Skor: 1

Teks: Rekan saya John dan Alice akan bergabung dalam pertemuan.
Entitas: nama orang
Nilai: Alice
Skor: 1

-----------------------------------Output ---------------------------------------------- Skor: 0,67
--------------------------------------------------------------------------------------
Metrik

Kompleksitas sistem RAG secara signifikan dipengaruhi oleh sifat misterius Model Bahasa Besar (LLM), serta komponen yang rumit dan saling terhubung dalam pipeline RAG. Ketika teknologi terus berkembang pada tingkat yang belum pernah terjadi sebelumnya, mengevaluasi sistem yang begitu kompleks menjadi tugas yang semakin menantang. Untuk mengatasi tantangan ini, berbagai tolok ukur dan alat evaluasi telah dikembangkan secara khusus untuk sistem RAG. Sumber daya ini berfungsi menyediakan pendekatan yang terstandar dan sistematis untuk menilai kinerja serta efektivitas sistem tersebut.

Misalnya, seperti yang diilustrasikan dalam tabel di bawah ini (diadaptasi dari “Evaluasi Generasi dengan Dukungan Pengambilan Data: Sebuah Survei”), terdapat beragam metode dan alat evaluasi RAG, masing-masing dengan kekuatan serta aplikasi yang unik. Tabel ini, yang tidak bersifat lengkap, berfungsi memberikan gambaran ringkas tentang lingkungan evaluasi RAG saat ini.

Tabel paruh ukuran evaluasi dan skema untuk solusi RAG.

Dalam konteks komponen pengambilan sistem RAG, beberapa tantangan muncul,

Dalam konteks komponen pengambilan, tantangan terutama muncul karena sifat repositori pengetahuan prospektif yang luas dan dinamis, aspek temporal dari data, serta heterogenitas sumber informasi. Dengan mempertimbangkan tantangan-tantangan ini, menjadi jelas bahwa metrik evaluasi konvensional seperti Recall dan Precision tidak memadai serta tidak cukup mampu memberikan penilaian yang komprehensif. Sebaliknya, diperlukan metrik yang lebih bernuansa dan bergantung pada konteks, yang dapat secara efektif menangkap kompleksitas serta berbagai seluk-beluk proses pencarian.

Terkait komponen generasi, sangat penting untuk mempertimbangkan hubungan yang rumit antara ketepatan proses pengambilan dan kualitas output yang dihasilkan. Hal ini memerlukan pengembangan serta penerapan metrik evaluasi yang komprehensif, yang mampu memberikan penilaian kinerja sistem secara holistik dan bernuansa.

Pada gilirannya, evaluasi sistem RAG secara keseluruhan memerlukan pemeriksaan menyeluruh terhadap dampak komponen pengambilan pada proses pembangkitan, serta penilaian terhadap efektivitas dan kemanjuran sistem secara keseluruhan dalam mencapai tujuan dan sasaran yang dimaksudkan.

RAG triad adalah kerangka kerja untuk menilai keandalan dan akurasi kontekstual dari respons Model Bahasa Besar (LLM). Kerangka kerja ini terdiri dari tiga penilaian: Relevansi Konteks, Groundedness, dan Relevansi Jawaban. Penilaian-penilaian ini bertujuan untuk mengidentifikasi halusinasi pada respons LLM dengan memverifikasi relevansi konteks, keterdasaran respons terhadap konteks, serta keselarasan jawaban dengan pertanyaan pengguna.

Ilustrasi kerangka kerja triad RAG untuk mengevaluasi kinerja solusi RAG.

Evaluasi RAG dapat dilakukan dengan menggunakan metrik otomatis berbasis referensi maupun tanpa referensi. Terdapat papan peringkat di HuggingFace yang menunjukkan tumpukan baik LLM sumber terbuka dibandingkan satu sama lain.

Metrik Pengambilan

Metrik pengambilan di bawah ini bersifat berbasis referensi, yang berarti setiap bagian harus diidentifikasi secara unik (contexts_id), dan setiap pertanyaan memiliki ID unik dari konteks ground truth.

Metrik evaluasi sadar peringkat yang digunakan untuk sistem rekomendasi sesuai untuk RAG.

MRR (Peringkat Timbal Balik Rata-rata)

MRR digunakan dalam Unitxt dan mengukur posisi dokumen relevan pertama dalam hasil pencarian. MRR yang lebih tinggi, mendekati 1, menunjukkan bahwa hasil yang relevan muncul di dekat bagian atas, yang mencerminkan kualitas pencarian yang tinggi. Sebaliknya, MRR yang lebih rendah menunjukkan kinerja pencarian yang lebih rendah, dengan jawaban relevan diposisikan lebih jauh di bawah dalam hasil.

Kelebihan: Menekankan pentingnya hasil relevan pertama, yang sering kali krusial dalam skenario pencarian.
Kekurangan: Keterbatasannya adalah tidak memberikan penalti pada pengambilan yang menempatkan ground truth lainnya pada peringkat rendah; tidak cocok untuk mengevaluasi seluruh daftar hasil yang diambil karena hanya berfokus pada item relevan pertama.

NDCG (Normalized Discounted Cumulative Gain)

metrik kualitas peringkat yang menilai seberapa baik daftar item diurutkan dibandingkan dengan peringkat ideal, di mana semua item yang relevan diposisikan di bagian atas.

NDCG@k dihitung sebagai DCG@k dibagi dengan DCG@k ideal (IDCG@k), yang merepresentasikan nilai dari daftar item dengan peringkat sempurna hingga posisi k. DCG mengukur total relevansi item dalam daftar.

nilainya berkisar dari 0 hingga 1.

Kelebihan: Mempertimbangkan posisi item yang relevan, sehingga memberikan pandangan yang lebih holistik tentang kualitas peringkat; dapat disesuaikan untuk berbagai tingkat peringkat (misalnya, NDCG@k).
Kekurangan: Lebih kompleks untuk dihitung dan ditafsirkan dibandingkan metrik yang lebih sederhana seperti MRR; membutuhkan peringkat ideal untuk perbandingan, yang mungkin tidak selalu tersedia atau mudah didefinisikan.

MAP (Mean Average Precision)

Mean Average Precision (MAP) adalah metrik yang mengevaluasi peringkat setiap dokumen yang relevan dan berhasil diambil dalam daftar hasil

Hal ini bermanfaat ketika sistem Anda perlu mempertimbangkan urutan hasil serta mengambil beberapa dokumen dalam satu kali proses.

Kelebihan: Mempertimbangkan presisi dan recall, sehingga memberikan evaluasi kinerja pengambilan yang seimbang; cocok untuk tugas yang membutuhkan beberapa dokumen relevan serta urutan yang benar.
Kekurangan: Dapat lebih menuntut secara komputasi dibandingkan metrik yang lebih sederhana; mungkin tidak semudah ditafsirkan seperti metrik lainnya dan memerlukan lebih banyak konteks untuk memahami hasil secara penuh.

Metrik Generasi

Kesetiaan

Mengukur apakah output didasarkan pada konteks yang diberikan atau apakah model menghasilkan respons yang bersifat halusinasi.

Kelebihan: Memastikan bahwa respons yang dihasilkan dapat dipercaya dan didasarkan pada konteks yang disediakan; penting untuk aplikasi di mana kebenaran faktual menjadi hal yang utama.
Kekurangan: Sering kali memerlukan penilaian manusia untuk mengevaluasinya, sehingga menjadikannya padat karya dan subjektif; mungkin tidak sepenuhnya menangkap ketidakakuratan parsial atau halusinasi yang bersifat halus.

Kekokohan (ketidakpekaan)

Kekokohan umumnya didefinisikan sebagai kemampuan solusi untuk beradaptasi terhadap berbagai variasi input, seperti gangguan pada data berupa spasi putih, perbedaan huruf kecil/besar, tab, dan lain-lain.

Pengujian kekokohan merupakan aspek penting dari proses evaluasi dan dapat dilakukan, misalnya, dengan menggunakan semantik Unitxt

Kelebihan: Memastikan model berkinerja andal dalam berbagai kondisi input; Penerapan dunia nyata: penting untuk aplikasi praktis di mana data input mungkin tidak diformat dengan sempurna.
Kekurangan: Membutuhkan pengujian menyeluruh pada banyak variasi, yang dapat memakan waktu; Mendefinisikan variasi: menantang untuk mendefinisikan dan mengukur semua kemungkinan gangguan input.

ROUGE (Recall-Oriented Understudy for Gisting Evaluation)

Ini mengukur kualitas pembuatan teks dengan membandingkan tumpang tindih n-gram, urutan kata, dan pasangan kata antara teks yang dihasilkan mesin dan sekumpulan teks referensi. Metrik ini banyak digunakan untuk mengevaluasi tugas seperti peringkasan teks dan penerjemahan.

Kelebihan: Telah mapan dan diakui dalam komunitas NLP, sehingga memberikan standar untuk perbandingan; cocok untuk tugas-tugas di mana menangkap semua informasi yang relevan sangat penting.
Kekurangan: Berfokus pada tumpang tindih n-gram, yang mungkin tidak menangkap kualitas semantik atau kelancaran; dapat dipengaruhi oleh panjang teks yang dihasilkan, sehingga berpotensi menghukum output yang lebih pendek atau lebih ringkas.

BLEU (Bilingual Evaluation Understudy)

Alat ini mengukur kualitas teks yang diterjemahkan oleh mesin dengan membandingkannya dengan satu atau lebih terjemahan referensi. Metrik ini mengevaluasi ketepatan n-gram dalam teks yang dihasilkan dibandingkan dengan teks referensi. Metrik ini terutama digunakan untuk mengevaluasi tugas penerjemahan.

Kelebihan: Efektif untuk tugas-tugas di mana ketepatan dan kecocokan yang tepat penting; Metrik Standar: Diadopsi secara luas di komunitas terjemahan mesin, memberikan tolok ukur untuk perbandingan.
Kekurangan: Dapat menghukum variasi yang sah dalam frasa yang tidak sama persis dengan teks referensi; Kebutaan Ketidakakuratan Parsial: Mungkin tidak sepenuhnya menangkap ketidakakuratan parsial atau perbedaan makna yang tidak kentara.

Metrik Biaya

Pemanfaatan GPU/CPU

Pemanfaatan CPU terutama digunakan untuk fase pengambilan, dan pemanfaatan GPU terutama digunakan untuk fase generasi.

Biaya Panggilan LLM

Contoh: Biaya dari panggilan API OpenAI

Biaya Infrastruktur

Biaya dari penyimpanan, jaringan, sumber daya komputasi, dll.

Biaya Operasi

Biaya dari pemeliharaan, dukungan, pemantauan, pencatatan, langkah-langkah keamanan, dll.

Memahami Hasil Evaluasi

 

Bagan empat kuadran yang menunjukkan tindakan remediasi untuk menyetel model RAG berdasarkan skor generasi dan pengambilan.

Jika metrik pengambilan menunjukkan kinerja yang kurang optimal, namun metrik generasi menghasilkan hasil yang menguntungkan, disarankan untuk: 

  1. Tinjau kembali dan sesuaikan strategi chunking (misalnya ukuran dan tumpang tindih chunk) untuk menyeimbangkan konteks dan relevansi dengan lebih baik.
  2. Bersihkan dan praproses data untuk menghilangkan kebisingan dan informasi yang tidak relevan.
  3. Tambahkan metadata, seperti tanggal, ke potongan untuk membantu memfilter dan memprioritaskan data berdasarkan contoh penggunaan tertentu.
  4. Terapkan reranking: ini memungkinkan sistem pengambilan Anda untuk menyempurnakan node teratas untuk konteks. Kedua * LangChain maupun LlamaIndex menawarkan abstraksi yang mudah digunakan untuk reranking.
  5. Mintalah LLM untuk menyusun ulang kueri dan mencobanya kembali, karena pertanyaan yang tampak serupa bagi manusia mungkin tidak terlihat serupa di ruang penanaman.
  6. Penyempurnaan menanamkan dengan LlamaIndex untuk meningkatkan akurasi.

Sebaliknya, jika metrik pengambilan menunjukkan kinerja yang kuat tetapi hasil generasi kurang optimal, pertimbangkan strategi berikut untuk meningkatkan kinerja model:

  1. Sempurnakan model bahasa: Sesuaikan model ke domain Anda dengan penyempurnaan pada kumpulan data yang relevan untuk meningkatkan akurasi dan pemahaman kontekstualnya.
  2. Perbaiki rekayasa prompt: bereksperimenlah dengan struktur dan pemilihan kata dalam prompt untuk memandu model menuju output yang lebih tepat.
  3. Gunakan strategi decoding yang berbeda: sesuaikan teknik decoding seperti beam search, top-k sampling, atau nucleus sampling (top-p) untuk meningkatkan kualitas respons yang dihasilkan.
  4. Panjang generasi kontrol: Tetapkan batasan pada panjang respons untuk memastikan output ringkas dan akurat.
  5. Menggabungkan loop masukan: menerapkan sistem yang mengidentifikasi dan memperbaiki respons yang tidak optimal, sehingga memungkinkan peningkatan secara berkelanjutan.
  6. Manfaatkan dialog multi-putaran: pecah tugas yang kompleks menjadi interaksi multi-langkah, sehingga memungkinkan model untuk menyempurnakan jawabannya melalui beberapa iterasi.

Dalam skenario di mana metrik pengambilan dan pembuatan menunjukkan kinerja di bawah standar, sebaiknya meninjau kembali dan mempertimbangkan ulang tahap awal pipeline, seperti meningkatkan metadata, menyempurnakan basis pengetahuan, serta mengoptimalkan mekanisme pengambilan.

Pendekatan ini menekankan pentingnya evaluasi sistem RAG yang komprehensif dan bernuansa, dengan mempertimbangkan interaksi antara komponen pengambilan dan generasi serta efektivitas keseluruhan sistem dalam mencapai tujuan dan sasaran yang dimaksudkan.

Jelajahi lebih lanjut

Dapatkan pola teknologi terbaru, arsitektur solusi, dan publikasi arsitektur dari IBM®.

  1. Buka Pusat Arsitektur IBM®
Kontributor

Vicky Kuo, Amna Jamal, Luke Major, Chris Kirby

Diperbarui: 15 November 2024