
๐ Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
๐ ์ ์ : Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Kรผttler, Mike Lewis, Wen-tau Yih, Tim Rocktรคschel, Sebastian Riedel, Douwe Kiela
๐
๋ฐํ ์ฐ๋ : Submitted on 22 May 2020 (v1), last revised 12 Apr 2021 (this version, v4)
๐ ๋
ผ๋ฌธ ๋งํฌ : https://arxiv.org/abs/2005.11401
์ด ๋
ผ๋ฌธ์์๋ ์ฌ์ ํ์ต๋ sequence-to-sequence ์ธ์ด ๋ชจ๋ธ(BART)์ ์ธ๋ถ ์ง์ ์์ค๋ฅผ ๊ฒฐํฉํ์ฌ ์ง์ ์ง์ฝํ ํ์คํฌ(Knowledge-Intensive Tasks)๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ Retrieval-Augmented Generation (RAG) ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ค.
๊ธฐ์กด์ GPT, BERT ๊ธฐ๋ฐ ์์ฑ๊ธฐ๋ ๋ชจ๋ ์ง์์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ๋ด๋ถ์๋ง ์ ์ฅํ๊ณ ์์๊ธฐ ๋๋ฌธ์,
๋ฑ์ ๋ฌธ์ ๋ฅผ ์๊ณ ์์๋ค.
RAG๋ ์ด๋ฌํ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด,
โ ์ธ๋ถ ๋ฌธ์๋ฅผ ๊ฒ์ํด์ ๊ทธ ๋ด์ฉ์ ์กฐ๊ฑด์ผ๋ก ์์ฑํ๋ LLM ๊ตฌ์กฐ = "๊ฒ์๊ณผ ์์ฑ์ ํ์ด๋ธ๋ฆฌ๋" ๋ชจ๋ธ
Transformer ๊ธฐ๋ฐ LLM๋ค์ ๋๊ท๋ชจ ํ ์คํธ ์ฝํผ์ค๋ก ์ฌ์ ํ์ต๋์ด ์๋นํ ์ง์์ ํ๋ผ๋ฏธํฐ์ ๋ด์ฌํํ ์ ์์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ ๊ฐ์ง๊ณ ์๋ค.
ํนํ ์ง์ ์ง์ฝํ ์์ (Knowledge-Intensive Tasks)
๋ฑ์์๋ ์ด ํ๊ณ๊ฐ ์น๋ช
์ ์ด๋ค.
RAG๋ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด retrieval(๊ฒ์)๊ณผ generation(์์ฑ)์ ๊ฒฐํฉํ ๋ชจ๋ธ์ด๋ค.

Query๊ฐ ์ฃผ์ด์ง๋ฉด, ๋จผ์ Dense Retriever(DPR)๋ฅผ ์ฌ์ฉํด ์ธ๋ถ ์ธ๋ฑ์ค(Wikipedia ๋ฑ)์์ ๊ด๋ จ ๋ฌธ์๋ฅผ k๊ฐ ๊ฒ์
Dense Retriever(DPR) : ๊ณ ์ ๋ ๋ฌธ์ ์งํฉ์์ ์ฟผ๋ฆฌ์ ๊ด๋ จ๋ ๋ฌธ์๋ฅผ ๋ฒกํฐ ๊ธฐ๋ฐ์ผ๋ก ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๋ ๋ฐฉ๋ฒ
โ ๊ธฐ์กด์ sparse retrieval ๋ฐฉ์(BM25 ๋ฑ)๊ณผ ๋ฌ๋ฆฌ, ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ ์๋ฒ ๋ฉ์ ์ฌ์ฉํ์ฌ ์๋ฏธ์ ์ผ๋ก ์ ์ฌํ ๋ฌธ์๋ฅผ ์ฐพ๋ ๊ฒ์ด ํต์ฌ
๊ฒ์๋ ๋ฌธ์๋ฅผ ์กฐ๊ฑด์ผ๋ก BART decoder๊ฐ ์์ฐ์ด ์๋ต์ ์์ฑ
Knowledge Injection without Retraining
: ์ง์์ ์ธ๋ถ์์ ์ค์๊ฐ์ผ๋ก ์ฃผ์
๋ฐ์ผ๋ฏ๋ก, ์ง์์ด ๋ณ๊ฒฝ๋๋๋ผ๋ ๋ชจ๋ธ ์ฌํ์ต์ด ํ์ ์๋ค!
RAG๋ ๋ ๊ฐ์ง ๋ฒ์ ์ผ๋ก ๋๋๋ค.
RAG-Sequence : ํ๋์ ๋ฌธ์ ์ ์ฒด๋ฅผ ์กฐ๊ฑด์ผ๋ก ์์ฑ

