[논문 리뷰]Don’t Do RAG: When Cache-Augmented Generation is All You Need for Knowledge Tasks

lit·2025년 1월 26일

Paper Link
Code Link

느낀점

  • 실시간 지식을 가질 수 없는 LLM의 태성적 한계 -> RAG로 해결하고자 했지만 프로세스의 복잡성과 대답이 효과적이지 않은 부분이 존재했음
  • RAG 시스템은 실제 구현에서도 복잡도가 높아 고품질의 출력을 얻기가 까다로웠음
  • CAG는 long-context를 받을 수 있는 LLM이 증가하여 이를 이용하여 RAG의 한계를 개선하려고 했음
  • 검색을 사용하지 않기 때문에 대답의 오류가 줄고 매우 빠른 속도로 추론이 가능해졌음
  • llm의 long-context와 직접적인 성능이 연결되어 있기 때문에 llm context가 무한히 증가하지 않기에 한계가 있음
  • long-context의 한계로 rag와 하이브리드 사용이 가능할 것으로 보이는데 성능이 궁금함

Abstract

RAG은 외부 지식 소스를 통합하여 LLM을 성능을 강화하는 접근법으로 주목받고 있습니다.

그러나 RAG는 검색 지연, 문서 선택 오류, 시스템 복잡성 증가와 같은 문제를 동시에 가지고 있습니다.

한 번에 많은 컨텍스트를 받을 수 있는 LLM의 발전과 함께 본 논문은 실시간 검색을 우회하는 패러다임인 캐시 기반 생성(CAG)을 제안합니다.

검색해야 할 문서나 지식의 범위가 제한적이고 관리 가능한 경우 모든 관련 리소스를 LLM의 확장된 컨텍스트에 미리 로드하고 런타임 매개변수를 캐싱하는 방식입니다.

추론 시, 모델은 추가적인 검색 단계 없이 이러한 미리 로드된 매개변수를 활용하여 질의에 답변합니다.

CAG는 검색 지연을 없애면서 검색 오류를 최소화하여 컨텍스트의 연관성을 유지합니다.

다양한 벤치마크에서 수행된 성능 평가를 통해 long-context LLM이 전통적인 RAG 파이프라인을 능가하거나 이를 보완할 수 있는 시나리오임을 밝혀졌습니다.

이러한 연구 결과는 특히 지식 기반이 제한된 특정 응용 분야에서 CAG가 단순화된 구조로 유사하거나 더 우수한 결과를 달성하며 효율적인 대안을 제공할 수 있음을 시사합니다.

Introduction

RAG의 등장은 외부 지식 소스를 동적으로 사용하여 LLM의 능력을 크게 향상시켰습니다.

RAG 시스템은 검색 파이프라인을 활용해 적절한 답변을 제공함으로써 개방형 도메인 질문과 전문화된 작업을 효과적으로 처리하는 것으로 입증되었습니다.

실시간 정보 검색은 지연된 동작 속도와 연관이 있고, 관련 문서를 선택하거나 순위를 매기는 과정에서 발생하는 오류는 생성된 응답의 품질을 저하시킬 수 있습니다.

검색과 생성 요소를 통합하면 시스템 복잡성이 증가해 유지 관리 부담도 늘어납니다.

이러한 문제를 해결하기 위해 cache-augmented generateion(CAG)는 장문의 맥락을 처리할 수 있는 LLM의 능력을 활용하여 해결합니다.

기존 RAG 시스템과 달리, (그림 1에서 위에 파이프라인) CAG는 LLM에 모든 관련 문서를 사전에 로드하고 LLM의 추론 상태를 캡슐화하는 key-value(KV) 캐시를 사전에 계산하는 방식을 사용합니다.

사전 로드된 context은 추가적인 실시간 검색 없이도 모델이 풍부하고 맥락적으로 정확한 답변을 제공할 수 있도록 합니다.

이 접근법은 검색 지연을 없애고 오류를 완화합니다
또한 시스템 아키텍처를 단순화하여 모델이 매락을 포괄적으로 처리할 수 있도록 하여 품질 높은 응답을 유지할 수 있게 합니다.

LLM의 발전으로 Long-context를 처리할 수 있는 능력을 가지고 있습니다

더 큰 맥락 창을 수용할 수 있는 능력은 한 번의 추론 단계에서 방대한 정보를 통합할 수 있어 문서 이해, 다회 대화, 장문의 텍스트 요약과 같은 작업에 적합합니다.

이러한 능력은 필요한 모든 정보를 모델에 사전 로드할 수 있게 하여 실시간 검색의 의존도를 제거합니다.

이 같은 발전은 지식 집약적 작업의 워크플로를 간소화할 기회를 제공하며, 전통적인 RAG 시스템의 필요성을 줄이거나 제거할 가능성을 열어줍니다.

최근 연구 결과에 따르면 모든 문서가 확장된 맥락 길이에 적합하기만 하면 전통적인 RAG 시스템은 long-context 모델로 대체될 수 있습니다.

