Makalah · arXiv 2005.11401
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Ringkasan tiga baris
- 🎯 Model bahasa yang murni parametrik kesulitan mengakses, merevisi, dan melandasi pengetahuan faktual, memicu halusinasi pada tugas-tugas padat pengetahuan.
- 🔧 Memperkenalkan RAG, menggabungkan Dense Passage Retriever (memori non-parametrik atas Wikipedia) dengan generator BART (memori parametrik), di-fine-tune end-to-end melalui marginalisasi atas dokumen laten.
- 📈 Mencetak rekor mutakhir pada QA open-domain (44,5 EM pada Natural Questions) dan menghasilkan teks yang lebih faktual, spesifik, serta beragam dibanding baseline khusus parametrik.
Abstrak
Model bahasa pra-latih berskala besar telah terbukti mampu menyimpan pengetahuan faktual di dalam parameter-parameternya, serta mencapai hasil mutakhir (state-of-the-art) saat di-fine-tune pada tugas-tugas hilir NLP. Namun, kemampuan model-model tersebut untuk mengakses dan memanipulasi pengetahuan secara tepat masih terbatas, sehingga pada tugas-tugas padat pengetahuan (knowledge-intensive), kinerjanya tertinggal di belakang arsitektur khusus-tugas. Selain itu, penyediaan sumber rujukan (provenance) untuk keputusan model dan pembaruan pengetahuan dunianya masih menjadi masalah penelitian yang terbuka. Model pra-latih dengan mekanisme akses terdiferensiasi ke memori non-parametrik eksplisit dapat mengatasi masalah ini, tetapi sejauh ini baru diteliti untuk tugas-tugas hilir ekstraktif. Kami mengeksplorasi resep fine-tuning serbaguna untuk retrieval-augmented generation (RAG) -- model yang menggabungkan memori parametrik dan non-parametrik pra-latih untuk pembangkitan bahasa. Kami memperkenalkan model-model RAG di mana memori parametriknya berupa model seq2seq pra-latih dan memori non-parametriknya berupa indeks vektor padat dari Wikipedia, yang diakses menggunakan neural retriever pra-latih. Kami membandingkan dua formulasi RAG: satu yang mengondisikan passage terambil yang sama di seluruh sekuens yang dihasilkan, dan yang lainnya dapat menggunakan passage yang berbeda untuk setiap token. Kami melakukan fine-tuning dan mengevaluasi model kami pada berbagai tugas NLP padat pengetahuan dan mencetak rekor mutakhir pada tiga tugas QA open-domain, mengungguli model seq2seq parametrik dan arsitektur retrieve-and-extract khusus-tugas. Untuk tugas-tugas pembangkitan bahasa, kami menemukan bahwa model RAG menghasilkan bahasa yang lebih spesifik, beragam, dan faktual dibandingkan baseline seq2seq canggih yang hanya berbasis parametrik.
Abstrak asli (bahasa Inggris)
Large pre-trained language models have been shown to store factual knowledge in their parameters, and achieve state-of-the-art results when fine-tuned on downstream NLP tasks. However, their ability to access and precisely manipulate knowledge is still limited, and hence on knowledge-intensive tasks, their performance lags behind task-specific architectures. Additionally, providing provenance for their decisions and updating their world knowledge remain open research problems. Pre-trained models with a differentiable access mechanism to explicit non-parametric memory can overcome this issue, but have so far been only investigated for extractive downstream tasks. We explore a general-purpose fine-tuning recipe for retrieval-augmented generation (RAG) -- models which combine pre-trained parametric and non-parametric memory for language generation. We introduce RAG models where the parametric memory is a pre-trained seq2seq model and the non-parametric memory is a dense vector index of Wikipedia, accessed with a pre-trained neural retriever. We compare two RAG formulations, one which conditions on the same retrieved passages across the whole generated sequence, the other can use different passages per token. We fine-tune and evaluate our models on a wide range of knowledge-intensive NLP tasks and set the state-of-the-art on three open domain QA tasks, outperforming parametric seq2seq models and task-specific retrieve-and-extract architectures. For language generation tasks, we find that RAG models generate more specific, diverse and factual language than a state-of-the-art parametric-only seq2seq baseline.
Panduan membaca
Masalah dan motivasi
Model bahasa pra-latih menyimpan pengetahuan faktual yang substansial di dalam parameter-parameternya (memori parametrik). Namun, model-model ini memiliki kelemahan signifikan: sulit memperluas atau memperbarui pengetahuan tanpa pelatihan ulang, tidak dapat dengan mudah memberikan sumber rujukan (provenance) atau interpretabilitas untuk keluarannya, dan rentan terhadap halusinasi.
Meskipun model hibrida parametrik/non-parametrik seperti REALM dan ORQA menggabungkan retrieval terdiferensiasi dengan pemodelan bahasa bertopeng (masked language modeling), model-model tersebut terbatas pada question answering ekstraktif. Arsitektur sequence-to-sequence (seq2seq) standar seperti BART dan T5 sebagian besar tetap bersifat closed-book. Penelitian ini menjembatani kesenjangan tersebut dengan mengusulkan Retrieval-Augmented Generation (RAG), sebuah kerangka kerja fine-tuning umum yang memadukan dense neural retriever pra-latih dengan generator seq2seq autoregresif untuk pembangkitan open-domain maupun klasifikasi.
Ide-ide kunci
- Memori Hibrida Parametrik dan Non-Parametrik: Memori non-parametrik terdiri dari indeks vektor padat atas 21 juta passage Wikipedia 100-kata yang diakses melalui Maximum Inner Product Search (MIPS). Memori parametriknya adalah generator BART pra-latih.
- Fine-Tuning End-to-End: Query encoder dan generator dilatih bersama-sama dengan memperlakukan passage yang diambil sebagai variabel laten dan meminimalkan negative marginal log-likelihood dari token target tanpa supervisi retrieval eksplisit.
- Dua Formulasi Pengondisian:
- RAG-Sequence: Mengondisikan dokumen terambil yang sama di seluruh sekuens yang dihasilkan.
- RAG-Token: Memungkinkan setiap token yang dihasilkan untuk memperhatikan dan melakukan marginalisasi atas passage terambil yang berbeda.
- Hot-Swappable World Knowledge: Indeks eksternal dapat ditukar saat waktu inferensi (misalnya, menukar indeks Wikipedia 2016 dengan indeks 2018) untuk memperbarui pengetahuan dunia tanpa memodifikasi bobot model.
Metode
Diberikan sekuens masukan , retriever menghasilkan distribusi atas dokumen-dokumen , dan generator membangkitkan token target yang dikondisikan pada dan .
Retriever menggunakan Dense Passage Retriever (DPR): di mana dan . Kandidat top- diambil menggunakan FAISS MIPS. Indeks dokumen dan document encoder dibiarkan tetap (fixed), sedangkan dan parameter generator BART di-fine-tune.
RAG-Sequence
Model memperlakukan dokumen yang diambil sebagai variabel laten tunggal di seluruh sekuens : Proses decoding dapat dievaluasi menggunakan Thorough Decoding (menjalankan beam search per dokumen dan menghitung forward pass untuk hipotesis kandidat di seluruh dokumen) atau Fast Decoding (memperkirakan probabilitas beam yang hilang sebagai 0).
RAG-Token
Model melakukan marginalisasi atas dokumen pada setiap langkah token, memungkinkan pencampuran konten tingkat token lintas sumber: Ini menghasilkan probabilitas transisi autoregresif standar yang dapat langsung dipasang ke dalam beam search.
Hasil
- QA Open-Domain: RAG mencatat hasil mutakhir baru pada benchmark terbuka menggunakan exact match (EM):
- Natural Questions: 44,5 (RAG-Seq) vs. 41,5 (DPR) dan 36,6 (T5-11B+SSM).
- TriviaQA (split terbuka standar): 56,8 (RAG-Seq); pada split uji TQA-Wiki: 68,0 (RAG-Seq) vs. 60,5 (T5-11B+SSM).
- WebQuestions: 45,5 (RAG-Token) vs. 41,1 (DPR).
- CuratedTrec: 52,2 (RAG-Seq) vs. 50,6 (DPR).
- Khususnya, pada Natural Questions, RAG mencapai EM 11,8% ketika jawaban yang benar sama sekali tidak ada di dalam konteks yang diambil (di mana model ekstraktif mendapatkan skor 0%).
- Pembangkitan Abstraktif: Pada Open MS-MARCO, RAG-Sequence mencapai 40,8 Rouge-L dan 44,2 Bleu-1, mengungguli BART (38,2 Rouge-L, 41,6 Bleu-1).
- Pembangkitan Pertanyaan Jeopardy: Penilai manusia menilai RAG-Token lebih faktual daripada BART dalam 42,7% kasus berbanding BART yang lebih unggul hanya dalam 7,1% kasus. Evaluator juga menilai RAG lebih spesifik (37,4% vs. 16,8%).
- Verifikasi Fakta: Pada FEVER 3-arah, RAG mencapai akurasi label 72,5% (berada dalam selisih 4,3% dari sistem pipeline yang menggunakan supervisi bukti gold); pada 2-arah, RAG meraih akurasi 89,5%.
- Pembaruan Pengetahuan via Hot-Swapping: Menggunakan uji temporal 82 pemimpin antara tahun 2016 dan 2018, RAG memperoleh akurasi 70% untuk para pemimpin 2016 menggunakan indeks 2016 dan 68% untuk pemimpin 2018 dengan indeks 2018, yang kemudian anjlok drastis (12% dan 4%) saat indeks dipasangkan secara keliru.
Batasan dan pertanyaan terbuka
- Retrieval Collapse: Untuk tugas-tugas yang membutuhkan pengondisian faktual eksplisit yang lebih lemah (seperti pembuatan cerita open-ended), retriever dapat mengalami keruntuhan menjadi hanya mengambil dokumen statis yang invarian sementara generator belajar untuk mengabaikannya.
- Pengindeksan Dokumen Tetap: Document encoder dibiarkan statis selama fine-tuning tugas karena tingginya biaya komputasi untuk mengindeks ulang 21 juta vektor secara terus-menerus, sehingga membatasi adaptasi retriever.
- Landasan Sumber dan Bias: Memori non-parametrik tetap rentan terhadap misinformasi dan bias yang tertanam di dalam korpus pengetahuan dasarnya (Wikipedia).
- Joint Pre-training: Komponen retriever dan generator di-pra-latih secara terpisah sebelum fine-tuning tugas hilir, menyisakan joint pre-training dari awal sebagai arah penelitian terbuka.
Istilah kunci
- Retrieval-Augmented Generation (RAG)
- Kerangka kerja hibrida yang menggabungkan neural retriever pra-latih dengan model sequence-to-sequence pra-latih untuk mengondisikan pembangkitan pada passage teks non-parametrik yang diambil.
- Parametric Memory
- Pengetahuan faktual implisit yang tersimpan di dalam bobot jaringan saraf dari generator seq2seq pra-latih (BART).
- Non-Parametric Memory
- Koleksi dokumen eksternal eksplisit (misalnya, indeks vektor padat FAISS dari 21 juta passage Wikipedia) yang diakses saat runtime.
- RAG-Sequence
- Formulasi RAG yang memperlakukan passage yang diambil sebagai variabel laten yang nilainya tetap konstan di seluruh sekuens yang dihasilkan.
- RAG-Token
- Formulasi RAG yang memarginalkan dokumen top-k terambil secara terpisah pada setiap token yang dihasilkan, memungkinkan sintesis lintas banyak sumber.
- Dense Passage Retriever (DPR)
- Arsitektur encoder dual-BERT yang menilai relevansi dokumen terhadap kueri melalui maximum inner product search di ruang dense embedding.
- Maximum Inner Product Search (MIPS)
- Formulasi pencarian matematis yang digunakan untuk secara cepat mengambil vektor dokumen top-k yang paling dekat dengan vektor kueri dalam waktu sub-linear.
- Index Hot-Swapping
- Praktik mengganti indeks dokumen non-parametrik dengan informasi yang diperbarui tanpa melatih ulang atau mem-fine-tune parameter model.
Pertanyaan
Apa perbedaan antara RAG-Sequence dan RAG-Token?
RAG-Sequence menggunakan dokumen terambil yang sama persis untuk mengondisikan setiap token di seluruh sekuens, sedangkan RAG-Token memarginalkan dokumen-dokumen teratas di setiap langkah, memungkinkan token berbeda didukung oleh dokumen yang berbeda.
Apakah representasi dokumen diperbarui selama fine-tuning?
Tidak. Document encoder dan indeks FAISS tetap dibiarkan tetap (fixed) guna menghindari biaya komputasi yang tinggi dari pengindeksan ulang 21 juta dokumen selama pelatihan; hanya parameter query encoder dan generator BART yang diperbarui.
Bisakah RAG menjawab pertanyaan ketika jawabannya tidak terdapat dalam dokumen yang diambil?
Bisa. Karena proses pembangkitan tidak dibatasi dan didukung oleh memori parametrik BART, RAG menjawab dengan benar 11,8% kasus pada Natural Questions di mana tidak ada satu pun passage terambil teratas yang memuat string target, sedangkan model ekstraktif meraih 0%.
Bagaimana cara RAG memperbarui pengetahuannya ketika fakta dunia berubah?
Karena memori eksternalnya bersifat modular, indeks dokumen dapat di-'hot-swap' dengan dump teks yang lebih baru (misalnya, menukar indeks Wikipedia 2016 dengan indeks 2018) tanpa melatih ulang parameter model.
Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.