RAG-Token : ํ ํฐ๋ง๋ค ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ ํํด ์์ฑ
RAG๋ Dense Passage Retriever (DPR)๋ฅผ ํ์ฉํ์ฌ, ๊ณ ์ ๋ ๋ฌธ์ ์งํฉ์์ query์ ๊ฐ์ฅ ์ ์ฌํ ๋ฌธ์๋ค์ ๋ฒกํฐ ๊ณต๊ฐ ์์์ ๊ฒ์ํ๋ค.
๋ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ BERT encoder๋ฅผ ์ฌ์ฉ
๋ด์ ์ ์ฌ๋(dot product)๋ฅผ ๊ณ์ฐํด top-k ๋ฌธ์๋ฅผ ์ ํํจ

์ด ๊ตฌ์กฐ๋ Sparse BM25๋ณด๋ค ๋น ๋ฅด๋ฉฐ, ํ์ธํ๋์ด ๊ฐ๋ฅํด downstream task์ ์ต์ ํ๋๋ค.
Latent variable z : ์ ํ๋ ๋ฌธ์
์ต์ข ์ถ๋ ฅ ๋ถํฌ๋ ์๋์ ๊ฐ์ ๋ง๋ฅด์ฝํ ๋ชจ๋ธ๋ก ๊ตฌ์ฑ๋๋ค.

๊ฒ์๊ธฐ(DPR)๋ p(z|x)๋ฅผ ์์ธกํ๊ณ , ์์ฑ๊ธฐ(BART)๋ p(y|x,z)๋ฅผ ์์ธกํ์ฌ ์ ์ฒด์ ์ผ๋ก p(y|x)๋ฅผ ๊ทผ์ฌํจ
โ z๋ latent ์ํ, y๋ ๊ด์ธก๊ฐ์ฒ๋ผ ํด์ํ ์ ์์ผ๋ฏ๋ก RAG๋ ๋ง๋ฅด์ฝํ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๋ชจ๋ธ๋ก ํด์ ๊ฐ๋ฅ
์ฆ, ๊ฒ์ ํ๋ฅ ๊ณผ ์์ฑ ํ๋ฅ ์ ๊ฒฐํฉํ ํํ๋ก ์ค๊ณ๋๋ค.
ํ์ต ์์๋ p(z|x)๋ฅผ approximation ํ๊ธฐ ์ํด top-k ๋ฌธ์๋ง ์ ํํ์ฌ marginalization ์ํ
Generator๋ ๊ฐ ๋ฌธ์๋ฅผ ์กฐ๊ฑด์ผ๋ก ์๋ต์ ์์ฑํ๋ฉฐ, loss๋ cross-entropy ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ
RAG๋ retriever์ generator์ ๊ฒฐํฉ์ด๋ฏ๋ก, ์ฑ๋ฅ์ retriever์ ํ์ง์ ๋ฏผ๊ฐ
โ retriever ์ฑ๋ฅ์ด ๋์์๋ก hallucination์ด ์ค์ด๋ฌ
RAG ๋ชจ๋ธ์ด ๋ค์ํ ์ง์ ์ง์ฝํ NLP ํ์คํฌ์์ ์ด๋ป๊ฒ ์ฑ๋ฅ์ ๋ณด์ด๋์ง ํ๊ฐํ๋ค. ๋ชจ๋ ์คํ์ ๋์ผํ Wikipedia dump(2018๋ 12์ ๋ฒ์ )์ non-parametric ์ง์ ์์ค๋ก ์ฌ์ฉํ๋ค.
์ ์ฒด Wikipedia ๋ฌธ์๋ฅผ 100๋จ์ด ๋จ์ ์ฒญํฌ๋ก ๋ถํ โ ์ด ์ฝ 2100๋ง ๊ฐ ๋ฌธ์
๊ฐ ๋ฌธ์ ์๋ฒ ๋ฉ์ Dense Passage Encoder (DPR)๋ก ์์ฑํ๊ณ , ๋น ๋ฅธ ์ ์ฌ ๋ฌธ์ ๊ฒ์์ ์ํด FAISS์ Hierarchical Navigable Small World (HNSW) ๊ตฌ์กฐ ๊ธฐ๋ฐ MIPS ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ถ
ํ์ต ์์๋ ์ฟผ๋ฆฌ๋น ์์ k๊ฐ ๋ฌธ์ ๊ฒ์ (k=5 ๋๋ 10)
ํ ์คํธ ์์๋ dev data ๊ธฐ๋ฐ์ผ๋ก k๋ฅผ ์ค์
๊ธฐ์กด BART ๋๋น 2๋ฐฐ ์ด์์ ์ฑ๋ฅ ํฅ์

