CARROT: A Learned Cost-Constrained Retrieval Optimization System for RAG

이 논문은 RAG 시스템이 직면한 청크 간 관계 무시, 비단조적 유틸리티, 그리고 쿼리별 적응성 부재 문제를 해결하기 위해 몬테카를로 트리 탐색 (MCTS) 기반 최적 조합 탐색, 예산 소진 대신 유틸리티 기반 종료 조건, 그리고 쿼리 도메인별 최적 설정을 예측하는 에이전트를 도입한 'CARROT' 프레임워크를 제안하고, 이를 통해 기존 모델 대비 최대 30% 의 성능 향상을 입증했습니다.

Ziting Wang, Haitao Yuan, Wei Dong, Gao Cong, Feifei Li

게시일 Fri, 13 Ma
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🥕 CARROT: 인공지능을 위한 똑똑한 재료 고르기 시스템

1. 문제점: 왜 기존 방식은 실패할까요?

기존의 검색 시스템 (RAG) 은 인공지능이 질문에 답할 때 필요한 정보를 찾아내는 역할을 합니다. 하지만 기존 방식에는 세 가지 큰 문제가 있었습니다.

  • 문제 1: 재료의 순서를 무시함 (Relationships)

    • 비유: 레시피에 "소금"과 "후추"가 필요하다고 해서, 소금을 먼저 넣고 후추를 나중에 넣든, 반대로 넣든 상관없다고 생각한 적이 있나요? 하지만 요리에서는 순서가 중요하죠.
    • 현실: 기존 시스템은 관련 문서를 찾아서 그냥 뭉개서 넣었습니다. 하지만 문서를 어떤 순서로 배치하느냐에 따라 인공지능의 답변 품질이 크게 달라집니다. (중요한 정보가 중간에 숨겨지면 인공지능이 놓쳐버릴 수 있습니다.)
  • 문제 2: 많이 넣을수록 좋은 건 아닙니다 (Non-monotonicity)

    • 비유: 스테이크를 먹을 때 고기만 1kg 을 먹으면 배가 부르지만, 소금까지 1kg 더 넣으면 먹을 수 없게 되죠. "많으면 무조건 좋다"는 법칙이 통하지 않습니다.
    • 현실: 불필요한 정보를 너무 많이 넣으면 인공지능이 핵심을 놓치거나 헷갈려서 엉뚱한 답을 합니다. (할루시네이션)
  • 문제 3: 모든 질문이 똑같지 않음 (Diversity)

    • 비유: "오늘 날씨 어때?"라는 간단한 질문과 "2024 년 경제 전망"이라는 복잡한 질문에 같은 방식으로 자료를 찾는 건 비효율적입니다.
    • 현실: 질문의 종류마다 최적의 검색 전략이 다릅니다. 하지만 기존 시스템은 모든 질문에 똑같은 방식을 적용했습니다.

2. 해결책: CARROT 가 어떻게 작동하나요?

CARROT 는 이 세 가지 문제를 해결하기 위해 세 가지 핵심 기술을 사용합니다.

① 나무를 타고 올라가는 탐색 (MCTS - 몬테카를로 트리 탐색)

  • 비유: 미로 찾기 게임을 한다고 상상해 보세요. 모든 길을 다 걸어보는 건 시간이 너무 걸립니다. 대신, "여기서 오른쪽으로 가면 보물일 확률이 높겠다"라고 추측하며 가장 유망한 길만 골라가며 탐색합니다.
  • 설명: CARROT 는 가능한 모든 문서 조합을 다 시도하는 게 아니라, 가장 좋은 조합을 찾아내기 위해 나무 가지처럼 뻗어나가는 경로를 지능적으로 탐색합니다. 이때 문서들의 순서와 상관관계를 고려해서 "어떤 문서를 먼저 넣고, 어떤 걸 나중에 넣으면 가장 맛있는 요리가 될까?"를 계산합니다.

② 예산을 아끼는 똑똑한 선택 (Cost-Constrained)

  • 비유: 마트에서 장을 볼 때, "무조건 많이 사야지"가 아니라 "내 지갑에 있는 돈 (예산) 안에서 가장 맛있는 식재료를 고르자"라고 생각합니다.
  • 설명: 인공지능이 읽을 수 있는 글의 양 (토큰 수) 은 정해져 있습니다. CARROT 는 예산을 다 쓸 때까지 무조건 더 넣는 게 아니라, 예산 안에서 가장 좋은 조합을 찾으면 바로 멈춥니다. 불필요한 정보는 과감히 버려서 인공지능이 핵심만 집중하게 합니다.

④ 질문을 분석하는 '매니저' (Configuration Agent)

  • 비유: 레스토랑에 손님이 들어오면, 매니저가 "이 손님은 간단한 음료만 원하네, 저 손님은 복잡한 코스 요리를 원하네"라고 파악해서 주방에 맞는 지시를 내립니다.
  • 설명: CARROT 에는 **매니저 (Configuration Agent)**라는 역할이 있습니다. 이 매니저는 들어온 질문을 분석해서, "이 질문에는 어떤 검색 도구를 쓰고, 몇 번 탐색을 해야 할지"를 미리 예측합니다. 그래서 복잡한 질문에는 더 꼼꼼하게, 간단한 질문에는 빠르게 대응합니다.

3. 결과: 얼마나 좋을까요?

실험 결과, CARROT 는 기존 최고의 시스템들보다 약 30% 더 좋은 답변을 내놓았습니다.

  • 더 정확함: 불필요한 정보 없이 핵심만 골라내서 답변의 정확도가 높습니다.
  • 더 빠르고 저렴함: 인공지능이 읽어야 할 글의 양을 줄여서 비용과 시간을 아껴줍니다.
  • 유연함: 어떤 종류의 질문이 들어와도 상황에 맞춰 최적의 전략을 사용합니다.

📝 한 줄 요약

CARROT는 인공지능이 정보를 찾을 때, "무조건 많이 찾는 것"이 아니라 "순서도 고려하고, 예산도 지키며, 질문의 성격에 맞춰 똑똑하게 골라내는" 최고의 비서 역할을 해주는 시스템입니다.