[2024] Don't Do RAG : When Cache-Augmented Generation is All you Need for Knowledge Tasks
2025.01.19.
Last updated
2025.01.19.
Last updated
Paper Link : https://arxiv.org/pdf/2412.15605
Retrieval-augmented generation(RAG)์ ์ธ๋ถ ์ง์ ์์ค๋ฅผ ํตํฉํ์ฌ ์ธ์ด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ฐํํ๋ ๊ฐ๋ ฅํ ์ ๊ทผ๋ฐฉ์์ผ๋ก ์ฃผ๋ชฉ๋ฐ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ RAG๋ ๊ฒ์ ์ง์ฐ, ๋ฌธ์ ์ ํ ์ค๋ฅ ๊ฐ๋ฅ์ฑ, ์์คํ ์ ๋ณต์ก์ฑ ์ฆ๊ฐ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋๋ฐํฉ๋๋ค. ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)์ context-window๊ฐ ํฌ๊ฒ ํ์ฅ๋ ์ต๊ทผ์๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋์์ ์ธ ํจ๋ฌ๋ค์์ผ๋ก, ์ค์๊ฐ ๊ฒ์์ ์๋ตํ ์บ์ ์ฆ๊ฐ ์์ฑ (Cache-augmented generation, CAG)์ ์ ์ํฉ๋๋ค.
๋ณธ ์ฐ๊ตฌ์์ ์ ์ํ๋ ๋ฐฉ๋ฒ์, ๊ฒ์ํด์ผ ํ ๋ฌธ์๋ ์ง์์ ํฌ๊ธฐ๊ฐ ์ ํ์ ์ด๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ๊ด๋ จ ๋ฆฌ์์ค๋ฅผ LLM์ ํ์ฅ๋ ๋ฌธ๋งฅ ์ฐฝ์ ๋ฏธ๋ฆฌ ๋ก๋ํ๊ณ , ์คํ ์ ํ์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์บ์ฑํ๋ ๋ฐฉ์์ ๋๋ค. ์ถ๋ก ๊ณผ์ ์์๋ ์ถ๊ฐ์ ์ธ ๊ฒ์ ์์ด ์ด๋ฌํ ๋ฏธ๋ฆฌ ๋ก๋๋ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํ์ฌ ์ง์์ ์๋ตํฉ๋๋ค.
๋น๊ต ๋ถ์ ๊ฒฐ๊ณผ, CAG๋ ๊ฒ์ ์ง์ฐ์ ์ ๊ฑฐํ๊ณ ๊ฒ์ ์ค๋ฅ๋ฅผ ์ต์ํํ๋ฉด์ ๋ฌธ๋งฅ ์ ํฉ์ฑ์ ์ ์งํ๋ค๋ ์ ์ ํ์ธํ์ต๋๋ค. ๋ค์ํ ๋ฒค์น๋งํฌ๋ฅผ ํตํ ์ฑ๋ฅ ํ๊ฐ์์๋, ๊ธด ๋ฌธ๋งฅ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ LLM์ด ๊ธฐ์กด RAG ํ์ดํ๋ผ์ธ์ ๋ฅ๊ฐํ๊ฑฐ๋ ์ด๋ฅผ ๋ณด์ํ๋ ์๋๋ฆฌ์ค๊ฐ ๋ค์ ๋ํ๋ฌ์ต๋๋ค. ์ด๋ฌํ ๊ฒฐ๊ณผ๋ ํนํ ์ง์ ๊ธฐ๋ฐ์ด ์ ํ์ ์ธ ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์์ CAG๊ฐ RAG์ ๋นํด ๊ฐ์ํ๋ ๊ตฌ์กฐ์ ํจ์จ์ฑ์ ๋ฐํ์ผ๋ก ๋๋ฑํ๊ฑฐ๋ ๋ ๋์ ์ฑ๊ณผ๋ฅผ ๋ฌ์ฑํ ์ ์์์ ์์ฌํฉ๋๋ค.
Computing methodologies -> Discourse, dialogue and pragmatics; Natural language generation;
Information Systems -> Specialized information retrieval
Retrieval-augmented generation(RAG)์ ๋ฑ์ฅ์ ์ธ๋ถ ์ง์ ์์ค๋ฅผ ๋์ ์ผ๋ก ํตํฉํจ์ผ๋ก์จ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)์ ์ญ๋์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค. RAG ์์คํ ์ ์คํ ๋๋ฉ์ธ ์ง๋ฌธ์ด๋ ์ ๋ฌธ์ ์ธ ์์ ์ ์ฒ๋ฆฌํ๋ ๋ฐ ํจ๊ณผ์ ์ด๋ฉฐ, ๊ฒ์ ํ์ดํ๋ผ์ธ์ ํ์ฉํด ๋ฌธ๋งฅ์ ์ ํฉํ ๋ต๋ณ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ RAG์๋ ๋ช ๊ฐ์ง ๋จ์ ๋ ์กด์ฌํฉ๋๋ค. ์ค์๊ฐ ๊ฒ์์ด ํ์ํ๋ค๋ ์ ์์ ์ง์ฐ(latency)์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ๊ด๋ จ ๋ฌธ์๋ฅผ ์ ํํ๊ฑฐ๋ ์์๋ฅผ ๋งค๊ธฐ๋ ๊ณผ์ ์์์ ์ค๋ฅ๋ ์์ฑ๋ ์๋ต์ ํ์ง์ ์ ํ์ํฌ ์ ์์ต๋๋ค. ๋ํ, ๊ฒ์ ๋ฐ ์์ฑ ๊ตฌ์ฑ ์์๋ฅผ ํตํฉํ๋ ๊ณผ์ ์์ ์์คํ ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๊ณ , ์ธ์ฌํ ์กฐ์ ์ด ํ์ํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ์ ๋ถ๋ด๋ ๋์ด๋ฉ๋๋ค.
๋ณธ ๋ ผ๋ฌธ์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์บ์ ์ฆ๊ฐ ์์ฑ(Cache-augmented generation, CAG)์ด๋ผ๋ ๋์์ ํจ๋ฌ๋ค์์ ์ ์ํ๋ฉฐ, ๊ธด ๋ฌธ๋งฅ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ LLM์ ์ญ๋์ ํ์ฉํฉ๋๋ค. Figure 01์์ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ ๊ฒ์ ํ์ดํ๋ผ์ธ์ ์์กดํ๋ ๋์ , ๋ณธ ์ ๊ทผ๋ฒ์ LLM์ ๋ชจ๋ ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฌ์ ์ ๋ก๋ํ๊ณ , ์ถ๋ก ์ํ๋ฅผ ์บก์ํํ๋ ํค-๊ฐ(KV) ์บ์๋ฅผ ์ฌ์ ์ ๊ณ์ฐํฉ๋๋ค. ์ด๋ ๊ฒ ๋ฏธ๋ฆฌ ๋ก๋๋ ๋ฌธ๋งฅ์ ์คํ ์ ์ถ๊ฐ ๊ฒ์ ์์ด๋ ํ๋ถํ๊ณ ๋ฌธ๋งฅ์ ์ผ๋ก ์ ํํ ๋ต๋ณ์ ์ ๊ณตํ ์ ์๋๋ก ํฉ๋๋ค.
์ด ๋ฐฉ์์ ๊ฒ์ ์ง์ฐ์ ์ ๊ฑฐํ๊ณ ๊ฒ์ ์ค๋ฅ๋ฅผ ์ค์ด๋ฉฐ, ๊ด๋ จ ๋ฌธ๋งฅ์ ์ ์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํจ์ผ๋ก์จ ์๋ต ํ์ง์ ์ ์งํ๋ ๋์์ ์์คํ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ํํฉ๋๋ค.
์ต๊ทผ ์ฐ๊ตฌ๋ค์์๋ RAG ๊ณผ์ ์์ ๊ธด ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์กฐ์ฌํ์ผ๋ฉฐ, GPT-o1, GPT-4, Claude 3.5์ ๊ฐ์ ์ต์ ๋ชจ๋ธ๋ค์ด ๋๋์ ๊ฒ์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉฐ, ๋ง์ ์ํฉ์์ ์ ํต์ ์ธ ์์คํ ์ ๋ฅ๊ฐํ ์ ์์์ ๋ฐํ์ต๋๋ค. ์ฐ๊ตฌ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด, ๋ชจ๋ ๋ฌธ์๊ฐ ํ์ฅ๋ ๋ฌธ๋งฅ ๊ธธ์ด ๋ด์ ํฌํจ๋ ์ ์๋ ๊ฒฝ์ฐ, ์ ํต์ ์ธ RAG ์์คํ ์ ์ด๋ฌํ ๊ธด ๋ฌธ๋งฅ ๋ชจ๋ธ๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
์ด์ ๋น์ทํ๊ฒ, TurboRAG์์๋ ์ฌ์ ๊ณ์ฐ๋ KV ์บ์ฑ์ด ํจ์จ์ฑ์ ํฅ์์ํจ๋ค๋ ์ ์ ์ ์ฆํ์ง๋ง, ์ฌ๋ฐ๋ฅธ ๋์์ ์ํด position ID Rearrangement๊ฐ ํ์ํ๋ค๋ ํ๊ณ๊ฐ ์์์ ์ง์ ํ์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , ์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ ์ฌ์ ํ RAG ์์คํ ๊ณ ์ ์ ๊ฒ์ ์คํจ ๋ฌธ์ ์ ์ทจ์ฝํฉ๋๋ค.
์ ํต์ ์ธ RAG ์ํฌํ๋ก์ฐ์ ์ ์๋ ์ ๊ทผ๋ฒ์ ๋น๊ตํ๋ ์ผ๋ จ์ ์คํ์ ํตํด, ๊ธด ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ ์ ์๋ LLM์ด ํจ์จ์ฑ๊ณผ ์ ํ์ฑ ๋ชจ๋์์ RAG๋ฅผ ๋ฅ๊ฐํ๋ ์๋๋ฆฌ์ค๋ฅผ ํ์ธํ์ต๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ ๊ธฐ์ ์ , ์ค์ฉ์ ์์ฌ์ ์ ๋ค๋ฃจ๋ฉฐ, ํนํ ๊ฒ์ํด์ผ ํ ๋ฌธ์๋ ์ง์์ ํฌ๊ธฐ๊ฐ ์ ํ์ ์ด๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ ๊ฒฝ์ฐ, CAG๊ฐ RAG๋ฅผ ๋์ฒดํ ์ ์๋ ๊ฐ์ํ๋๊ณ ํจ๊ณผ์ ์ธ ๋์์ผ๋ก ์์ฉํ ์ ์๋ ์ด์ ์ ์์ ์ ๋ํ ํต์ฐฐ์ ์ ๊ณตํฉ๋๋ค.
์ด ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ ์ง์ ํตํฉ ์์ ์์ RAG์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์์กด์ ๋์ ํ๋ฉฐ, ๊ธด ๋ฌธ๋งฅ LLM์ ํ์ฅ๋ ์ญ๋์ ํ์ฉํ๊ธฐ ์ํ ๊ฐ๋จํ๊ณ ๊ฒฌ๊ณ ํ ์๋ฃจ์ ์ ์ ์ํฉ๋๋ค. ๋ณธ ๋ ผ๋ฌธ์ ๊ธฐ์ฌ๋ ๋ค์ ์ธ ๊ฐ์ง๋ก ์์ฝ๋ฉ๋๋ค:
๊ฒ์ ์๋ ๊ธด ๋ฌธ๋งฅ ํจ๋ฌ๋ค์: ๋ฏธ๋ฆฌ ๋ก๋๋ ๋ฌธ์์ ์ฌ์ ๊ณ์ฐ๋ KV ์บ์๋ฅผ ํ์ฉํ๋ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ์ฌ ๊ฒ์ ์ง์ฐ, ์ค๋ฅ, ์์คํ ๋ณต์ก์ฑ์ ์ ๊ฑฐํ์ต๋๋ค.
์ฑ๋ฅ ๋น๊ต: ๊ด๋ฒ์ํ ์คํ์ ํตํด ๊ธด ๋ฌธ๋งฅ LLM์ด ํนํ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ง์ ๊ธฐ๋ฐ์ ๊ฐ์ง ๊ฒฝ์ฐ ์ ํต์ ์ธ RAG ์์คํ ์ ๋ฅ๊ฐํ๋ ์๋๋ฆฌ์ค๋ฅผ ํ์ธํ์ต๋๋ค.
์ค์ฉ์ ํต์ฐฐ: ์ง์ ์ง์ฝ์ ์ํฌํ๋ก์ฐ๋ฅผ ์ต์ ํํ๊ธฐ ์ํ ์ค์ง์ ์ธ ํต์ฐฐ์ ์ ๊ณตํ๋ฉฐ, ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฒ์ ์๋ ๋ฐฉ์์ ์คํ ๊ฐ๋ฅ์ฑ์ ์ ์ฆํ์ต๋๋ค. ์ฐ๋ฆฌ์ CAG ํ๋ ์์ํฌ๋ ๊ณต๊ฐ์ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
์ฐ๋ฆฌ์ CAG ํ๋ ์์ํฌ๋ ๊ธด ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ ์ ์๋ LLM์ ํ์ฅ๋ ๋ฌธ๋งฅ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ์ฉํ์ฌ, ๊ฒ์ ์์ด ์ง์์ ํตํฉํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ธ๋ถ ์ง์ ์์ค (์: ๋ฌธ์ ์งํฉ ,๋ฅผ ๋ฏธ๋ฆฌ ๋ก๋ํ๊ณ , ํค-๊ฐ(KV) ์บ์ โ๋ฅผ ์ฌ์ ์ ๊ณ์ฐํจ์ผ๋ก์จ ์ ํต์ ์ธ RAG ์์คํ ์์ ๋ฐ์ํ๋ ์ค์๊ฐ ๊ฒ์์ ๊ณ์ฐ์ ๋ฌธ์ ์ ๋นํจ์จ์ฑ์ ํด๊ฒฐํฉ๋๋ค. ํ๋ ์์ํฌ์ ์๋์ ๋ค์ ์ธ ๊ฐ์ง ๋จ๊ณ๋ก ๋๋ฉ๋๋ค:
External Knowledge Preloading ์ด ๋จ๊ณ์์๋ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์งํฉ๋ฅผ ์ ๋ณํ์ฌ ๋ชจ๋ธ์ ํ์ฅ๋ ๋ฌธ๋งฅ ์ฐฝ์ ๋ง๋๋ก ์ ์ฒ๋ฆฌํ๊ณ ํ์์ ์กฐ์ ํฉ๋๋ค. LLM , ๋ชจ๋ธ์ ๋งค๊ฐ๋ณ์ , process ๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ฌ์ ๊ณ์ฐ๋ KV ์บ์๋ฅผ ์์ฑํฉ๋๋ค: .................. (1) ์ด KV Cache๋ LLM์ ์ถ๋ก ์ํ๋ฅผ ์บก์ํํ๋ฉฐ, ์ดํ ์ฌ์ฉ์ ์ํด ๋์คํฌ ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค. ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ํ ๊ณ์ฐ ๋น์ฉ์ ํ ๋ฒ๋ง ๋ฐ์ํ๋ฉฐ, ์ดํ์ ์ง์ ์์ ๊ด๊ณ์์ด ์ฌ์ฌ์ฉ๋ฉ๋๋ค.
Inference ์ถ๋ก ๊ณผ์ ์์๋ ์ฌ์ ๊ณ์ฐ๋ KV ์บ์ ์ ์ฌ์ฉ์์ ์ง์ ๋ฅผ ํจ๊ป ๋ก๋ํฉ๋๋ค. LLM์ ์ด ์บ์๋ ๋ฌธ๋งฅ์ ํ์ฉํ์ฌ ์๋ต์ ์์ฑํฉ๋๋ค: .................. (2) ์ธ๋ถ ์ง์์ ๋ฏธ๋ฆฌ ๋ก๋ํจ์ผ๋ก์จ, ์ด ๋จ๊ณ์์๋ ๊ฒ์ ์ง์ฐ์ ์ ๊ฑฐํ๊ณ ๋์ ๊ฒ์์์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ ๋๋ฝ์ ์ํ์ ์ค์ ๋๋ค. ๊ฒฐํฉ๋ ํ๋กฌํํธ ๋ ์ธ๋ถ ์ง์๊ณผ ์ฌ์ฉ์ ์ง์๋ฅผ ๋ชจ๋ ํตํฉํ์ฌ ์ดํดํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
Cache Reset ์ฌ๋ฌ ์ถ๋ก ์ธ์ ์ ๊ฑธ์ณ ์์คํ ์ฑ๋ฅ์ ์ ์งํ๊ธฐ ์ํด, ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ KV Cache๋ ํจ์จ์ ์ผ๋ก ์ด๊ธฐํํ ์ ์์ต๋๋ค. KV Cache๋ ์๋ก์ด ํ ํฐ โ์ด ์์ฐจ์ ์ผ๋ก ์ถ๊ฐ๋๋ ๋ฐฉ์์ผ๋ก ํ์ฅ๋๋ฏ๋ก, ์ด๊ธฐํ๋ ์ด๋ฌํ ์๋ก์ด ํ ํฐ๋ค์ ์๋ผ๋ด๋ ๊ณผ์ ์ ํฌํจํฉ๋๋ค: .................. (3)
์ด ๋ฐฉ์์ ์ ์ฒด ์บ์๋ฅผ ๋์คํฌ์์ ๋ค์ ๋ก๋ํ์ง ์๊ณ ๋น ๋ฅด๊ฒ ์ฌ์ด๊ธฐํํ ์ ์๋๋ก ํ์ฌ, ์ง์์ ์ธ ์๋์ ๋ฐ์์ฑ์ ๋ณด์ฅํฉ๋๋ค.
์ ์๋ ๋ฐฉ๋ฒ๋ก ์ ์ ํต์ ์ธ RAG ์์คํ ์ ๋นํด ์ฌ๋ฌ ๊ฐ์ง ์ค์ํ ์ฅ์ ์ ์ ๊ณตํฉ๋๋ค:
๋จ์ถ๋ ์ถ๋ก ์๊ฐ: ์ค์๊ฐ ๊ฒ์์ด ํ์ ์์ผ๋ฏ๋ก ์ถ๋ก ๊ณผ์ ์ด ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ด ๋์ด ์ฌ์ฉ์ ์ง์์ ๋ํ ์๋ต์ด ๋ ์ ์ํ๊ฒ ์ด๋ฃจ์ด์ง๋๋ค.
ํตํฉ๋ ๋ฌธ๋งฅ: ์ ์ฒด ์ง์ ์งํฉ์ LLM์ ๋ฏธ๋ฆฌ ๋ก๋ํจ์ผ๋ก์จ ๋ฌธ์์ ๋ํ ์ ์ฒด์ ์ด๊ณ ์ผ๊ด๋ ์ดํด๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ด๋ก ์ธํด ๋ค์ํ ์์ ์์ ์๋ต ํ์ง๊ณผ ์ผ๊ด์ฑ์ด ํฅ์๋ฉ๋๋ค.
๊ฐ์ํ๋ ์ํคํ ์ฒ: ๊ฒ์๊ธฐ์ ์์ฑ๊ธฐ๋ฅผ ํตํฉํ ํ์๊ฐ ์์ผ๋ฏ๋ก ์์คํ ์ด ๋ ๊ฐ์ํ๋์ด ๋ณต์ก์ฑ์ด ์ค์ด๋ค๊ณ , ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฉ์ดํด์ง๋ฉฐ ๊ฐ๋ฐ ๋ถ๋ด์ด ๊ฒฝ๊ฐ๋ฉ๋๋ค.
์์ผ๋ก, ์ฐ๋ฆฌ์ ์ ๊ทผ๋ฒ์ LLM์ ์์๋๋ ๋ฐ์ ์ ๋ฐ๋ผ ๋์ฑ ๊ฐ๋ ฅํด์ง ๊ฒ์ ๋๋ค. ๋ฏธ๋์ ๋ชจ๋ธ๋ค์ด context length๋ฅผ ํ์ฅํจ์ ๋ฐ๋ผ, ํ ๋ฒ์ ์ถ๋ก ๋จ๊ณ์์ ์ ์ ๋ ํฐ ์ง์ ์งํฉ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋ํ, ์ด๋ฌํ ๋ชจ๋ธ๋ค์ด ๊ธด ๋ฌธ๋งฅ์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ณ ํ์ฉํ๋ ๋ฅ๋ ฅ์ด ํฅ์๋จ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋์ฑ ๊ฐ์ ๋ ๊ฒ์ ๋๋ค. ์ด ๋ ๊ฐ์ง ํธ๋ ๋๋ ์ฐ๋ฆฌ์ ์ ๊ทผ๋ฒ์ ํ์ฉ ๋ฒ์๋ฅผ ํฌ๊ฒ ํ์ฅ์์ผ, ๋ ๋ณต์กํ๊ณ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ ๊ฒ์ ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ์ฐ๋ฆฌ์ ๋ฐฉ๋ฒ๋ก ์ ์ฐจ์ธ๋ LLM์ ์ฑ์ฅํ๋ ๋ฅ๋ ฅ์ ํ์ฉํ์ฌ ์ง์ ์ง์ฝ์ ์ธ ์์ ์ ๊ฐ๋ ฅํ๊ณ ๋ค์ฌ๋ค๋ฅํ ์๋ฃจ์ ์ผ๋ก ์๋ฆฌ ์ก์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ์ ์ ์๋ ๋ฐฉ๋ฒ์ ํจ๊ณผ๋ฅผ ํ๊ฐํ๊ธฐ ์ํด, ๋ ๊ฐ์ง์ ๋๋ฆฌ ์ธ์ ๋ฐ๋ QA ๋ฒค์น๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์ ์ํํ์ต๋๋ค : Stanford Question Answering Dataset (SQuAD) ๊ณผ HotPotQA Dataset์ ๋๋ค. ์ด ๋ฐ์ดํฐ์ ๋ค์ ์ํธ ๋ณด์์ ์ธ ๋์ ์ ์ ๊ณตํ๋ฉฐ, SQuAD๋ ๋จ์ผ ๋ณธ๋ฌธ ๋ด์์ ์ ํํ๊ณ ๋ฌธ๋งฅ์ ๋ง๋ ๋ต๋ณ์ ์ค์ ์ ๋๊ณ , HotPotQA๋ ์ฌ๋ฌ ๋ฌธ์์ ๊ฑธ์น ๋ค์ค ๋จ๊ณ ์ถ๋ก ์ ๊ฐ์กฐํฉ๋๋ค. ๋ ๋ฐ์ดํฐ์ ๋ชจ๋ ๋ฌธ์ ์ ์ง๋ฌธ ๊ทธ๋ฆฌ๊ณ ์ ๋ต(=golden response) ์ด ์ง์ง์ด์ ธ ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ๋ฐ์ดํฐ์ ๋ค์ ๋จ์ผ ๋ฌธ๋งฅ ์ดํด(=single context comprehension)์ ๋ณต์กํ ๋ค์ค ๋จ๊ณ ์ถ๋ก (=complex multi-hop reasoning)์ ํ๊ฐํ ์ ์๋ ๊ฐ๋ ฅํ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค.
์ฐธ์กฐ ํ ์คํธ ๊ธธ์ด๊ฐ ๊ฒ์์ ๋์ด๋์ ๋ฏธ์น๋ ์ํฅ์ ์กฐ์ฌํ๊ธฐ ์ํด, ์ฐ๋ฆฌ๋ ๊ฐ ๋ฐ์ดํฐ์ ์ ๋ํด ์ฐธ์กฐ ํ ์คํธ์ ํฌ๊ธฐ๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ ์ธ ๊ฐ์ง ํ ์คํธ ์ธํธ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์๋ฅผ ๋ค์ด, HotPotQA์ small ์ค์ ์์๋ HotPotQA ๋ฌธ์ ์งํฉ์์ 16๊ฐ์ ๋ฌธ์ ๋ฅผ ์ํ๋งํ์ฌ ๊ธด ์ฐธ์กฐ ํ ์คํธ๋ฅผ ๊ตฌ์ฑํ ํ ์ ๊ด๋ จ๋ QA ์์ ํ ์คํธ ์ธ์คํด์ค๋ก ์ ํํ์์ต๋๋ค. ๋์ผํ ๋ฐฉ๋ฒ๋ก ์ ์ฌ์ฉํ์ฌ SQuAD์ ํ ์คํธ ์ธํธ๋ ์์ฑํ์ต๋๋ค.
๋ฐ์ดํฐ์ ํต๊ณ๋ Table 1์ ์์ฝ๋์ด ์์ต๋๋ค. ๋ฌธ์ ์(์ฆ, ์ฐธ์กฐ ํ ์คํธ์ ๊ธธ์ด)๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ํนํ RAG ์์คํ ์์ ์์ ์ด ๋ ์ด๋ ค์์ง๋๋ค. ๋ ๊ธด ์ฐธ์กฐ ํ ์คํธ๋ ์ ํํ๊ฒ ์ฌ๋ฐ๋ฅธ ์ ๋ณด๋ฅผ ๊ฒ์ํ๋ ๋์ด๋๋ฅผ ๋์ด๋ฉฐ, ์ด๋ LLM์ด ๊ณ ํ์ง์ ์๋ต์ ์์ฑํ๋ ๋ฐ ์ค์ํ ์์์ ๋๋ค.
์ฃผ์ ์์ ์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฏธ๋ฆฌ ๋ก๋๋ ๋ณธ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก SQuAD์ HotPotQA ์ง๋ฌธ์ ๋ํด ์ ํํ๊ณ ๋ฌธ๋งฅ์ ๋ง๋ ๋ต๋ณ ์ ์์ฑํ๋ ๊ฒ์ ๋๋ค. ์ฌ์ ๊ณ์ฐ๋ ํค-๊ฐ์บ์ ๋ฅผ ํ์ฉํ์ฌ, ์ฐ๋ฆฌ์ ์์คํ ์ ์ถ๋ก ์ค ๊ฒ์ ๋ฉ์ปค๋์ฆ์ ์์กดํ์ง ์๊ณ ์๋ต ๋ฅผ ์์ฑํฉ๋๋ค. ์ด ํตํฉ๋ ์ ๊ทผ๋ฒ์ ์ ํต์ ์ธ RAG ์์คํ ๊ณผ ์ง์ ์ ์ธ ์ฑ๋ฅ ๋น๊ต๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ฌ, ๋ค์ํ QA ๊ณผ์ ์์ ์ฐ๋ฆฌ์ ๋ฐฉ๋ฒ์ ๊ฐ์ ๊ณผ ํ๊ณ๋ฅผ ๋ถ๊ฐ์ํต๋๋ค.
์คํ์ Tesla V100 32G ร 8 GPUs์์ ์คํ๋์์ต๋๋ค. ๋ชจ๋ ์คํ์์ ์ฐ๋ฆฌ๋ Llama 3.1 8B Instruction ๋ชจ๋ธ์ ๊ธฐ๋ณธ LLM์ผ๋ก ์ฌ์ฉํ์ผ๋ฉฐ, ์ด๋ RAG ๊ธฐ์ค ์์คํ ๊ณผ ์ ์๋ ๋ฐฉ๋ฒ ๋ชจ๋์์ ์ฌ์ฉ๋์์ต๋๋ค. ์ด ๋ชจ๋ธ์ ์ต๋ 128k ํ ํฐ์ ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ์ง์ํ์ฌ, ๋ฐฉ๋ํ ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ ์๋ ๋ฐฉ๋ฒ์์๋ ๊ฐ ๋ฐ์ดํฐ์ ์ ๋ฌธ๋งฅ์ด ์ฌ์ ๊ณ์ฐ๋ ํค-๊ฐ(KV) ์บ์๋ฅผ ํตํด ๋ชจ๋ธ์ ๋ฏธ๋ฆฌ ๋ก๋๋์์ต๋๋ค. SQuAD์ ๊ฒฝ์ฐ, ๋ฌธ์ ๋ KV ์บ์ ๋ ๋ก ์ธ์ฝ๋ฉ๋์์ต๋๋ค. ์ด ์บ์๋ค์ ์คํ๋ผ์ธ์ผ๋ก ์ ์ฅ๋์์ผ๋ฉฐ, ์ถ๋ก ์ค์ ๋ก๋๋์ด ์ค์๊ฐ ๊ฒ์์ ํ์์ฑ์ ์์ด๊ณ , ๊ฐ ๋ฐ์ดํฐ์ ์ ๋ํด ๋ชจ๋ ๊ด๋ จ ์ ๋ณด์ ๋ํ ํฌ๊ด์ ์ธ ์ ๊ทผ์ ๋ณด์ฅํ์ต๋๋ค.
๊ธฐ๋ณธ RAG ์์คํ ์ LlamaIndex ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ผ๋ฉฐ, ๋ ๊ฐ์ง ๊ฒ์ ์ ๋ต์ ์ฑํํ์ต๋๋ค: ํฌ์ ๊ฒ์์ ์ํ BM25์ ๋ฐ์ง ๊ฒ์์ ์ํ OpenAI ์ธ๋ฑ์ค์ ๋๋ค. ๊ฐ ๋ฐ์ดํฐ์ (SQuAD์ HotPotQA)์ ๋ณ๋๋ก ํ๊ฐ๋์์ผ๋ฉฐ, ๊ฒ์ ์์คํ ์ ํด๋น ๋ฐ์ดํฐ์ ์์๋ง ๋ณธ๋ฌธ์ ๊ฐ์ ธ์ค๋๋ก ์ค์ ํ์ฌ ์ง์ค์ ์ด๊ณ ๊ณต์ ํ ํ๊ฐ๊ฐ ์ด๋ฃจ์ด์ง๋๋ก ํ์ต๋๋ค. ๊ฐ ๊ธฐ๋ณธ ์์คํ ์ ์ธ๋ถ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
Sparse Retrieval System (BM25) : ์ฒซ ๋ฒ์งธ ๊ธฐ๋ณธ ์์คํ ์ ๊ฒ์์ ์ํด BM25 index๋ฅผ ์ฌ์ฉํ์ต๋๋ค. BM25๋ ํฌ์ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ฉ์ด ๋น๋-์ญ๋ฌธ์ ๋น๋(TF-IDF)์ ๋ฌธ์ ๊ธธ์ด ์ ๊ทํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์๋ฅผ ์์ ๋งค๊น๋๋ค. ์ฃผ์ด์ง ์ง์ ์ ๋ํด, BM25๋ ์ธ๋ฑ์ค๋ ์ปฌ๋ ์ ์์ ์์ ๊ฐ์ passage ์ ๊ฒ์ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ๋ณธ๋ฌธ๋ค์ ์์ฑ๊ธฐ ์ ์ ๋ฌ๋์ด ๋ต๋ณ์ ํฉ์ฑํฉ๋๋ค. .................. (4)
BM25๋ ํค์๋ ๋งค์นญ์ด ํ์ํ ์์ ์ ์ ํฉํ ๊ฐ๋ ฅํ๊ณ ํด์ ๊ฐ๋ฅํ ๊ฒ์ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค.
Dense Retrieval System (OpenAI Index) : ๋ ๋ฒ์งธ baseline์ OpenAI ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ์ผ๋ฉฐ, ์ด๋ ๋ฌธ์์ ์ง์๋ฅผ ๊ณต์ ๋ ์๋ฏธ ๊ณต๊ฐ์์ ํํํ๊ธฐ ์ํด ๋ฐ์ง ์๋ฒ ๋ฉ(dense embeddings)์ ์ฌ์ฉํฉ๋๋ค. ์ง์ ์ ๋ํด ๋ฐ์ง ๊ฒ์์ ์ง์์ ์๋ฏธ์ ์ผ๋ก ์ผ์นํ๋ ์์ ๊ฐ์ ๊ตฌ์ ()์ ์ ํํ๋ฉฐ, ํฌ์(sparse) ๋ฐฉ๋ฒ์ ๋นํด ๋ ๋์ ๋งฅ๋ฝ ์ดํด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ ๊ฒ ์ ํ๋ ๊ตฌ์ ๋ค์ ๋์ผํ๊ฒ ์์ฑ๊ธฐ๋ก ์ ๋ฌ๋์ด Equation 4์ ๋ฐ๋ผ ๋ต๋ณ์ ์์ฑํฉ๋๋ค. ์ด ์์คํ ์ ๋จ์ํ ๋จ์ด ์ผ์น ์ด์์ผ๋ก ์ธ๋ฐํ ๋งฅ๋ฝ์ ๋งค์นญ์ด ํ์ํ ์ง๋ฌธ์ ํนํ ํจ๊ณผ์ ์ ๋๋ค.
์ฐ๋ฆฌ์ ์คํ์ SQuAD์ HotPotQA ๋ฐ์ดํฐ์ ์ ์ฌ์ฉํ์ฌ ๋ค์ํ ์์คํ ์ ์ฑ๋ฅ์ ํ๊ฐํ์ผ๋ฉฐ, ํ๊ฐ ๊ธฐ์ค์ผ๋ก๋ BERTScore๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ต๊ณผ์ ์ ์ฌ์ฑ์ ์ธก์ ํ์ต๋๋ค. RAG ๊ธฐ์ค์ ์์๋ ์์ 1๊ฐ, 3๊ฐ, 5๊ฐ, 10๊ฐ์ ๊ฒ์๋ ๊ตฌ์ ์ ์ถ๋ก ์ ํ์ฉํ์ต๋๋ค. ๋ฐ๋ฉด, ์ฐ๋ฆฌ์ CAG๋ ๊ฐ ๋ฐ์ดํฐ์ ์ ํนํ๋ ์ฌ์ ๋ก๋๋ ๋งฅ๋ฝ์ ํ์ฉํ์ฌ ๊ฒ์ ์ ์ฝ ์์ด ๋ต๋ณ์ ์์ฑํ์ต๋๋ค.
Table 2์์ ๋ณผ ์ ์๋ฏ์ด, ์คํ ๊ฒฐ๊ณผ๋ ์ฐ๋ฆฌ๊ฐ ์ ์ํ ๋ฐฉ๋ฒ๊ณผ ๊ธฐ์กด RAG ์์คํ ๊ฐ์ ๋๋ ทํ ์ฐจ์ด๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ์ ์๋ ์ ๊ทผ ๋ฐฉ์์ ๋๋ถ๋ถ์ ์ํฉ์์ ๊ฐ์ฅ ๋์ BERTScore๋ฅผ ๊ธฐ๋กํ๋ฉฐ RAG ์์คํ ์ ๋ฅ๊ฐํ์ต๋๋ค. ํ ์คํธ ์ธํธ์ ์ ์ฒด ๋งฅ๋ฝ์ ์ฌ์ ๋ก๋ํจ์ผ๋ก์จ, ์ฐ๋ฆฌ์ ์์คํ ์ ๊ฒ์ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ชจ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ํ ํฌ๊ด์ ์ธ ์ถ๋ก ์ ๊ฐ๋ฅํ๊ฒ ํ์ต๋๋ค. ์ด๋ฌํ ์ฅ์ ์ ํนํ RAG ์์คํ ์ด ๋ถ์์ ํ๊ฑฐ๋ ๊ด๋ จ ์๋ ๊ตฌ์ ์ ๊ฒ์ํ์ฌ ์ต์ ์ด ์๋ ๋ต๋ณ์ ์์ฑํ ๊ฐ๋ฅ์ฑ์ด ์๋ ์ํฉ์์ ๋๋๋ฌ์ง๋๋ค. ์ด ๊ฒฐ๊ณผ๋ ํนํ ์์ค ์๋ฃ์ ๋ํ ํตํฉ์ ์ธ ์ดํด๊ฐ ํ์ํ ์์ ์์ ์ฐ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ฒฌ๊ณ ํจ๊ณผ ํจ์จ์ฑ์ ์ ๋ณด์ฌ์ค๋๋ค. OpenAI Indexes์ ๊ฐ์ ๋ฐ์ง ๊ฒ์ ๋ฐฉ๋ฒ์ด BM25์ ๊ฐ์ ํฌ์ ๊ฒ์ ๋ฐฉ๋ฒ๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง, ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ๊ฒ์ ์ ํ์ฑ๊ณผ ์์ ๊ฒฐ์ ํด๋ฆฌ์คํฑ์ ์์กดํ๋ค๋ ๊ทผ๋ณธ์ ์ธ ํ๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ์ ๊ทผ ๋ฐฉ์์ ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ์ฌ Llama 3.1 ๋ชจ๋ธ์ ๊ธด ๋งฅ๋ฝ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ์ฉํจ์ผ๋ก์จ ์ฐ์ํ ์ฑ๋ฅ์ ๋ฌ์ฑํ์ต๋๋ค.
Table 3์ ์ฐธ์กฐ ํ ์คํธ๋ฅผ ์ถ๋ก ์ค์ ๋์ ์ผ๋ก ์ ๊ณตํ๋ฉฐ ์ค์๊ฐ KV-cache ๊ณ์ฐ์ด ํ์ํ ํ์ค ๋งฅ๋ฝ ํ์ต (In-Context Learning)๊ณผ ์ฐ๋ฆฌ์ CAG ์ ๊ทผ ๋ฐฉ์์ ๋น๊ตํ ๊ฒ์ ๋๋ค. ๊ฒฐ๊ณผ๋ ์ฐธ์กฐ ํ ์คํธ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์๋ก CAG๊ฐ ์์ฑ ์๊ฐ์ ํ๊ธฐ์ ์ผ๋ก ๋จ์ถํจ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฌํ ํจ์จ์ฑ์ KV-cache๋ฅผ ์ฌ์ ์ ๋ก๋ํ์ฌ ์ฐธ์กฐ ํ ์คํธ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ ํ์๋ฅผ ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฒ๋ค๊ฐ CAG๋ ๊ฒ์ ๋จ๊ณ๋ฅผ ์์ ํ ์๋ตํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด RAG ์์คํ ๋ณด๋ค๋ ๋ ๋น ๋ฆ ๋๋ค. RAG์ ๋ฌ๋ฆฌ, CAG๋ ์ถ๋ก ์ค์ ๊ฒ์์ด๋ ์ฐธ์กฐ ํ ์คํธ ์ ๋ ฅ์ด ํ์ํ์ง ์์ ๊ณผ์ ์ ๋จ์ํํ๊ณ ํจ์จ์ฑ์ ๋์ฑ ๋์์ต๋๋ค. ์ด๋ฌํ ์ฅ์ ๋๋ถ์ CAG๋ ๋ฐฉ๋ํ ์ฐธ์กฐ ๋งฅ๋ฝ์ด ํ์ํ ์ํฉ์์๋ ์ฑ๋ฅ์ ์ ํ์ํค์ง ์์ผ๋ฉด์ ์๋นํ ์๊ฐ ์ ์ฝ์ ์ ๊ณตํ๋ ์ต์ ์ ์๋ฃจ์ ์ผ๋ก ์๋ฆฌ์ก์ต๋๋ค.
Long-Context LLM์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ, ์ฐ๋ฆฌ๋ ์ ํต์ ์ธ RAG ์ํฌํ๋ก์ฐ๋ฅผ ์ฌ๊ณ ํ ํ์์ฑ์ ๋ํด ๊ฐ๋ ฅํ ์ฃผ์ฅ์ ์ ์ํฉ๋๋ค. ๋ณธ ์ฐ๊ตฌ๋ ๊ฒ์ ์ง์ฐ์ ์์ ๋ ๋ฐ ์ค์ ์ ๋์ง๋ง, ๋ฏธ๋ฆฌ ๋ก๋ฉ๊ณผ ์ ํ์ ๊ฒ์์ ๊ฒฐํฉํ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ๋ฒ์ ๊ฐ๋ฅ์ฑ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์คํ ์ ๊ธฐ๋ณธ ๋ฌธ๋งฅ์ ๋ฏธ๋ฆฌ ๋ก๋ํ๊ณ , ๊ฒ์์ ์ฃ์ง ์ผ์ด์ค๋ ๋งค์ฐ ํน์ ํ ์ง์๋ฅผ ๋ณด์ํ๋ ๋ฐ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฏธ๋ฆฌ ๋ก๋ฉ์ ํจ์จ์ฑ๊ณผ ๊ฒ์์ ์ ์ฐ์ฑ์ ๊ท ํ ์๊ฒ ๋ง์ถ ์ ์์ด, ๋ฌธ๋งฅ์ ์์ ์ฑ๊ณผ ์ ์์ฑ์ด ๋ชจ๋ ์ค์ํ ์ํฉ์ ์ ํฉํ ๊ฒ์ ๋๋ค.