โก๏ธ BART์ ๋นํด factual consistency๊ฐ ํฅ์, hallucination ๊ฐ์
- ์ฌ์ค์ฑ(factuality) : ์์ฑ ๋ฌธ์ฅ์ด ์ ๋ขฐ ๊ฐ๋ฅํ ์ธ๋ถ ์ถ์ฒ๋ก ์ ์ฆ ๊ฐ๋ฅํ๊ฐ?
- ๊ตฌ์ฒด์ฑ(specificity) : ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ๊ฐ์ ๊ฐํ ์ํธ ์์กด์ฑ ์กด์ฌ ์ฌ๋ถ

- RAG-Token-BM25 : BM25๋ก ๊ฒ์๋ ์ฌ๋ฌ ๋ฌธ์ ์ค์์ ํ ํฐ๋ง๋ค ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ฉฐ ์์ฑํ๋ ๋ฐฉ์
- RAG-Sequence-BM25 : BM25๋ก ๊ฒ์๋ ๋ฌธ์ ์ค ํ๋๋ฅผ ์ ์ฒด ์๋ต ์์ฑ์ ์ฌ์ฉํ๋ ๋ฐฉ์
- RAG-Token-Frozen : Dense retriever๋ ๊ณ ์ ์ํค๊ณ , ํ ํฐ๋ง๋ค ๋ฌธ์๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์์ฑํ๋ ๋ฐฉ์
- RAG-Sequence-Frozen : retriever๋ ๊ณ ์ , ํ๋์ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฒด ์๋ต ์์ฑ
- RAG-Token : retriever์ generator ๋ชจ๋ ํ์ต๋๋ฉฐ, ๊ฐ ํ ํฐ๋ง๋ค ๋ค๋ฅธ ๋ฌธ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ์
- RAG-Sequence : retriever์ generator ๋ชจ๋ ํ์ต๋๋ฉฐ, ํ๋์ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฒด ์๋ต ์์ฑ
โก๏ธ ํนํ RAG-Token์ NQ, TQA, WQ, Jeopardy, MS MARCO ๋ฑ ๋ค์ํ task์์ fine-grained control์ด ๊ฐ๋ฅํ๋ค๋ ํน์ฑ ๋๋ถ์ ๋ ์์ฐ์ค๋ฝ๊ณ ์ ํํ ์๋ต ์์ฑ์ ์ ๋ฆฌํ ๋ชจ์ต์ ๋ณด์ธ๋ค. ์ผ๋ถ task์์๋ RAG-Sequence๋ณด๋ค๋ ๋์ ์ฑ๋ฅ์ ๊ธฐ๋กํ๋ค.
โก๏ธ ๋ฐ๋ฉด, RAG-Sequence๋ ๋ฌธ์ ์ ์ฒด ๋งฅ๋ฝ์ ๋ฐํ์ผ๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ฌธ๋งฅ ์ฐ๊ฒฐ์ด๋ ๊ธธ์ด ์๋ ์๋ต ์์ฑ์์ ๋ ์์ ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒฝํฅ์ด ์๋ค. ํนํ CT๋ MS MARCO R-L ์งํ์์ ๊ฐ์ธ๋ฅผ ๋ณด์ธ๋ค.
โก๏ธ BM25 ๊ธฐ๋ฐ์ RAG๋ค์ semantic matching์ ์ฝํด ์ฑ๋ฅ์ด ์ ๋ฐ์ ์ผ๋ก ๋ฎ๊ฒ ๋ํ๋๋ค. ํนํ ์์ฑ ๊ด๋ จ ์งํ(BLEU, ROUGE ๋ฑ)์์ ๊ทธ ์ฐจ์ด๊ฐ ๋ ๋๋๋ผ์ง๋ค.
โก๏ธ Frozen retriever๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, retriever๋ฅผ ํ์ต์ํค์ง ์๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด ํ์ด๋ธ๋ฆฌ๋(end-to-end fine-tuned) RAG๋ณด๋ค ๋จ์ด์ง์ง๋ง, BM25๋ณด๋ค๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ธ๋ค.
์์ฑ ์๋ต์ ํ์ง์ ์ง์ ๋ถ์ํด๋ณด๋ฉด
Q : Why is the sky blue?
BART : Because of light.
RAG : The blue color of the sky is caused by Rayleigh scattering of sunlight by the atmosphere.
PT, BERT, T5, BART ๋ฑ์ ๋ชจ๋ parametricํ ์ง์ ๊ตฌ์กฐ
OpenBookQA, REALM, ORQA ๋ฑ์ retrieval์ ๋์ ํ์ผ๋ generator์ ๊ฒฐํฉ ๋ฐฉ์์ด ์ ํ์
RAG๋ search + generation + end-to-end ํ์ต ๊ฐ๋ฅ์ด๋ผ๋ ์ ์์ ์ฐจ๋ณํ๋จ
Open-domain QA ํ์คํฌ์์ SOTA ์ฑ๋ฅ ๋ฌ์ฑ
์ฌ๋ ํ๊ฐ์์ BART๋ณด๋ค RAG์ ์ถ๋ ฅ์ด ๋ ์ฌ์ค์ (factual)์ด๊ณ ๊ตฌ์ฒด์ (specific)์ด๋ผ๋ ๊ฒฐ๊ณผ
retrieval ๋ชจ๋์ ์ ํจ์ฑ์ ์ ๋์ ยท์ ์ฑ์ ์ผ๋ก ๋ถ์
๋ชจ๋ธ ์ฌํ์ต ์์ด ์ง์ ์
๋ฐ์ดํธ๊ฐ ๊ฐ๋ฅํจ์ ์
์ฆ
๊ธ์ ์ ํจ๊ณผ
์ ์ฌ์ ์ํ
๋์ ์ ์
RAG๋ Knowledge-Intensive Task์ ์ต์ ํ๋ ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ
Retrieval + Generation์ ๊ฒฐํฉ์ผ๋ก
NLP์ ์ถ๋ก ๊ธฐ๋ฐ ์์ฑ ์์คํ ์์ ์ฌ์ค์ฑ์ ํ๋ณดํ๋ ์ค์ํ ํ๋ ์์ํฌ๋ก ์๋ฆฌ์ก์
๐ญ My Thoughts
- ๋ชจ๋ ์ง์์ ๋ชจ๋ธ ์์ ๋๋ ค๋ฃ๋ ๋ฐฉ์์ด ์๋๋ผ, ์ธ๋ถ ์ง์์ ์ฐพ์์์ ์ฐ๋ ๊ตฌ์กฐ๋ผ๋ ์ ์์ "ํ์ต ๋น์ฉ์ ์ค์ด๋ฉด์๋ ์ฑ๋ฅ์ ์ ์งํ๋ ค๋" ๊ณ ๋ฏผ์ด ๋๊ปด์ก๋ค. ์์ผ๋ก ๋ ์ปค์ง๋ ๋ชจ๋ธ ์๋์ ์ด๋ฐ ๊ตฌ์กฐ๋ ๊ฝค ํ์ค์ ์ธ ์ ํ์ฒ๋ผ ๋ณด์๋ค.
- ์ค์ ๋ก ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ RAG๋ฅผ ์ฌ์ฉํด์ ์ฑ๋ด์ ๋ง๋ ์ ์ด ์๋๋ฐ, ์ด๋ ๊ฒ ์ธ๋ถ ๋ฌธ์๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฐธ์กฐํ ์ ์๋ค๋ ์ ์ด ์ ์ฉํ๋ค. ๊ทธ๋ฌ๋, ์ฌ์ ํ hallucination์ด ์กด์ฌํด์ prompt engineering์ ํ์ผ๋ค.