Ryotta's Basic

LLM
๐Ÿค– LLM ๊ฒ€์ฆ์™„๋ฃŒ

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)์˜ ์„ธ ๋‹จ๊ณ„๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ฒŒ ๋ณด๋ฉด ๋ฌธ์„œ๋ฅผ ๋ฏธ๋ฆฌ ๋ฒกํ„ฐ๋กœ ์ €์žฅํ•˜๋Š” ์˜คํ”„๋ผ์ธ ์ธ๋ฑ์‹ฑ๊ณผ, ์งˆ๋ฌธ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ๊ฒ€์ƒ‰ยท์ฆ๊ฐ•ยท์ƒ์„ฑํ•˜๋Š” ์˜จ๋ผ์ธ ์งˆ์˜๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

llm_0035_rag_analysis

๊ทธ๋ฆผ 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๋Š” ์™ธ๋ถ€ ์ง€์‹์„ ๊ฒ€์ƒ‰ํ•ด ์ด๋ฅผ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค.

RAG Analysis

๊ทธ๋ฆผ 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์˜ ์‹ฌ์žฅ์€ ๊ฒ€์ƒ‰์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ฐ”๊พธ๋Š” ์ž„๋ฒ ๋”ฉ, ๊ฐ€๊นŒ์šด ๋ฒกํ„ฐ๋ฅผ ์ฐพ๋Š” ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰, ๊ทธ๋ฆฌ๊ณ  ๋Œ€๊ทœ๋ชจ์—์„œ ๋น ๋ฅด๊ฒŒ ์ฐพ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

RAG Analysis

๊ทธ๋ฆผ 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์˜ ์„ธ ํŒจ๋Ÿฌ๋‹ค์ž„์œผ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

RAG Analysis

๊ทธ๋ฆผ 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. ํ‰๊ฐ€์™€ ํ”„๋ก ํ‹ฐ์–ด

RAG Analysis

๊ทธ๋ฆผ 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 ํ•„์š”ํ•œ ๊ทผ๊ฑฐ๋ฅผ ๋น ์ง์—†์ด ๊ฒ€์ƒ‰ํ–ˆ๋Š”๊ฐ€ ๊ฒ€์ƒ‰