RAG (Retrieval-Augmented Generation)๋?
1. RAG ์ ์
RAG(Retrieval-Augmented Generation)๋ ์ ๋ณด ๊ฒ์(Retrieval)๊ณผ ์์ฑ ๋ชจ๋ธ(Generation)์ ๊ฒฐํฉํ์ฌ ๋ ์ ํํ๊ณ ์ต์ ์ ๋ณด๋ฅผ
์ ๊ณตํ๋ AI ๊ธฐ์ ์ด๋ค. ๋จ์ํ ์ฌ์ ํ์ต๋ ์ธ์ด ๋ชจ๋ธ์ด ์๋, ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌธ์์์ ์ ๋ณด๋ฅผ ๊ฒ์ํ ํ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ต์
์์ฑํ๋ ๋ฐฉ์์ด๋ค.
ํต์ฌ ๊ฐ๋
- Retrieval (๊ฒ์)
- ์ฃผ์ด์ง ์ง์(Query)์ ๊ด๋ จ๋ ๋ฌธ์๋ฅผ ๋ฒกํฐ ๊ฒ์(Vector Search) ๋๋ ํค์๋ ๊ฒ์์ ํตํด ์ฐพ์๋ธ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก FAISS, ChromaDB, Weaviate, Elasticsearch ๊ฐ์ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ฉํ๋ค.
- ๋ฌธ์ ์๋ฒ ๋ฉ(Document Embedding)์ ์ฌ์ฉํ์ฌ ์ง์์ ๋ฌธ์ ๊ฐ ์ ์ฌ๋๋ฅผ ์ธก์ ํ๋ค.
- Augmentation (์ ๋ณด ์ฆ๊ฐ)
- ๊ฒ์๋ ๋ฌธ์๋ฅผ ๋ชจ๋ธ ์ ๋ ฅ์ผ๋ก ํจ๊ป ์ ๊ณตํ์ฌ, ๋ชจ๋ธ์ด ๋ณด๋ค ์ ํํ ์๋ต์ ์์ฑํ ์ ์๋๋ก ํ๋ค.
- ์๋ณธ ๋ชจ๋ธ์ด ํ๋ จ๋์ง ์์ ์๋ก์ด ์ ๋ณด๋ ํ์ฉํ ์ ์๊ฒ ํด์ค๋ค.
- Generation (์์ฑ)
- LLM (๋ํ ์ธ์ด ๋ชจ๋ธ, Large Language Model)์ด ๊ฒ์๋ ๋ฌธ์๋ฅผ ๋ฐํ์ผ๋ก ์ต์ ์ ๋ต๋ณ์ ์์ฑํ๋ค.
- ๋ํ์ ์ธ ๋ชจ๋ธ๋ก GPT-4, Llama, Claude ๋ฑ์ด ์๋ค.
- ๋จ์ํ ์ธ์ด ๋ชจ๋ธ๋ณด๋ค ๋ ์ ๋ขฐ์ฑ ์๋ ์๋ต์ ์ ๊ณตํ ์ ์๋ค.
2. RAG์ ์ฅ์
- ์ต์ ์ ๋ณด ๋ฐ์: ์ ์ ๋ฐ์ดํฐ๋ก ํ์ต๋ ๋ชจ๋ธ๊ณผ ๋ฌ๋ฆฌ, ์ค์๊ฐ ์ ๋ณด๋ฅผ ํ์ฉํ ์ ์์
- ์ ํ์ฑ ํฅ์: ๊ฒ์๋ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ต๋ณ์ ์์ฑํ๋ฏ๋ก, ํ์๋ฆฌ(hallucination)๋ฅผ ์ค์ผ ์ ์์
- ๋ฐ์ดํฐ ํจ์จ์ฑ: ๋ชจ๋ธ์ ์ฌํ์ตํ์ง ์๊ณ ๋ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ํ์ฉ ๊ฐ๋ฅ
3. RAG์ ๊ตฌ์ฑ ์์
- ์๋ฒ ๋ฉ ๋ชจ๋ธ (Embedding Model)
- ๋ฌธ์์ ์ง์๋ฅผ ๋ฒกํฐํํ์ฌ ๊ฒ์ํ ์ ์๋๋ก ๋ณํ
- ๋ํ์ ์ธ ๋ชจ๋ธ: OpenAI’s text-embedding-ada, BERT, SBERT, Cohere Embeddings
- ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค (Vector Database)
- ๊ฒ์์ ์ํ ๋ฌธ์ ๋ฒกํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ์ฌํ ๋ฌธ์๋ฅผ ์ฐพ๋ ์ญํ
- ์์: FAISS, Pinecone, ChromaDB, Weaviate, Elasticsearch
- LLM (Large Language Model)
- ๊ฒ์๋ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์์ฐ์ด ๋ต๋ณ์ ์์ฑํ๋ ๋ชจ๋ธ
- ์์: GPT-4, Llama, Claude, Mistral
- Retrieval ๊ธฐ๋ฒ
- BM25: ์ ํต์ ์ธ ํค์๋ ๊ธฐ๋ฐ ๊ฒ์ ๋ฐฉ๋ฒ
- Dense Retrieval (DPR): ๋ฌธ์ ์๋ฒ ๋ฉ์ ํ์ฉํ ์ ๊ฒฝ๋ง ๊ธฐ๋ฐ ๊ฒ์
- Hybrid Search: BM25 + DPR์ ํจ๊ป ํ์ฉํ์ฌ ์ต์ ์ ๊ฒฐ๊ณผ ์ ๊ณต
4. RAG์ ํ์ฉ ์ฌ๋ก
- ์ฑ๋ด: ๊ธฐ์ FAQ, ๊ณ ๊ฐ ์ง์ ์๋ํ
- ๋ฌธ์ ์์ฝ: ๋ ผ๋ฌธ, ๊ณ์ฝ์ ๋ฑ ๋๋ ๋ฌธ์์์ ํต์ฌ ์ ๋ณด ์ถ์ถ
- ์ฝ๋ ๊ฒ์: ํ๋ก๊ทธ๋๋ฐ ๊ด๋ จ ์ง๋ฌธ์ ๋ํ ์ค์๊ฐ ์ฝ๋ ์ถ์ฒ
- ์๋ฃ·๋ฒ๋ฅ : ์ต์ ์ฐ๊ตฌ ์๋ฃ ๋ฐ ๋ฒ๋ฅ ๋ฌธ์ ๊ฒ์ ํ ๋ต๋ณ ์์ฑ
5. RAG์ ํ๊ณ
- ์๋ชป๋ ๊ฒ์ ๊ฒฐ๊ณผ: ๊ฒ์๋ ๋ฌธ์๊ฐ ๋ถ์ ํํ๋ฉด ์์ฑ๋ ๋ต๋ณ๋ ์ค๋ฅ๊ฐ ์์ ์ ์์
- ์๋ ๋ฌธ์ : ๋ฒกํฐ ๊ฒ์๊ณผ LLM์ ํจ๊ป ์ฌ์ฉํ๋ฏ๋ก ์๋ต ์๊ฐ์ด ๊ธธ์ด์ง ์ ์์
- ๋ฌธ๋งฅ ํ๊ณ: ๋๋ฌด ๋ง์ ๋ฌธ์๋ฅผ ๊ฒ์ํ๋ฉด ๋ชจ๋ธ์ด ๋ฌธ๋งฅ์ ์ถฉ๋ถํ ๋ฐ์ํ์ง ๋ชปํ ์ ์์
6. ํ์ฅ ๋ฐ ์ต์ ํ
- Multi-Hop Retrieval: ๋จ์ผ ๊ฒ์์ด ์๋๋ผ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๋ ๊น์ด ์๋ ์ ๋ณด๋ฅผ ์ฐพ์ ์๋ตํจ
- Re-Ranking: ๊ฒ์๋ ๋ฌธ์๋ฅผ ๋ ์ ๊ตํ๊ฒ ์ ๋ ฌํ์ฌ ํ์ง์ด ํฅ์๋จ
- Hybrid RAG: ํค์๋ ๊ฒ์๊ณผ ๋ฒกํฐ ๊ฒ์์ ๊ฒฐํฉํ์ฌ ๋ณด๋ค ํจ์จ์ ์ธ ๊ฒ์์ ์ํ
7. ๋ํ์ ์ธ RAG ํ๋ ์์ํฌ
- LangChain: LLM๊ณผ RAG ์์คํ ์ ์ฝ๊ฒ ๊ตฌ์ถํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- LlamaIndex (์ด์ GPT Index): ๋ฌธ์ ๊ฒ์ ๋ฐ ๋ฒกํฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ํนํ๋ ํ๋ ์์ํฌ
- Haystack: ์คํ์์ค RAG ๊ตฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
'AI ๐ค > ML & DL ๐ง ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[250307] FAISS vs ChromaDB ์ฐจ์ด์ (3) | 2025.03.07 |
---|---|
[250226] ์๋ฒ ๋ฉ(Embedding)์ด๋ (2) | 2025.02.26 |
[250214] Parser ์ ๋ฆฌ (0) | 2025.02.14 |
[250212] LangChain์ด ๋ญ๋ฐ~ (2) | 2025.02.12 |
[250210] LLM ํน๊ฐ ๋๋ฒ์งธ ์๊ฐ~ (1) | 2025.02.10 |