RAG Analysis
Retrieval-Augmented Generation (RAG) ์ฌ์ธต ๋ถ์
Retrieval ยท Augmentation ยท Generation ยท Embedding/Vector DB ยท Hybrid Search ยท Reranking ยท GraphRAG
RAG(Retrieval-Augmented Generation)๋ LLM์ ์ธ๋ถ ์ง์์ ๊ฒ์ํด ๋ถ์ฌ ๋ตํ๊ฒ ํ๋ ํ๋ ์์ํฌ์ ๋๋ค. ๋ชจ๋ธ์ ๊ฐ์ค์น์ ๋ ์ง์(parametric memory)๋ง์ผ๋ก๋ ํ๊ฐยท์ง์ ์ปท์คํยท๋น๊ณต๊ฐ ๋ฐ์ดํฐ ๋ฏธ์ง์์ด๋ผ๋ ํ๊ณ๊ฐ ์๋๋ฐ, RAG๋ ์ง๋ฌธ์ ๊ด๋ จ๋ ๋ฌธ์๋ฅผ ๊ฒ์ํด ํ๋กฌํํธ์ ๋ฃ์์ผ๋ก์จ ์ด๋ฅผ ๋ณด์ํฉ๋๋ค. Lewis et al.(2020, NeurIPS)์ด ์ ์ํ ์ด๋ LLM ์์ฉ์ ํต์ฌ ์ธํ๋ผ๊ฐ ๋์์ต๋๋ค. ๋ณธ ๋ฌธ์๋ ์ ์ฒด ํ์ดํ๋ผ์ธ โ ์ RAG์ธ๊ฐ โ ๊ฒ์์ ๋ด๋ถ โ ์งํ(NaiveยทAdvancedยทModular)์ ์ต์ ํ โ ํ๊ฐยทํ๋ก ํฐ์ด์ ์์๋ก ๋ถ์ํฉ๋๋ค.
์ค๋ฌด ๊ด์ ์์ RAG๋ ๋จ์ํ "๊ฒ์์ ๋ถ์ธ ์ฑ๋ด"์ด ์๋๋ผ, ๋ฐ์ดํฐ ๊ฐฑ์ ์ฃผ๊ธฐ์ ์ถ์ฒ ์ถ์ , ์๋ต ์ง์ฐ, ์ธํ๋ผ ๋น์ฉ์ ํจ๊ป ์ค๊ณํด์ผ ํ๋ ์์คํ ๋ฌธ์ ์ ๋๋ค. ๊ฐ์ LLM์ ์ฌ์ฉํ๋๋ผ๋ ์ฒญํน ๋ฐฉ์, ์๋ฒ ๋ฉ ๋ชจ๋ธ, ๊ฒ์๊ธฐ ์กฐํฉ, ๋ฆฌ๋ญํน ์ฌ๋ถ์ ๋ฐ๋ผ ์ ํ๋์ ๋น์ฉ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๋ฏ๋ก, ๊ฒ์ ํ์ดํ๋ผ์ธ ์์ฒด๋ฅผ ํ๋์ ์ ํ ์ปดํฌ๋ํธ๋ก ๋ค๋ค์ผ ํฉ๋๋ค.
1. RAG ์ ์ฒด ํ์ดํ๋ผ์ธ
RAG๋ ์ด๋ฆ ๊ทธ๋๋ก ๊ฒ์(Retrieval)ยท์ฆ๊ฐ(Augmentation)ยท์์ฑ(Generation)์ ์ธ ๋จ๊ณ๋ก ์๋ํฉ๋๋ค. ํฌ๊ฒ ๋ณด๋ฉด ๋ฌธ์๋ฅผ ๋ฏธ๋ฆฌ ๋ฒกํฐ๋ก ์ ์ฅํ๋ ์คํ๋ผ์ธ ์ธ๋ฑ์ฑ๊ณผ, ์ง๋ฌธ์ด ๋ค์ด์ฌ ๋๋ง๋ค ๊ฒ์ยท์ฆ๊ฐยท์์ฑํ๋ ์จ๋ผ์ธ ์ง์๋ก ๋๋ฉ๋๋ค.
๊ทธ๋ฆผ 1. ์ธ๋ฑ์ฑ(์คํ๋ผ์ธ)๊ณผ ์ง์(์จ๋ผ์ธ: ๊ฒ์โ์ฆ๊ฐโ์์ฑ)์ ์ ์ฒด ํ๋ฆ
๋ ๋จ๊ณ
-
์ธ๋ฑ์ฑ(์คํ๋ผ์ธ) โ ๋ฌธ์(PDFยท์นยทDB)๋ฅผ ์์ ์ฒญํฌ๋ก ์ชผ๊ฐ๊ณ , ์๋ฒ ๋ฉ ๋ชจ๋ธ๋ก ๋ฒกํฐํํ ๋ค, ๋ฒกํฐ DB(์ธ๋ฑ์ค)์ ์ ์ฅํฉ๋๋ค.
-
์ง์(์จ๋ผ์ธ) โ ์ง๋ฌธ์ ๊ฐ์ ์๋ฒ ๋ฉ ๊ณต๊ฐ์ผ๋ก ๋ณํํด ๋ฒกํฐ DB์์ ์ ์ฌํ top-k ์ฒญํฌ๋ฅผ ๊ฒ์ํ๊ณ (Retrieval), ๊ทธ ์ฒญํฌ๋ฅผ ์ง๋ฌธ๊ณผ ํจ๊ป ํ๋กฌํํธ์ ๋ฃ์ด(Augmentation), LLM์ด ๊ทผ๊ฑฐ์ ๊ธฐ๋ฐํด ๋ต์ ์์ฑํฉ๋๋ค(Generation).
์๋ ผ๋ฌธ(Lewis et al., 2020)์ ๋ฐ์ง ๊ฒ์๊ธฐ DPR(Dense Passage Retrieval)๋ก ์ํคํผ๋์์์ top-5 passage๋ฅผ ๊ฒ์ํ๊ณ BART ์์ฑ๊ธฐ๋ก ๋ต์ ๋ง๋ค์์ต๋๋ค. ํต์ฌ ๊ฐ๋ ์ ๋ ๊ฐ์ง ๋ฉ๋ชจ๋ฆฌ์ ๊ฒฐํฉ์ ๋๋ค. LLM ๊ฐ์ค์น์ ๋ parametric memory์ ์ธ๋ถ DB์ธ non-parametric memory๋ฅผ ํจ๊ป ์ฐ๋ฉฐ, ์ธ๋ถ DB๋ง ๊ฐฑ์ ํ๋ฉด ๋ชจ๋ธ ์ฌํ์ต ์์ด ์ง์์ ์ ๋ฐ์ดํธํ ์ ์๊ณ ๋ต์ ๊ทผ๊ฑฐ(citation)๋ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
2. ์ RAG์ธ๊ฐ โ LLM์ ํ๊ณ ๋ณด์
LLM์ ํ์ต๋ ๊ฐ์ค์น์๋ง ์์กดํ๋ฏ๋ก ์ธ ๊ฐ์ง ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ์์ต๋๋ค. RAG๋ ์ธ๋ถ ์ง์์ ๊ฒ์ํด ์ด๋ฅผ ๋ณด์ํฉ๋๋ค.
๊ทธ๋ฆผ 2. RAG๊ฐ ํด๊ฒฐํ๋ LLM์ ์ธ ๋ฌธ์ , ๊ทธ๋ฆฌ๊ณ RAG vs ํ์ธํ๋
RAG๊ฐ ํด๊ฒฐํ๋ ๋ฌธ์
-
ํ๊ฐ(Hallucination) โ ๋ชจ๋ฅด๋ ๊ฒ์ ๊ทธ๋ด๋ฏํ๊ฒ ์ง์ด๋ ๋๋ค. RAG๋ ๊ฒ์๋ ๊ทผ๊ฑฐ์ ๊ธฐ๋ฐํด ๋ตํ๋ฏ๋ก ์ฌ์ค์ฑ๊ณผ ์ ๋ขฐ์ฑ์ด ์ฌ๋ผ๊ฐ๋๋ค.
-
์ง์ ์ปท์คํ โ ํ์ต ์์ ์ดํ์ ์ฌ๊ฑด์ ๋ชจ๋ฆ ๋๋ค. RAG๋ ์ต์ ๋ฌธ์๋ฅผ ๊ฒ์ํด ๋ฐ์ํฉ๋๋ค(DB๋ง ๊ฐฑ์ ).
-
๋น๊ณต๊ฐยท๋๋ฉ์ธ ์ง์ โ ์ฌ๋ด ๋ฌธ์๋ ์ ๋ฌธ ์๋ฃ๋ฅผ ๋ชจ๋ฆ ๋๋ค. RAG๋ ์กฐ์ง DB๋ฅผ ์ฐ๊ฒฐํด ํ์ฉํฉ๋๋ค.
RAG vs ํ์ธํ๋
๋์ ์ญํ ์ด ๋ค๋ฆ ๋๋ค. RAG๋ '์ง์'์ ์ธ๋ถ์์ ์ฃผ์ ํ๋ ๋ฐ ๊ฐํ๊ณ (์ ์ ๋ณดยท์ฌ์ค ๋ฐ์ยท์ถ์ฒ ์ถ์ ยท์ ๋น์ฉ ๊ฐฑ์ ), ํ์ธํ๋์ 'ํ๋ยท์คํ์ผ'์ ํ์ต์ํค๋ ๋ฐ ๊ฐํฉ๋๋ค(๋งํฌยท์ถ๋ ฅ ํ์ยท๋๋ฉ์ธ ์ถ๋ก ๋ฅ๋ ฅ์ ๋ด์ฌํ). ์ฌ์คยท์ต์ ์ฑยท์ถ์ฒ๊ฐ ์ค์ํ๋ฉด RAG, ๋งํฌยทํ์ยท๋๋ฉ์ธ ๋ฅ๋ ฅ์ด๋ฉด ํ์ธํ๋์ด๋ฉฐ, ๋์ ํจ๊ป ์ฐ๊ธฐ๋ ํฉ๋๋ค. ๋ค๋ง RAG์์๋ ๊ฒ์ ํ์ง์ด ๋ต์ ์ํ์ ์ ๋๋ค โ ๊ด๋ จ ์๋ ์ฒญํฌ๋ฅผ ๋ฃ์ผ๋ฉด ๋ต๋ ๋๋น ์ง๋ฏ๋ก(garbage in, garbage out), ๊ฒ์ ๋จ๊ณ์ ํ์ง์ด ๊ฒฐ์ ์ ์ ๋๋ค.
ํต์ฌ ๊ฐ๋
1. Chunking
์๋ฌธ ๋ฌธ์๋ฅผ ์ผ๋ง๋ ์๊ฒ ๋๋๋์ง๋ ๊ฒ์ ํ์ง์ ์ถ๋ฐ์ ์ ๋๋ค. ์ฒญํฌ๊ฐ ๋๋ฌด ํฌ๋ฉด ๋ถํ์ํ ๋ฌธ๋งฅ์ด ๋ง์ด ๋ฐ๋ผ์ ์ปจํ ์คํธ ์ฐฝ์ ๋ญ๋นํ๊ณ , ๋๋ฌด ์์ผ๋ฉด ๋ต์ ํ์ํ ์ฐ๊ฒฐ ์ ๋ณด๊ฐ ๋๊น๋๋ค. ์ค๋ฌด์์๋ ๋ฌธ๋จ ๊ธฐ๋ฐ ๋ถํ , ์ฌ๋ผ์ด๋ฉ ์๋์ฐ, ์ ๋ชฉ/์น์ ๊ฒฝ๊ณ ์ ์ง, ํ/์ฝ๋ ๋ธ๋ก ๋ณด์กด ๊ฐ์ ์ ๋ต์ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
2. Embedding and Retrieval
์ง๋ฌธ๊ณผ ๋ฌธ์๋ฅผ ๊ฐ์ ๋ฒกํฐ ๊ณต๊ฐ์ผ๋ก ๋ณด๋ด๋ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ด ๊ฒ์๊ธฐ์ ์๋ฏธ ์ดํด ๋ฅ๋ ฅ์ ์ข์ฐํฉ๋๋ค. ์๋ฒ ๋ฉ์ด ์ข์ง ์์ผ๋ฉด ๋ฆฌ๋ญํน์ ์ถ๊ฐํด๋ ์์ ํ๋ณด๊ตฐ ์์ฒด๊ฐ ์ด๊ธ๋ ์ ์์ต๋๋ค. ๊ทธ๋์ ๋๋ฉ์ธ ํนํ ์๋ฒ ๋ฉ, ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์, ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง์ด ํจ๊ป ์ค๊ณ๋ฉ๋๋ค.
3. Augmentation and Grounded Generation
๊ฒ์๋ ์ฒญํฌ๋ฅผ ํ๋กฌํํธ์ ์ด๋ป๊ฒ ๋ฐฐ์นํ๋๋๋ ์ค์ํฉ๋๋ค. ๋จ์ ๋์ด๋ณด๋ค ์ง๋ฌธ, ๊ฒ์ ๊ทผ๊ฑฐ, ๋ต๋ณ ์ง์นจ, ์ธ์ฉ ํ์์ ๋ถ๋ฆฌํด ์ฃผ๋ ํธ์ด ์์ ์ ์ด๋ฉฐ, ๋ชจ๋ธ์ด ๊ทผ๊ฑฐ ๋ฐ ๋ด์ฉ์ ์ถ๋ก ํ์ง ์๋๋ก ์ ์ฝํ๋ ํ๋กฌํํธ ์ค๊ณ๊ฐ ํ์ํฉ๋๋ค. ์ด ๋จ๊ณ๊ฐ ์ฝํ๋ฉด ๊ฒ์์ ๋ง์๋๋ฐ ๋ต๋ณ์ด ๊ทผ๊ฑฐ๋ฅผ ๋์น๊ฑฐ๋ ๊ณผ์ฅํ๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค.
4. Reranking and Evaluation
1์ฐจ ๊ฒ์์ผ๋ก ๋ชจ์ ํ๋ณด๋ฅผ cross-encoder๋ late-interaction ๋ชจ๋ธ๋ก ๋ค์ ์ ๋ ฌํ๋ฉด ์ ํ๋๊ฐ ํฌ๊ฒ ์ค๋ฅผ ์ ์์ต๋๋ค. ๋์์ RAGAS ๊ฐ์ ํ๊ฐ ์ฒด๊ณ๋ฅผ ํตํด ์คํจ๊ฐ ๊ฒ์ ๋ฌธ์ ์ธ์ง ์์ฑ ๋ฌธ์ ์ธ์ง ๋ถ๋ฆฌํด์ผ, ์๋ฒ ๋ฉ ๊ต์ฒด๊ฐ ํ์ํ์ง ํ๋กฌํํธ ์์ ์ด ํ์ํ์ง ํ๋จํ ์ ์์ต๋๋ค.
3. ๊ฒ์์ ๋ด๋ถ โ ์๋ฒ ๋ฉยท์ ์ฌ๋ยทํ์ด๋ธ๋ฆฌ๋
RAG์ ์ฌ์ฅ์ ๊ฒ์์ ๋๋ค. ํ ์คํธ๋ฅผ ๋ฒกํฐ๋ก ๋ฐ๊พธ๋ ์๋ฒ ๋ฉ, ๊ฐ๊น์ด ๋ฒกํฐ๋ฅผ ์ฐพ๋ ์ ์ฌ๋ ๊ฒ์, ๊ทธ๋ฆฌ๊ณ ๋๊ท๋ชจ์์ ๋น ๋ฅด๊ฒ ์ฐพ๋ ์ธ๋ฑ์ค๊ฐ ํต์ฌ์ ๋๋ค.
๊ทธ๋ฆผ 3. ์๋ฒ ๋ฉ ๊ณต๊ฐ, dense/sparse/hybrid ๊ฒ์, ANN ๋ฒกํฐ ์ธ๋ฑ์ค
๊ฒ์์ ๊ตฌ์ฑ ์์
-
์๋ฒ ๋ฉ โ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ด ์ง๋ฌธ๊ณผ ์ฒญํฌ๋ฅผ ๊ณ ์ฐจ์ ๋ฒกํฐ๋ก ๋ณํํฉ๋๋ค. ์๋ฏธ๊ฐ ๋น์ทํ๋ฉด ๋ฒกํฐ ๊ณต๊ฐ์์ ๊ฐ๊น์ต๋๋ค. ์ ์ฌ๋ ๊ฒ์์ ์ง๋ฌธ ๋ฒกํฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด(์ฝ์ฌ์ธ ์ ์ฌ๋ ๋ฑ) top-k ์ฒญํฌ๋ฅผ ์ฐพ์ต๋๋ค.
-
Dense vs Sparse โ Dense(์๋ฒ ๋ฉ ๊ธฐ๋ฐ)๋ ๋์์ดยท๋ฌธ๋งฅ์ ๊ฐํ์ง๋ง ๋๋ฌธ ๊ณ ์ ๋ช ์ฌยท์ ํ ํค์๋์ ์ฝํฉ๋๋ค. Sparse(BM25 ๋ฑ ํค์๋ ๊ธฐ๋ฐ)๋ ์ ํ ์ผ์นยท์ฝ๋ยท์ฝ์ด์ ๊ฐํ์ง๋ง ์๋ฏธ์ ์ฝํฉ๋๋ค. Hybrid๋ ๋์ top-k๋ฅผ ํฉ์ณ ๋ฆฌ๋ญํนํ๋ ๋ฐฉ์์ผ๋ก, ํ์ฌ ์ค๋ฌด ํ์ค์ ๋๋ค.
-
ANN ์ธ๋ฑ์ค โ ์๋ฐฑ๋ง~์์ญ์ต ์ฒญํฌ๋ฅผ ์ ์ ๋น๊ตํ๋ฉด ๋๋ฆฌ๋ฏ๋ก, HNSWยทIVF ๊ฐ์ ๊ทผ์ฌ ์ต๊ทผ์ ์ด์(ANN) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ํ๋๋ฅผ ์ฝ๊ฐ ์๋ณดํ๊ณ ์๋๋ฅผ ํฌ๊ฒ ๋์ ๋๋ค. ๋ฒกํฐ DB(FAISSยทMilvusยทQdrantยทpgvector ๋ฑ)๊ฐ ์ธ๋ฑ์คยท๋ฉํ๋ฐ์ดํฐยทํํฐ๋ง์ ๋ด๋นํฉ๋๋ค.
๊ฒ์๊ธฐ์๋ ๋ ์ข ๋ฅ์ ์ธ์ฝ๋๊ฐ ์ฐ์ ๋๋ค. bi-encoder๋ ์ง๋ฌธ๊ณผ ๋ฌธ์๋ฅผ ๋ฐ๋ก ์๋ฒ ๋ฉํด ๋น ๋ฅด๊ฒ 1์ฐจ ๊ฒ์ํ๋ ๋ฐ ์ฐ์ด๊ณ , cross-encoder๋ ์ง๋ฌธ๊ณผ ๋ฌธ์๋ฅผ ํจ๊ป ๋ฃ์ด ์ ํํ ์ ์๋ฅผ ๋งค๊ธฐ์ง๋ง ๋๋ ค์ ์ฃผ๋ก ๋ฆฌ๋ญํน์ ์ฐ์ ๋๋ค. ColBERT ๊ฐ์ late-interaction ๋ฐฉ์์ ํ ํฐ ๋จ์ ์ ์ฌ๋๋ก ๋์ ์ ์ถฉ์ ๋ ธ๋ฆฝ๋๋ค.
4. RAG์ ์งํ์ ์ต์ ํ
RAG๋ ๋จ์ํ ํํ์์ ์ถ๋ฐํด ๊ฒ์ ํ์ง์ ๋์ด๋ ์ฌ๋ฌ ๊ธฐ๋ฒ์ผ๋ก ๋ฐ์ ํ์ต๋๋ค. Gao et al.(2023)์ ์๋ฒ ์ด๋ ์ด๋ฅผ NaiveยทAdvancedยทModular์ ์ธ ํจ๋ฌ๋ค์์ผ๋ก ์ ๋ฆฌํฉ๋๋ค.
๊ทธ๋ฆผ 4. NaiveโAdvancedโModular ํจ๋ฌ๋ค์๊ณผ ๊ฒ์ ์ ยท์คยทํ ์ต์ ํ ์ง์
์ธ ํจ๋ฌ๋ค์
-
Naive RAG โ ๊ฒ์โ์ฆ๊ฐโ์์ฑ์ ๊ธฐ๋ณธ ํํ. ๋จ์ top-k ๊ฒ์์ผ๋ก, ์ข ์ข ๊ฒ์ ์ ๋ฐ๋์ ์ ๋ณด ํตํฉ์ด ๋ถ์กฑํฉ๋๋ค.
-
Advanced RAG โ ๊ฒ์ ์ ํ์ ์ต์ ํ๋ฅผ ์ถ๊ฐํฉ๋๋ค(์๋ ์ฐธ์กฐ). ๊ฒ์ ํ์ง์ ๋์ด๋ ๋ฐ ์ง์คํฉ๋๋ค.
-
Modular RAG โ ๊ฐ ์์๋ฅผ ๊ต์ฒด ๊ฐ๋ฅํ ๋ชจ๋๋ก ๋ง๋ค์ด, ์ง๋ฌธ ์ ํ๋ณ ๋ผ์ฐํ ยท๊ฒฐ๊ณผ ๋ถ์กฑ ์ ๋ฐ๋ณตยท์ธ๋ถ ๋๊ตฌ ํธ์ถ๊น์ง ์ ์ฐํ๊ฒ ์กฐํฉํฉ๋๋ค(์์ด์ ํธํ์ผ๋ก ์ด์ด์ง).
Advanced RAG์ ์ต์ ํ ์ง์
๋ํ ๊ธฐ๋ฒ โ HyDE๋ LLM์ด '๊ฐ์์ ๋ต๋ณ'์ ๋จผ์ ์์ฑํ๊ณ ๊ทธ ์๋ฒ ๋ฉ์ผ๋ก ๊ฒ์ํด ์ง๋ฌธ-๋ฌธ์ ๊ฐ ํํ ๊ฐ๊ทน์ ์ค์ ๋๋ค. Multi-query๋ ํ ์ง๋ฌธ์ ์ฌ๋ฌ ๋ณํ์ผ๋ก ํ์ฅํด ๊ฐ๊ฐ ๊ฒ์ํจ์ผ๋ก์จ ๋๋ฝ์ ์ค์ ๋๋ค. ๋ฆฌ๋ญํน์ ๋น ๋ฅธ bi-encoder๋ก 20๊ฐ ์ ๋์ ํ๋ณด๋ฅผ ๋ชจ์ ๋ค ์ ํํ cross-encoder๋ก ์ฌ์ ์ํด ์์ 5๊ฐ๋ฅผ ๊ณ ๋ฅด๋ ์์ผ๋ก, ์๋ฒ ๋ฉ๋ง์ผ๋ก๋ ๋์น๋ ๋ฏธ๋ฌํ ๊ด๋ จ์ฑ์ ์ก์ ํ์ง์ ํฌ๊ฒ ๋์ ๋๋ค.
๋น๊ต/๋ถ์
| ์ ๊ทผ | ๊ฐ์ | ํ๊ณ | ์ ํฉํ ์ํฉ |
|---|---|---|---|
| Naive RAG | ๊ตฌ์กฐ๊ฐ ๋จ์ํ๊ณ ๊ตฌํ์ด ๋น ๋ฆ | ๊ฒ์ ๋๋ฝ๊ณผ ๋ฌธ๋งฅ ์ก์์ ์ทจ์ฝ | ๋น ๋ฅธ ํ๋กํ ํ์ , ๋ด๋ถ PoC |
| Advanced RAG | ๊ฒ์ ํ์ง๊ณผ ์ ๋ต๋ฅ ์ ์ฒด๊ณ์ ์ผ๋ก ๊ฐ์ | ๋ฆฌ๋ญ์ปค, ์ฟผ๋ฆฌ ๋ณํ, ํ๊ฐ ํ์ดํ๋ผ์ธ ์ด์ ๋น์ฉ ์ฆ๊ฐ | ์ด์ ์๋น์ค, ์ ํ๋ ์ค์ฌ QA |
| Modular RAG | ๋ผ์ฐํ , ๋ฐ๋ณต ๊ฒ์, ๋๊ตฌ ํธ์ถ๊น์ง ํ์ฅ ๊ฐ๋ฅ | ์์คํ ๋ณต์ก๋์ ๋๋ฒ๊น ๋์ด๋ ์์น | ๋ณตํฉ ์ง์, ๋ฉํฐํ, ์์ด์ ํธํ ์ํฌํ๋ก |
| Long-context ์ค์ฌ ์ ๊ทผ | ๊ฒ์๊ธฐ ์์ด ๋ง์ ๋ฌธ๋งฅ์ ํ ๋ฒ์ ํฌ์ ๊ฐ๋ฅ | ๋น์ฉ, ์ง์ฐ, ์ต์ ์ฑ, ์ถ์ฒ ์ถ์ ์์ ๋ถ๋ฆฌ | ๋ฌธ์ ์๊ฐ ์ ๊ณ ๋ฌธ๋งฅ์ด ์ด๋ฏธ ์ข์ ์์ |
| ํญ๋ชฉ | RAG | ํ์ธํ๋ |
|---|---|---|
| ์ฃผ ์ฉ๋ | ์ธ๋ถ ์ง์ ์ฐ๊ฒฐ๊ณผ ์ต์ ์ฑ ํ๋ณด | ๋ชจ๋ธ์ ํ๋, ํ์, ์ถ๋ก ์ต๊ด ์กฐ์ |
| ๊ฐฑ์ ๋ฐฉ์ | DB/์ธ๋ฑ์ค ๊ต์ฒด | ์ถ๊ฐ ํ์ต ํ์ |
| ์ถ์ฒ ์ถ์ | ๋น๊ต์ ์ฌ์ | ์ง์ ์ ๊ณตํ๊ธฐ ์ด๋ ค์ |
| ๋น์ฉ ๊ตฌ์กฐ | ๊ฒ์ ์ธํ๋ผ ๋น์ฉ ์ค์ฌ | ํ์ต ๋น์ฉ๊ณผ ๋ฐฐํฌ ๊ด๋ฆฌ ๋น์ฉ ์ค์ฌ |
5. ํ๊ฐ์ ํ๋ก ํฐ์ด
๊ทธ๋ฆผ 5. RAGAS ํ๊ฐ ์งํ, ๊ฒ์/์์ฑ ๋ ์ถ ๋ถํด, ๊ทธ๋ฆฌ๊ณ RAG์ ํ๋ก ํฐ์ด
ํ๊ฐ โ RAGAS
RAG ํ์ง์ ๊ฒ์ ํ์ง๊ณผ ์์ฑ ํ์ง๋ก ๋ถํดํด ํ๊ฐํฉ๋๋ค. RAGAS(2023)๋ ์ด๋ฅผ ๋ค ์งํ๋ก ์ง๋จํฉ๋๋ค.
RAGAS๋ ์ฐธ์กฐ ๋ต ์์ด(reference-free) LLM-as-judge๋ก ํ๊ฐํ ์ ์์ด, ์คํจ๊ฐ ๊ฒ์์์ ๋ฌ๋์ง ์์ฑ์์ ๋ฌ๋์ง ์ง๋จํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ํฉ์ฑ ํ ์คํธ์ ์์ฑ๋ ์ง์ํฉ๋๋ค.
ํ๋ก ํฐ์ด โ RAG์ ํ์ฌ
-
GraphRAG โ ๋ฌธ์๋ฅผ ์ฒญํฌ๊ฐ ์๋๋ผ (์ํฐํฐ, ๊ด๊ณ, ์ํฐํฐ) ๊ทธ๋ํ๋ก ํํํฉ๋๋ค. ์ง์ ์ ๊ทธ๋ํ๋ฅผ ์ํํด ์ฌ๋ฌ ๋ฌธ์๋ฅผ ์๋ ๋ค์ค ํ(multi-hop) ์ง๋ฌธ์ ๊ฐํฉ๋๋ค.
-
Agentic RAG โ ํ ๋ฒ์ ๊ฒ์์ด ์๋๋ผ, ์์ด์ ํธ๊ฐ ๊ฒ์-ํ๊ฐ-์ฌ๊ฒ์์ ๋ฐ๋ณตํ๊ณ ๋๊ตฌ๋ฅผ ํธ์ถํ๋ ์๊ธฐ๊ต์ ๋ฃจํ์ ๋๋ค(Self-RAGยทCRAGยทAdaptive RAG ๋ฑ).
-
RAG vs Long-context โ 100๋ง ํ ํฐ๊ธ ๊ธด ๋ฌธ๋งฅ ๋ชจ๋ธ์ด RAG๋ฅผ ๋์ฒดํ ์ง์ ๋ํ ๋ ผ์์ด ์์ต๋๋ค. ๋ค๋ง ๋น์ฉยท์ง์ฐยท๊ฐฑ์ ์ฑ ์ธก๋ฉด์์ RAG๊ฐ ์ฌ์ ํ ์ ํจํ๋ฉฐ, ๋์ ์ํธ ๋ณด์์ ์ผ๋ก ์ฐ์ ๋๋ค.
๋์ ์๋ฆฌ
RAG์ ์ค์ ๋์์ ์คํ๋ผ์ธ ์ธ๋ฑ์ฑ๊ณผ ์จ๋ผ์ธ ์๋น์ผ๋ก ๋ถ๋ฆฌํด ๋ณด๋ฉด ๋ช ํํฉ๋๋ค. ๋จผ์ ์คํ๋ผ์ธ ๋จ๊ณ์์ ์๋ฌธ ๋ฌธ์๋ฅผ ์์งํ๊ณ , ์ ์ ํ ์ฒญํฌ๋ก ๋ถํ ํ๋ฉฐ, ๊ฐ ์ฒญํฌ์ ์๋ฒ ๋ฉ๊ณผ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ ๋ฒกํฐ DB๋ ๊ฒ์ ์ธ๋ฑ์ค์ ์ ์ฅํฉ๋๋ค. ์ด๋ ์ ๋ชฉ, ๋ฌธ์ ์ ํ, ์์ฑ ์์ , ๋ณด์ ๋ฑ๊ธ ๊ฐ์ ํํฐ๋ง์ฉ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ด ๋ฃ์ด ๋๋ฉด ๊ฒ์ ์ ๋ฐ๋๋ฅผ ๋์ด๊ธฐ ์ฝ์ต๋๋ค.
์จ๋ผ์ธ ๋จ๊ณ์์๋ ์ฌ์ฉ์์ ์ง๋ฌธ์ ์ ๊ทํํ ๋ค ๊ฒ์ ์ง์๋ก ๋ฐ๊พธ๊ณ , dense/sparse ๋๋ hybrid ๊ฒ์์ผ๋ก ํ๋ณด ์ฒญํฌ๋ฅผ ์ฐพ์ต๋๋ค. ์ด์ด์ ๋ฆฌ๋ญํน์ผ๋ก ์ฐ์ ์์๋ฅผ ๋ค์ ์กฐ์ ํ๊ณ , ์ ํ๋ ์ฒญํฌ๋ฅผ ํ๋กฌํํธ์ ๊ทผ๊ฑฐ ๋ฌธ๋งฅ์ผ๋ก ์ฝ์ ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก LLM์ด ๋ต์ ์์ฑํ๋, ํ์ํ๋ฉด ์ธ์ฉ ํ์์ด๋ "๊ทผ๊ฑฐ๊ฐ ์์ผ๋ฉด ๋ชจ๋ฅธ๋ค๊ณ ๋ตํ๊ธฐ" ๊ฐ์ ์ ์ฝ์ ํจ๊ป ์ ์ฉํฉ๋๋ค. ์ด ํ๋ฆ์์ ๋ณ๋ชฉ์ ๊ฒ์ ์ง์ฐ, ๊ณผ๋ํ ์ปจํ ์คํธ ๊ธธ์ด, ๋ฎ์ ๊ทผ๊ฑฐ ์ ํฉ๋ ์ธ ๊ณณ์์ ์ฃผ๋ก ๋ฐ์ํฉ๋๋ค.
์ฅ๋จ์
์ฅ์
- ์ต์ ๋ฌธ์๋ ์ฌ๋ด ๋ฐ์ดํฐ์ฒ๋ผ ํ์ต ํ์ ๋ฐ๋๋ ์ง์์ ๋น ๋ฅด๊ฒ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๋ต๋ณ ๊ทผ๊ฑฐ๋ฅผ ํจ๊ป ์ ์ํ๊ธฐ ์ฌ์ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๋์ด๊ธฐ ์ข์ต๋๋ค.
- ํ์ธํ๋ ์์ด๋ ํน์ ๋๋ฉ์ธ ์ง์์ ์ฐ๊ฒฐํ ์ ์์ด ์ด๊ธฐ ์ ์ฉ ๋น์ฉ์ด ๋ฎ์ต๋๋ค.
๋จ์
- ๊ฒ์ ๋จ๊ณ๊ฐ ์ฝํ๋ฉด ์์ฑ ๋จ๊ณ๊ฐ ์ข์๋ ์ ์ฒด ํ์ง์ด ํฌ๊ฒ ๋จ์ด์ง๋๋ค.
- ์ฒญํน, ์๋ฒ ๋ฉ, ์ธ๋ฑ์ค, ๋ฆฌ๋ญ์ปค, ํ๋กฌํํธ๋ฅผ ํจ๊ป ํ๋ํด์ผ ํด์ ์ด์ ๋ณต์ก๋๊ฐ ๋์ต๋๋ค.
- ๊ฒ์ ์ง์ฐ๊ณผ ๊ธด ์ปจํ ์คํธ ๋น์ฉ์ด ๋์ ๋๋ฉด ๋จ์ LLM ํธ์ถ๋ณด๋ค ์๋ต ์๊ฐ์ด ๊ธธ์ด์ง ์ ์์ต๋๋ค.
๊ด๋ จ ๊ธฐ์
- Dense retrieval: DPR, Contriever, E5, BGE ๊ณ์ด ์๋ฒ ๋ฉ ๋ชจ๋ธ
- Sparse retrieval: BM25, SPLADE
- Reranking: cross-encoder, ColBERT, late interaction
- Vector DB / Index: FAISS, Milvus, Qdrant, pgvector, Elasticsearch hybrid search
- ํ์ฅ ํจํด: GraphRAG, Self-RAG, CRAG, Adaptive RAG, Agentic RAG
์ฐธ๊ณ ๋ฌธํ
- Lewis et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", NeurIPS 2020
- Gao et al., "Retrieval-Augmented Generation for Large Language Models: A Survey", 2023
- Gao et al., "Precise Zero-Shot Dense Retrieval without Relevance Labels", 2022
- Es et al., "RAGAS: Automated Evaluation of Retrieval Augmented Generation", 2023
- Microsoft Research, GraphRAG ๊ธฐ์ ๋ฌธ์
ํต์ฌ ์ ๋ฆฌ
RAG๋ LLM ๋ฐ๊นฅ์ ์ง์์ ๊ฒ์ํด ๋ต๋ณ ๊ทผ๊ฑฐ๋ก ๋ถ์ด๋ ๊ตฌ์กฐ์ด๋ฉฐ, ์ต์ ์ฑยท์ถ์ฒ ์ถ์ ยท๋๋ฉ์ธ ๋ฐ์ดํฐ ์ฐ๊ฒฐ์ ๊ฐํฉ๋๋ค. ์ค์ ์ฑ๋ฅ์ ์์ฑ ๋ชจ๋ธ๋ณด๋ค ๊ฒ์ ํ์ดํ๋ผ์ธ ํ์ง์ ๋ ํฌ๊ฒ ์ข์ฐ๋๋ฏ๋ก, ์ฒญํนยท์๋ฒ ๋ฉยทํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ยท๋ฆฌ๋ญํนยทํ๊ฐ๋ฅผ ํจ๊ป ์ค๊ณํด์ผ ํฉ๋๋ค. Naive RAG์์ Advanced, Modular RAG๋ก ๊ฐ์๋ก ์ ํ๋์ ์ ์ฐ์ฑ์ ์ฌ๋ผ๊ฐ์ง๋ง ์ด์ ๋ณต์ก๋๋ ํจ๊ป ์ฆ๊ฐํฉ๋๋ค. ๊ธด ๋ฌธ๋งฅ ๋ชจ๋ธ์ด ๋ฐ์ ํด๋ ๋น์ฉ๊ณผ ๊ฐฑ์ ์ฑ, ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ ๋๋ฌธ์ RAG๋ ๊ณ์ ๋ ๋ฆฝ์ ์ธ ์ญํ ์ ๊ฐ์ง ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
์ฃผ์ โ ๋ณธ๋ฌธ์ ์๋ ผ๋ฌธยท์๋ฒ ์ด(RAG Lewis et al. 2020 NeurIPS arXiv 2005.11401, RAG ์๋ฒ ์ด Gao et al. 2023 arXiv 2312.10997, HyDE Gao et al. 2022, RAGAS Es et al. 2023 arXiv 2309.15217)์ ํ๋ ์์ํฌ ๋ฌธ์ยท๊ธฐ์ ์๋ฃ์ ๊ธฐ๋ฐํ๋ค. RAG๋ ๋น ๋ฅด๊ฒ ์งํํ๋ ๋ถ์ผ๋ผ '์ค๋ฌด ํ์ค'ยท์ธ๋ถ ๊ธฐ๋ฒ์ ์ฐ์ด์ ๋ฐ์ดํฐยท๋๋ฉ์ธยท์ํฌ๋ก๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฉฐ, ์ด๋ค ์ฒญํนยท์๋ฒ ๋ฉยท๊ฒ์ยท๋ฆฌ๋ญํน ์กฐํฉ์ด ์ต์ ์ธ์ง๋ ํ๊ฐ๋ฅผ ํตํ ํ๋์ด ํ์ํ๋ค('easy to use, hard to master'). RAG vs long-context ๋ ผ์์ ๊ฒฐ๋ก ๋ ๋น์ฉยท์ง์ฐยท์ ํ๋ ์๊ตฌ์ ๋ฐ๋ผ ์ฌ๋ก๋ณ๋ก ๋ค๋ฅด๋ค.
| ๋จ๊ณ | ๊ธฐ๋ฒ |
|---|---|
| ๊ฒ์ ์ (pre-retrieval) | ์๋ฏธ ๋จ์ ์ฒญํน, ๋ฉํ๋ฐ์ดํฐ ๋ถ์ฌ, ์ฟผ๋ฆฌ ์ฌ์์ฑยทํ์ฅยท๋ถํด, HyDE, multi-query |
| ๊ฒ์(retrieval) | ํ์ด๋ธ๋ฆฌ๋(dense+BM25), ๋ฉํฐ๋ฒกํฐ, ColBERT(ํ ํฐ ๋จ์ late interaction) |
| ๊ฒ์ ํ(post-retrieval) | ๋ฆฌ๋ญํน(cross-encoder), ๋ฌธ๋งฅ ์์ถ, MMR(์ค๋ณต ์ ๊ฑฐ), ์ธ์ฉ ๊ฐ์ |
| ์งํ | ์๋ฏธ | ์ถ |
|---|---|---|
| Faithfulness | ๋ต์ด ๊ฒ์๋ ๊ทผ๊ฑฐ์์ ๋์๋๊ฐ(ํ๊ฐ ์ฌ๋ถ) | ์์ฑ |
| Answer Relevance | ๋ต์ด ์ง๋ฌธ์ ๋ง๋๊ฐ | ์์ฑ |
| Context Precision | ๊ฒ์์ด ๊ด๋ จ ์ฒญํฌ๋ฅผ ์ ๊ณจ๋๋๊ฐ | ๊ฒ์ |
| Context Recall | ํ์ํ ๊ทผ๊ฑฐ๋ฅผ ๋น ์ง์์ด ๊ฒ์ํ๋๊ฐ | ๊ฒ์ |