What is Retrieval-Augmented Generation (RAG)?
Overview
Retrieval-Augmented Generation (RAG)๋ Large Language Model (LLM)์ ํน์ Dynamic DB๋ฅผ ์ฐ๊ฒฐํ๋ ์ํคํ ์ฒ ํ๋ ์์ํฌ๋ก, 2020๋ Meta์์ ์ ์ํ๋ค. ์ด๋ฅผ ํตํด LLM์ ์ต์ ์ ์ ๋ขฐํ ์ ์๋ ์ ๋ณด๋ฅผ ์ ๊ทผํ๊ณ ํตํฉํ์ฌ ์๋ต๊ณผ ์ถ๋ก ์ ์ ํ์ฑ์ ํฅ์์ํฌ ์ ์๋ค.
RAG ๊ฐ๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ณต์กํ ๊ณผ์ ์ด ํฌํจ๋ ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋๋ฉ์ธ์ ๋ง์ถฐ ์ต์ ํ๋๋ค.
- prompt engineering
- vector databases (e.g., Pinecone, chroma DB, OpenSearch)
- embedding vectors
- semantic layers
- data modeling
- data orchestration
- data pipeline
RAG์ ๋์ ๋ฐฉ์์ ์๋์ ๊ฐ๋ค:
- Query processing: ์ฌ์ฉ์๊ฐ ์์คํ ์ ์ฟผ๋ฆฌ๋ฅผ ์ ๋ ฅํ๋ฉด, ํด๋น ์ฟผ๋ฆฌ๊ฐ RAG ๊ฒ์ ์ฒด์ธ ๋ฉ์ปค๋์ฆ์ ์ถ๋ฐ์ ์ด ๋๋ค.
- Data retrieval: RAG ์์คํ ์ DB์์ ํด๋น ์ฟผ๋ฆฌ์ ๊ด๋ จํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ค. ์ด ๊ณผ์ ์ Vector DB์์ ๋ฌธ๋งฅ์ ์ผ๋ก ๊ฐ์ฅ ๊ด๋ จ ์๋ ์ ๋ณด๋ฅผ ๋งค์นญํ๋ ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
- Integration with the LLM: ๊ด๋ จ๋๊ฐ ๊ฐ์ฅ ๋์ ๋ฐ์ดํฐ๊ฐ ๊ฒ์์ด ๋๋ฉด, ์ด๋ฅผ ํ๋กฌํํธ์ ์ฌ์ฉ์์ ์ฟผ๋ฆฌ์ ๊ฒฐํฉํ์ฌ LLM์ ์ ๋ ฅํ๋ค.
- Response generation: ์์คํ
์ LLM์ ์ฌ์ ์ง์๊ณผ ๊ฒ์๋ ๋ฐ์ดํฐ๊ฐ ์ ๊ณตํ๋ ๋ฌธ๋งฅ์ ํ์ฉํ์ฌ ์ฟผ๋ฆฌ์ ํน์ ๋ฌธ๋งฅ์ ๋ง์ถ ์ ํํ ์๋ต์ ์์ฑํ๋ค.