본 논문에서는 전통적인 RAG 워크플로와 제안된 접근법을 비교하는 실험을 통해 long-context LLM이 효율성과 정확성 모두에서 RAG를 능가하는 시나리오를 확인합니다.

문서나 검색할 지식이 제한적이고 관리 가능한 크기일 경우 CAG가 RAG의 간소화되고 효과적인 대안으로 작용할 수 있음을 밝힙니다.

연구 결과는 지식 통합 작업에서 RAG에 대한 기본적인 의존을 다시 고려할 필요성을 제기하며 long context LLM의 성장 가능성을 활용하는 단순하고 강력한 솔루션을 제공합니다.

본 논문은 크게 세 가지로 요약됩니다

  1. Retrieval-Free Long-Context Paradigm: 모든 관련 문서를 사전에 로드하고 사전 계산된 KV 캐시를 활용하는 새로운 접근법을 도입해 검색 지연, 오류, 시스템 복잡성을 제거.
  2. Performance Comparison: long-context LLM이 관리 가능한 지식 기반에서 전통적인 RAG 시스템을 능가하는 시나리오를 보여주는 광범위한 실험 수행.
  3. Practical Insights: 특정 응용 분야에서 검색 없는 방법의 실행 가능성을 입증합니다.

Methodology

CAG 프레임워크는 확장된 컨텍스트를 활용하는 long-context LLMs의 능력을 바탕으로 retrieval-free knowledge integration을 가능하게 합니다.

외부 지식 소스(예: 문서 모음 D = {d1, d2, ...})를 사전에 로드하고, key-value(KV) 캐시(CKV)를 사전 계산(precompute)함으로써, 전통적인 RAG 시스템에서의 실시간 검색(retrieval)에 내재된 계산적 비효율성과 문제를 해결합니다.

이 프레임워크는 다음 세 가지 단계로 나뉩니다:


외부 지식 사전 로드 (External Knowledge Preloading)

target application과 관련된 문서 모음 D가 선별되어 전처리되고 모델의 long-context window에 맞게 포맷됩니다.

파라미터 θ를 가진 대형 언어 모델(LLM) M은 문서 D를 처리하여 사전 계산된 KV 캐시로 변환합니다

CKV=KVEncode(D)C_{KV} = KV-Encode(D)

KV 캐시는 LLM의 추론 상태를 캡슐화하며 나중에 사용을 위해 디스크나 메모리에 저장됩니다.

문서 D를 처리하는 데 필요한 계산 비용은 최초 한 번만 소요되며, 이후의 쿼리 수에 관계없이 재사용됩니다.

추론(Inference)

추론 단계에서 사전에 계산된 KV 캐시 CKVC_{KV}가 사용자 쿼리 Q와 함께 로드됩니다.
LLM은 이 캐싱된 컨텍스트를 활용하여 응답을 생성합니다:

R=M(QCKV)R = M (Q | C_{KV})

외부 지식을 미리 로드함으로써이 검색 지연(latency)을 없애고 동적 검색에서 발생할 수 있는 오류나 누락의 위험을 줄일 수 있습니다.

결합된 프롬프트 P = Concat(D, Q)는 외부 지식과 사용자의 쿼리에 대한 통합된 이해를 보장합니다.

캐시 초기화(Cache Reset)

시스템 성능을 여러 추론 단계 동안 유지하기 위해 메모리에 저장된 KV 캐시는 효율적으로 리셋할 수 있도록 설계되어 있습니다.

KV 캐시는 새로운 토큰 t₁, t₂, ... , tₖ이 순차적으로 추가되면서 추가 전용(append-only) 방식으로 grow하므로, 리셋은 이 새로운 토큰들을 잘라내는 방식으로 수행됩니다:

Cᵣₑₛₑₜₖᵥ = Truncate(Cₖᵥ, t₁, t₂, ... , tₖ) (3)

이 방법을 통해 캐시 전체를 디스크에서 다시 로드하지 않고도 빠르게 초기화할 수 있어 지속적인 속도와 응답성을 보장합니다.


CAG는 기존 RAG 시스템에 비해 몇 가지 중요한 이점을 제공합니다:

Reduced Inference Time: realtime retrieval을 제거함으로써 추론 프로세스가 더 빠르고 효율적으로 진행되어 사용자 쿼리에 대한 응답 시간이 단축됩니다.

Unified Context: 전체 지식 컬렉션을 LLM에 사전 로드하여 문서에 대한 전체적이고 일관된 이해를 제공하며 다양한 작업에서 응답 품질과 일관성을 향상시킵니다.

Simplified Architecture: 검색기와 생성기를 통합할 필요가 없어 시스템이 더 단순화되고, 복잡성이 줄어들며 유지 관리성이 향상되고 개발 비용이 낮아집니다.

Experiment


~85k 정도의 토큰을 가진 데이터 셋을 이용하여 비교 실험을 수행했음.

128k tokens을 받을 수 있는 Llama 3.1 8B를 사용했음.

CAG의 유무에 따라 매우 큰 차이의 생성 속도를 확인할 수 있다

정확도 역시 더 높은 것을 확인할 수 있다

profile
AI Researcher

0개의 댓글