์์ ๊ฐ์ด RAG ์ํคํ ์ฒ ๊ฐ๋ฐ์ ๋ฐ์ดํฐ ํ์๊ฒ ๋ณต์กํ ์์ ์ด๋ฉฐ, LLM์ ๋ณด๊ฐํ๋ ์ปจํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ด ํ์ํ๋ค. ํ์ง๋ง, RAG๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ถํ๋ฉด AI ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์๋น์ค์ ์์ฒญ๋ ๊ฐ์น๋ฅผ ๋ถ์ฌํ ์ ์๋ค.
๋น์ฉ์ ์ผ๋ก ์ ๋ ดํ๊ณ , ์ธ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก ์๋กญ๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ์ ์ต์ ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ๋ํ, โ๊ทผ๊ฑฐ ์๋ ์์ฑโ์ ํ๊ธฐ ๋๋ฌธ์ LLM์ ํ์์ ๋ฌธ์ ์ค ํ๋์ธ Hallucination์ ๋ํ ๋๋น๋ ๊ฐ๋ฅํ๋ค.
When to Use RAG?
๋๋ถ๋ถ์ ์์ ํ์ฉ ์ฌ๋ก์์๋ RAG์ ๋ ์์ ์ ์ด๊ณ ํ์ฅ๊ฐ๋ฅํ๋ฉฐ, ๋์ ์ ๋ขฐ์ฑ์ผ๋ก Fine-Tuning๋ณด๋ค ๋ ์ ํฉํ๋ค.
๋ณด์๊ณผ ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์๋ฅผ ๊ฐํํ ์ ์๋๋ก ์ง์
RAG๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณด์ ๋ฐ์ดํฐ๊ฐ ์์ ํ DB ํ๊ฒฝ ๋ด์ ์ ์ง๋๋ฉฐ ์๊ฒฉํ ์ ๊ทผ ์ ์ด๊ฐ ๊ฐ๋ฅํ๋ค. ๋ฐ๋ฉด, Fine-Tuning์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ธ์ ํ์ต์ ์ ํฌํจ๋์ด ๋ ๋์ ์ ๊ทผ ๋ฒ์์ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ์์ง๋ง, ์ด์ ์์ํ๋ ์ฑ๋ฅ์ ์ ๊ณต๋ฐ์ง ๋ชปํ ์๋ ์๋ค.
๋น์ฉ ํจ์จ์ ์ด๋ฉฐ ๋ฐ์ด๋ ํ์ฅ์ฑ
LLM์ Fine-Tuningํ๋ ๊ฒ์ ๋ง์ ์๊ฐ๊ณผ ์ปดํจํ ์์์ด ํ์ํ๋ค. RAG๋ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ์ผ์ฐจ ๋ฐ์ดํฐ(first-party data)๋ฅผ ์๋ต ์์ฑ์ ํ์ฉํจ์ผ๋ก์จ, ์ปดํจํ ๋น์ฉ์ ์ค์ด๊ณ ํ๋ จ ๋จ๊ณ ์์ฒด๋ฅผ ์๋ตํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ํ, ํ์ต์ ์ ๋ง๋ค๊ณ ๋ผ๋ฒจ๋งํ๋ ๊ณผ์ ์ด ํ์์์ด ์ธ์ ์์ ๋น์ฉ๋ ์ ๊ฐํ ์ ์๋ค.
์ ๋ขฐํ ์ ์๋ ๊ฒฐ๊ณผ ์ ๊ณต
AI์ ๊ฐ์น๋ ์ ๋ขฐํ ์ ์๋ ์๋ต์ ์ ๊ณตํ๋ ๋ฅ๋ ฅ์ ์๋ค. RAG๋ ์ต๊ทผ ํ๋ ์ด์ ๋ ๋ฐ์ดํฐ์ ์ ์ง์์ ์ผ๋ก ์ฐธ์กฐํ์ฌ ์ถ๋ ฅ์ ์ ํ์ฑ์ ๋์ด๋๋ฐ ๋ฐ์ด๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐํ์ด ์๋ต์ ์ถ์ฒ๋ฅผ ์ฝ๊ฒ ์ถ์ ํ์ฌ ์ถ๋ ฅ์ด ์ด๋ป๊ฒ ํ์ฑ๋์๋์ง, ๋ฐ์ดํฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ง์ ์ ๋ช ํํ ํ์ ํ ์ ์๋ค.
๊ฒฐ๋ก
RAG๋ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์์ ์ ์ฉํ๋ฉด ํจ๊ณผ์ ์ด๋ค:
- Leveraging general knowledge: ๋ํ, ๋ถ์ ๋ฑ ๋ชจ๋ธ์ ๊ฐ๋ ฅํ ๊ธฐ๋ณธ ๋ฅ๋ ฅ์ ์ ์งํ๊ณ ์ ํ ๋
- Minimizing forgetting: ์ถ๊ฐ ํ์ต์ด ๋ชจ๋ธ์ ๋ค์ํ ์ผ๋ฐ์ ๋ฅ๋ ฅ์ ์์์ํฌ ์ํ์ด ์์ ๋
- Utilizing external knowledge: ๋๋ฉ์ธ ํนํ ์ง์์ ๊ฒ์ํด์ ๋ณด๊ฐํ๋ ๊ฒ์ด ์ ์ฉํ ๋
- Flexible Knowledge: ์ง์์ด ์์ฃผ ๋ณ๊ฒฝ๋์ด ์ฌํ์ต๋ณด๋ค๋ ์ ์ฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ํธ๋ ๋
What is Fine-Tuning?
Fine-Tuning์ ์์ฑํ AI ๊ฐ๋ฐ์ ๋์์ ์ธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก, LLM์ ๋ ์๊ณ ํนํ๋ ๋ฐ์ดํฐ์์ผ๋ก ํ๋ จํ๊ณ ์๋ก์ด ๋ฐ์ดํฐ์ ๋ง์ถฐ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ์ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฆ, ๋ชจ๋ธ์ ํน์ ๋ถ์ผ์ ๋ฏธ์ธํ ๋์์ค์ ์ฉ์ด์ ๋ง์ถฐ ์กฐ์ ํจ์ผ๋ก์จ, ๋ชจ๋ธ์ด ํด๋น ๋ถ์ผ์ ํน์ ์์ ์์ ๋ ์ฐ์ํ ์ฑ๋ฅ์ ๋ฐํํ๋๋ก ๋๋๋ค.

์ ๋ก ๋ฒ ์ด์ค์์ LLM์ ๊ฐ๋ฐํ๋ ๊ฒ๋ณด๋ค๋ ์ง์ ์ฅ๋ฒฝ์ด ๋ฎ์ง๋ง, Fine-Tuning ๊ณผ์ ์์ ๋ชจ๋ธ ๋๋ฆฌํํธ(Model Drift)1์ ๊ฐ์ด ์์์น ๋ชปํ ๋ฌธ์ ๋ฅผ ๋ง๋ฅ๋จ๋ฆฌ๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ๋น๋ฒํ ๋ฐ์ํ๊ธฐ์ ์ ๊ตํ ์์ ์ ํ ์ ์๋ ML ์ ๋ฌธ๊ฐ๊ฐ ํ์์ ์ด๋ค.
์์ ์ฉ AI์์ RAG์ Fine-Tuning์ ์ต์ข ๋ชฉํ๋ AI ๋ชจ๋ธ์ ํตํด ๋ ํฐ ๋น์ฆ๋์ค ๊ฐ์น๋ฅผ ์ฐฝ์ถํ๋ ๊ฒ์ผ๋ก ๋์ผํ๋ค. ํ์ง๋ง, RAG๊ฐ ๊ธฐ์กด LLM์ DB์ ๋ด์ฉ์ ์ถ๊ฐํ์ฌ ๋ณด๊ฐํ๋ ๋ฐฉ์์ด๋ผ๋ฉด, Fine-Tuning์ ๋ชจ๋ธ ์์ฒด๋ฅผ ํน์ ๋๋ฉ์ธ์ ๋ง๊ฒ ์กฐ์ ํ์ฌ ๋ ๊น์ด ์๋ ํน์์ ๋ง๋ ๋ค.
When to Use Fine-Tuning?
๊ฐ์ฉํ ์์์ ๋ฐ๋ผ, ์์ฑํ AI ํ๋ก์ ํธ์ ๊ฐ์น๋ฅผ ๋์ด๊ธฐ ์ํด RAG์ ๋์์ผ๋ก Fine-Tuning์ ์ ํํ ์ ์๋ค.
Fine-Tuning์ ๋ชจ๋ธ์ ํน์ ๋๋ฉ์ธ์ ๋ฏธ์ธํ ๋์์ค์ ์ฉ์ด์ ๋ง์ถฐ ์กฐ์ ํจ์ผ๋ก์จ, ํด๋น ๋ถ์ผ์ ์์ ์์ ๋ ๋์ ์ฑ๋ฅ์ ๋ฐํํ๋๋ก ๋๋๋ค. ํนํ ๋ฒ๋ฅ ๋ฌธ์๋ ๊ณ ๊ฐ ์ง์ ํฐ์ผ๊ณผ ๊ฐ์ด ์ธ๋ถ์ ์ธ ํ๋กฌํํธ์ ํน์ ํค์ด๋ ์คํ์ผ๋ก ์๋ตํด์ผ ํ๋ ๋๋ฉ์ธ ํนํ ์ํฉ์์ ํจ๊ณผ์ ์ด๋ค. ๋ํ, ์ ๋ณด ํธํฅ์ด๋ ๋ฐ๋ณต, ๋ถ์ผ์น ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ๋ ๋ฐ๋ ์ ํฉํ๋ค.
RAG์ ๋ง์ฐฌ๊ฐ์ง๋ก, Fine-Tuning๋ ์ฐ์ ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ Fine-Tuning ๊ณผ์ ์ ํ์ฉํ ์ ์๋๋ก ํจ๊ณผ์ ์ธ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ด ํ์ํ๋ค.
How to Choose Between RAG vs. Fine-Tuning
RAG์ Fine-Tuning ์ค ์ด๋ ๊ฒ์ ์ ํํ ์ง๋ ์ฌ์ฉ ์ฌ๋ก์ ๊ฐ์ฉ ์์์ ๋ฐ๋ผ ๊ฒฐ์ ํด์ผ ํ๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ RAG๊ฐ ๋ ์ ํฉํ์ง๋ง, RAG์ Fine-Tuning์ด ์ํธ ๋ฐฐํ์ ์ธ ๊ฒ์ ์๋๋ฉฐ Fine-Tuning์ด ํญ์ ์ค์ฉ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์๋ ์๋ ์๋ค. LLM์ ํ๋ จํ๋ ค๋ฉด ๋ง์ ์๊ฐ, ์ปดํจํ ๋ฆฌ์์ค, ๋ผ๋ฒจ๋ง ์์ ์ด ํ์ํ์ง๋ง, RAG ๋ํ ๋ณต์กํ ํ๋ก์ธ์ค๋ฅผ ์๊ตฌํ๋ค.
OpenAI์ Fine-Tuning ๊ฐ์ด๋ ๋ฌธ์์์๋ ๊ฐ์กฐํ๋ฏ์ด, Fine-Tuning์ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ๋ง์ด ํ์ํ๋ฏ๋ก ์ ์คํ ์ ๊ทผ์ด ํ์ํ๋ค. ๊ฐ์ด๋์์๋ Fine-Tuning์ ๋ฐ๋ก ์ ์ฉํ๊ธฐ ์์ Prompt Engineering, Prompt Chaining, Function Calling๊ณผ ๊ฐ์ ๋ค์ํ ๋ฐฉ๋ฒ์ ๋จผ์ ์๋ํด ๋ณผ ๊ฒ์ ๊ถ์ฅํ๋ค. ๋ฒ์ฉ ๋ชจ๋ธ์ด ์ด๊ธฐ์๋ ์ฑ๋ฅ์ด ๋ฎ์ ๋ณด์ผ ์ ์์ง๋ง, ํ๋กฌํํธ๋ฅผ ์ ์ค๊ณํ์ ๋ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฑฐ๋ ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. ๋ํ, ํ์ต์ฉ ๋ฐ์ดํฐ์ ๊ณผ ํ๊ฒฝ ๊ตฌ์ถ์ด ํ์ํ Fine-Tuning ๋ณด๋ค ํ๋กฌํํ ๊ณผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ํตํ ๋ฐ๋ณต์ ์ธ ๊ฐ์ ์ด ๋ ๋น ๋ฅธ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์๋ค๊ณ ํ๋ค.
RAG vs. Fine-Tuning์ ์ํ ์ง๋ฌธ ๋ฆฌ์คํธ
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋ธ ์ธ๋ถ ๋ฐ์ดํฐ ๋ฆฌ์์ค์ ์ ๊ทผํ ํ์๊ฐ ์๋๊ฐ? ํ์ธํ๋๋ ๋ชจ๋ธ ์ ํน์ ์์ ๊น์ง์ ๋ฐ์ดํฐ๋ง ํ์ต๋๊ธฐ ๋๋ฌธ์, ์ค์๊ฐ ์ธ๋ถ ๋ฐ์ดํฐ ์ ๊ทผ์ด ํ์ํ ๊ฒฝ์ฐ RAG๊ฐ ๋ ํจ๊ณผ์ ์ด๋ค.
- ๋ชจ๋ธ์ ํ๋, ๋ผ์ดํ ์คํ์ผ, ๋๋ฉ์ธ ํนํ ์ง์์ ์์ /๊ฐ์ ํด์ผ ํ๋๊ฐ? LLM์ ํน์ ๋์์ค, ํค, ์ฉ์ด ๋ฑ์ ๋ง์ถ๋ ค๋ฉด Fine-Tuning์ด ์ ๋ฆฌํ๋ค. RAG๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ณด๋ฅผ ๊ฒ์ํ ์๋ ์์ง๋ง, ๋๋ฉ์ธ ํนํ ์ง์์ด๋ ์ธ์ด์ ์คํ์ผ ๋ฑ์ ๋ชจ๋ธ ์์ฒด์ ๋ฐ์ํ๋ ๊ฒ์ ์ด๋ ต๋ค.
- ํ ๋ฃจ์๋ค์ด์ ์ต์ ๊ฐ ์ผ๋ง๋ ์ค์ํ๊ฐ? Fine-Tuning์ ํน์ ๋๋ฉ์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ํ์ตํ์ฌ ํ ๋ฃจ์๋ค์ด์ ๋ฌธ์ ๋ฅผ ๋ค์ ์ค์ผ ์ ์์ง๋ง, ์๋ก์ด ์ ๋ ฅ์ ์ฌ์ ํ ์ทจ์ฝํ๋ค. ๋ฐ๋ฉด, RAG๋ ๊ฒ์๋ ์ฆ๊ฑฐ๋ฅผ ๋ฐํ์ผ๋ก ๋ต๋ณ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ํ ๋ฃจ์๋ค์ด์ ๋ฐฉ์ง์ ๋ณธ์ง์ ์ผ๋ก ์ ๋ฆฌํ๋ค.
- ๋ผ๋ฒจ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ผ๋ง๋ ํ๋ณดํ ์ ์๋๊ฐ? Fine-Tuning ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ด๋ จ ๋๋ฉ์ธ ๋ฐ์ดํฐ์ ์๊ณผ ํ์ง์ ํฌ๊ฒ ์์กดํ๋ค. ์ถฉ๋ถํ ์์ง์ ๋ฐ์ดํฐ๋ฅผ ํ๋ณดํ ์ ์๋ ๊ฒฝ์ฐ RAG๊ฐ ๋ ์ ํฉํ๋ค.
- ๋ฐ์ดํฐ์ ๋ณ๋์ฑ์ ์ด๋ ์ ๋์ธ๊ฐ? ๋ฐ์ดํฐ๊ฐ ์์ฃผ ๋ณ๋๋๋ค๋ฉด RAG๊ฐ ๋ ์ ๋ฆฌํ๋ค. ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐฑ์ ํ๋ ๊ฒ์ด ๋ชจ๋ธ์ ์ถ๊ฐ ํ์ตํ๋ ๊ฒ๋ณด๋ค ๋ ๊ฐํธํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฌ ๊ฒฐ์ ๊ณผ์ ์ ์ผ๋ง๋ ์๊ณ ์์ด์ผ ํ๋๊ฐ? ํ์ธํ๋๋ ๋ชจ๋ธ์ ์์ฌ ๊ฒฐ์ ๊ณผ์ ์ด โ๋ธ๋๋ฐ์คโ์ ๊ฐ๋ค. RAG ๋ฐฉ์์ ๊ฒ์๊ณผ ์์ฑ์ด๋ผ๋ ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋์ด ์์ด ์์ฌ ๊ฒฐ์ ๊ณผ์ ์ ํฌ๋ช ํ๊ฒ ์ถ์ ํ ์ ์๋ค. ๋์ ์์ค์ ์ฑ ์์ฑ์ ์๊ตฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ RAG ๋ฐฉ์์ด ๋ ์ ํฉํ๋ค.
Fine-Tuning์ RAG์ ๋น๊ตํ์ ๋ ๋ค์๊ณผ ๊ฐ์ ๋จ์ ์ด ์๋ค:
- Forgetting: ํ์ธํ๋๋ ๋ชจ๋ธ์ ์ข ์ข ์ฌ์ ํ์ต์์ ์ตํ ๋ฅ๋ ฅ์ ์๊ฑฐ๋ ์ผ๋ถ ๊ธฐ๋ฅ์ ์์คํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ๊ธ์ต ๋ถ์ผ์ ํนํ๋ ๋ฐ์ดํฐ๋ก Fine-Tuning์ ๊ฑฐ์น LLM์ ์ผ๋ฐ์ ์ธ ๋ํ ์์ ์ ์ ์ฒ๋ฆฌํ์ง ๋ชปํ ์๋ ์๋ค.
- Training data dependence: ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ฐ์ฉํ ํ์ต์ ์ ์๊ณผ ์ง์ ํฌ๊ฒ ์์กดํ๋ค. ๊ทธ๋ฌ๋, ์์ง์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๊ฒ์ ๋งค์ฐ ๋น์ธ๋ค.
- Lacks external knowledge: ์ค์ง ํ์ต์ ์ ์๋ ๋ด์ฉ๋ง ์๊ณ , ์ค์ธ๊ณ์ ์ง์์ ๋ถ์กฑํ๋ค.
- Not customizable: ํ์ธํ๋๋ ๋ชจ๋ธ์ ์ฌํ์ตํ๋ ๊ฒ์ ๋งค์ฐ ๋น์ธ๋ค.
์ด์ ๋ฐ๋๋ก, RAG ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ด ์๋ค:
- ๋ชจ๋ธ ์์ฒด๊ฐ ์์ ๋๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ์ต์์ ์ตํ ๋ฅ๋ ฅ์ ์ ์งํ ์ ์๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ์ธ๋ถ ์ง์ ์์ค๋ฅผ ํ์ฉํ์ฌ LLM์ ๋ง์ถคํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
- LLM์ ์ฌํ์ตํ์ง ์๊ณ ๋ ์ง์ ์์ค๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
- LLM์ ์ฌํ์ตํ์ง ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ์๊ตฌ ์ฌํญ์ด ๋ฎ๋ค.
Consideration with different model sizes
Fine-Tuning๊ณผ RAG์ ์ ํ ๊ธฐ์ค์๋ model size๋ ๊ณ ๋ คํด์ผ ํ๋ค.
Large Language Models
GPT-4์ ๊ฐ์ด ์์กฐ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง ๋ํ ๋ชจ๋ธ์ ๊ฒฝ์ฐ, RAG๊ฐ Fine-Tuning๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ ์ ํฉํ๋ค.
- Retains pre-training capabilities: Fine-Tuning์ GPT-4 ๊ท๋ชจ์์ ์ต๋ํ ๋ฅ๋ ฅ(๋ํ, ๋ฒ์ญ, ๋ถ์ ๋ฑ)์ ์์ด๋ฒ๋ฆด ์ํ์ด ์๋ค.
- Utilizes external knowledge: GPT-4๋ Llama-2๋ ํ๋ ์ด์ ๋ ์ง์์ด ๋ถ์กฑํ ์ ์์ง๋ง, RAG๋ ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํตํด ์ด๋ฅผ ๋ณด์ํ๋ค.
- Avoids catastrophic forgetting: Fine-Tuning์ด LLM์ ๋ค์ฌ๋ค๋ฅํจ์ ์์์ํฌ ์ ์๋ค.
- Flexible knowledge sources: RAG ์ง์ ๋ฆฌ์์ค๋ ๋น์ผ ์ฌํ์ต ์์ด ๋ณ๊ฒฝํ ์ ์๋ค.
Fine-Tuning ์์ ์ด ์ฌ์ ํ์ต๊ณผ ๋งค์ฐ ์ ์ฌํ๊ฑฐ๋ ์๊ธฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด, RAG๊ฐ ๋ ์ ํฉํ๋ค.
Medium Language Models
์์ต ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง Llama 2 7B, Falcon 7B, Alpaca 7B์ ๊ฐ์ ์ค๊ฐ ๊ท๋ชจ ๋ชจ๋ธ์ ๊ฒฝ์ฐ, RAG์ Fine-Tuning ๋ชจ๋ ํ์ฉ๊ฐ๋ฅํ ์ต์ ์ด๋ค.
- Fine-Tuning์ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ง๋ฌธ ์๋ต์ฒ๋ผ ์๊ธฐ์ ํฌ๊ฒ ์์กดํ๋ ํ์คํฌ์ ์ ํฉํ ์ ์๋ค.
- RAG๋ ๊ด๋ จ ์ง์์ ๊ฒ์ํ์ฌ ๋๋ฉ์ธ ํนํ ์์ฑ ๋๋ ๋ถ๋ฅ ์์ ์์ ์ ๋ฆฌํ๊ฒ ์์ฉํ ์ ์๋ค.
Small Language Models
์์ฒ์์ ์๋ฐฑ๋ง ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง Zephyr, Phi2, Orca์ ๊ฐ์ ์ํ ์ปค์คํ ๋ชจ๋ธ์ ๊ฒฝ์ฐ, RAG๋ณด๋ค Fine-Tuning์ด ๋ ์ ํฉํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ์์ ๋ชจ๋ธ์ ์ด๋ฏธ ๋ํ ๋ชจ๋ธ์ ์ผ๋ฐ์ ์ญ๋์ด ๋ถ์กฑํ๋ค.
- Fine-Tuning์ ํตํด ๋๋ฉ์ธ ํนํ ๋ฐ์ดํฐ๋ก ํ๋ จํ๋ฉด ํด๋น ์ง์์ ์ง์ ์ ์ผ๋ก ์ฃผ์ ํ ์ ์๋ค.
- ์ฌ์ ์ง์์ด ์ ์ด ๊ธฐ์ต ์์ค ์ํ์ด ๊ฑฐ์ ์๋ค.
- ํ์ํ ๊ฒฝ์ฐ, ์๋ก์ด ๋ฐ์ดํฐ๋ก ์์ ๋ชจ๋ธ์ ์ฝ๊ฒ ์ฌํ์ตํ ์ ์๋ค.
์ง์์ ํญ์ ์ ์งํ ํ์๊ฐ ์๋ค๋ฉด, ์์ ๋ชจ๋ธ์๋ RAG ๋ณด๋ค Fine-Tuning์ด ๋ ์ ํฉํ๋ค.
Frequently Asked Questions
Is RAG better than Fine-Tuning?
RAG๋ ๋ณด์์ฑ, ํ์ฅ์ฑ, ๋น์ฉ ํจ์จ์ฑ ๋ฉด์์ ๋๋ถ๋ถ์ ์์ ์ฉ ์ฌ๋ก์ ๋ ์ ํฉํ๋ค. RAG๋ ๋ณด์๊ณผ ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์๋ฅผ ๊ฐํํ๊ณ , ์ปดํจํ ๋ฆฌ์์ค ๋น์ฉ์ ์ ๊ฐํ๋ฉฐ, ์ต์ ํ๋ ์ด์ ๋ ๋ฐ์ดํฐ์ ์ ํ์ฉํ์ฌ ์ ๋ขฐํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ค. ํ์ง๋ง, ๋ฌด์กฐ๊ฑด์ ์ผ๋ก RAG๊ฐ Fine-Tuning๋ณด๋ค ๋ ์ข๋ค๋ ๊ฒ์ด ์๋, ๋ณธ๋ฌธ์ ๋ด์ฉ์ ์ ์ฒด์ ์ผ๋ก ๊ณ ๋ คํด์ผ ํ๋ค.
What is the difference between RAG and Fine-Tuning vs. prompt engineering?
- RAG: LLM์ ๋์ ์ด๊ณ ํ๋ ์ด์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ๊ทผ์ ์ถ๊ฐํ์ฌ ์ถ๋ ฅ ํ์ง์ ๊ฐ์ ํ๋ ๋ฐฉ์
- Fine-tuning: LLM์ ๋ ์์ ํนํ ๋ฐ์ดํฐ์ ์ผ๋ก ํ๋ จํด ํน์ ์์ ์ ๋ง์ถฐ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ
- Prompt-engineering: ๋ชจ๋ธ์ด๋ ๋ฐ์ดํฐ ์์ค๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ฟผ๋ฆฌ๋ฅผ ์ค๊ณํด ๋ ๋์ ์๋ต์ ์ด๋์ด๋ด๋ ๊ธฐ์
Can RAG and Fine-Tuning be used together?
์์์ด ์ถฉ๋ถํ๋ค๋ฉด ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ํ์ฉํ๋ ๊ฒ์ด ๋ถ๋ช ํ ์ด์ ์ด ์๋ค. ๋ชจ๋ธ์ ํ๋ จํด ๊ฐ์ฅ ์ ์ ํ ๋ฐ์ดํฐ์ ์์ ํ์ํ ์ ๋ณด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ฒ์ํ๋๋ก ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฐ์ , ๊ตฌ์ฒด์ ์ธ ์๊ตฌ์ฌํญ์ ๊ณ ๋ คํ ํ, ์ดํด๊ด๊ณ์์๊ฒ ์ต๋ ๊ฐ์น๋ฅผ ์ ๊ณตํ ์ ์๋ ๋ฐฉํฅ์ผ๋ก ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ข๋ค.
์ด๋ ๋ฐฉ๋ฒ์ ์ ํํ๋ AI ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์์์ ๋ชจ๋ธ๋ก ์ ๋ฌํ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ด ํ์ํ๋ค. AI๊ฐ ์ ๋๋ก ์๋ํ๋ ค๋ฉด ๋ชจ๋ธ์ด ์์กดํ๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ํ์ง๊ณผ ์ ๋ขฐ์ฑ์ ์ง์คํ๋ ๊ฒ์ด ์ค์ํ๋ค.
RAG์ Fine-Tuning์ด ํจ๊ณผ๋ฅผ ๋ฐํํ๋ ค๋ฉด ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ๊ฐ ํ์์ ์ด๋ค. ์ด๋ฅผ ์ํด ํ์ ๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๊ณ , ๊ทผ๋ณธ ์์ธ์ ์๋ณํ๋ฉฐ, LLM์ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ํด๊ฒฐํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๊ฐ์์ฑ ์๋ฃจ์ ์ ํ์ฉํด์ผ ํ๋ค.
Is rag cheaper than fine-tuning?
RAG๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์ถ๊ฐ์ ์ธ ํ๋ จ ๋จ๊ณ๋ฅผ ์์ ๊ธฐ ๋๋ฌธ์, ์ผ๋ฐ์ ์ผ๋ก Fine-tuning ๋ณด๋ค ๋น์ฉ ํจ์จ์ ์ด๋ค. ๋ฐ๋ฉด, Fine-tuning์ ๋ชจ๋ธ์ ์๋ก์ด ๋ฐ์ดํฐ๋ก ํ๋ จํ๋ ๋ฐ ๋ง์ ์๊ฐ๊ณผ ์ปดํจํ ์์์ด ํ์ํ์ฌ ๋ ๋ง์ ๋ฆฌ์์ค๋ฅผ ์๋ชจํ๋ค.
What is the difference between rag and model fine-tuning?
RAG๋ LLM์ ํ๋ ์ด์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ ์ถ๊ฐํ์ฌ, ํ์ํ ์ ๋ณด๋ฅผ ๋์ ์ผ๋ก ๊ฒ์ํด ์๋ต์ ์์ฑํ ์ ์๊ฒ ํ๋ค. ๋ฐ๋ฉด, Fine-tuning์ ํน์ ๋ผ๋ฒจ ๋ฐ์ดํฐ์ ์ผ๋ก ๋ชจ๋ธ์ ํ๋ จํด ํน์ ์์ ์์์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ๋ ๊ณผ์ ์ด๋ค. ์ฆ, Fine-tuning์ ๋ชจ๋ธ ์์ฒด๋ฅผ ์์ ํ๋ ๋ฐ๋ฉด, RAG๋ ๋ชจ๋ธ์ด ์ ๊ทผํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฅํ๋ ๋ฐฉ์์ด๋ค.
When to use rag vs fine-tuning?
์ต์ ์ ์ ๋ขฐํ ์ ์๋ ์ ๋ณด๋ฅผ LLM ์ถ๋ ฅ์ ํตํฉํด์ผ ํ๋ฉฐ, ํ์ฅ ๊ฐ๋ฅํ๊ณ ์์ ํ๋ฉฐ ๋น์ฉ ํจ์จ์ ์ธ ์๋ฃจ์ ์ด ํ์ํ ๋๋ RAG๋ฅผ ์ฌ์ฉํ๋ค. ํน์ ์์ ์์ ๋ ๋์ ์ฑ๋ฅ์ด ํ์ํ๊ณ ํนํ๋ ๋ฐ์ดํฐ์ ์ผ๋ก ๋ชจ๋ธ์ ํ๋ จํด์ผ ํ ๋๋ Fine-tuning์ ํ์ฉํ๋ค.
What is the difference between rag, fine-tuning, and embedding?
RAG(Retrieval-Augmented Generation)์ LLM์ ํ๋ ์ด์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ์ฌ ์ ๋ขฐํ ์ ์๋ ์ ๋ณด๋ฅผ ํตํฉํจ์ผ๋ก์จ ์ถ๋ ฅ ํ์ง์ ํฅ์์ํจ๋ค. Fine-tuning์ ํน์ ์์ ์์์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ํนํ๋ ๋ฐ์ดํฐ์ ์ผ๋ก ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ๋ ๊ณผ์ ์ด๋ค. ์๋ฒ ๋ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฐจ์ ๊ณต๊ฐ์ ํํํ์ฌ ์๋ฏธ์ ๊ด๊ณ๋ฅผ ํฌ์ฐฉํจ์ผ๋ก์จ ๋ชจ๋ธ์ด ๋ฌธ๋งฅ๊ณผ ์๋ฏธ๋ฅผ ๋ ์ ์ดํดํ ์ ์๋๋ก ๋๋๋ค.
Footnotes
-
Model Drift - ๋ชจ๋ธ์ ๋ฐฐํฌํ ์ดํ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ชจ๋ธ ์ฑ๋ฅ์ด ์ ํ๋๋ ํ์ โฉ