• Turing Post Korea
  • Posts
  • Topic #27: CoA(Chain-of-Agents), CoRAG(Chain-of-RAG)은 무엇인가?

Topic #27: CoA(Chain-of-Agents), CoRAG(Chain-of-RAG)은 무엇인가?

Long Context 및 멀티홉 (Multi-hop) 추론을 위해서 구글, 마이크로소프트가 고안한 또 다른 'Chain' 기법

글을 시작하며

AI, 점점 더 깊이, 더 단계적으로 추론을 수행하는 방향으로 발전하고 있죠? 그와 함께 다양한 ‘Chain-of-…’라는 이름이 붙은 기법들이 계속해서 등장하고 있습니다. 튜링 포스트에서도 Chain-of-Knowledge 기법을 다뤘지만, 최근에도 새로운 ‘체인’들이 속속 나오고 있네요.

오늘은 구글의 Cloud AI Research 팀, 그리고 마이크로소프트에서 발표한 두 가지의 최신 기법, Chain-of-Agents (CoA), 그리고 Chain-of-Retrieval Augmented Generation (CoRAG)을 살펴보고자 합니다.

이 두 가지 방법은 Long-Context 문제를 해결하기 위한 기법이지만, 그 접근 방식은 다른데요.

구글의 CoA멀티 에이전트(Multi-Agent) 프레임웍을 활용해서, 개별적인 ‘작업 에이전트(Worker Agent)’들이 텍스트를 순차적으로 처리하는 구조화된 체인 방식을 채택하고 있는 반면에, 마이크로소프트의 CoRAG반복적 검색(Iterative Retrieval) 기법을 활용해서 멀티홉(Multi-Hop) 추론 능력을 강화하는 방법을 제안합니다.

CoA나 CoRAG 같은 최신 기법을 이해한다면 AI가 복잡한 추론도 잘 하도록 할 수 있겠죠. 자, 이 새로운 ‘체인’ 기법들이 AI 모델의 정확도와 품질에 어떤 영향을 미치는지 자세히 알아볼까요?

오늘 AI 101 에피소드는 다음과 같은 내용을 다룹니다:

구글 CoA는 뭐고, 어떤 생각으로 만들어졌나?

여러분도 몸담고 계신 회사라든가 주변에서 AI를 사용해서 뭔가 만들어본 적이 있으신가요? 아무리 최신의 AI 모델을 사용하더라도, 긴 맥락(Long Context)을 다루는 작업, 예를 들어 책 한 권, 긴 기사, 장문의 대화와 같은 경우는 여전히 만만치 않죠.

보통 가장 많이 언급되는 해결책 중 하나는 모델의 메모리를 확장하는 것, 다시 말해서 컨텍스트 윈도우(Context Window)를 늘리는 것이겠구요. 그렇지만, 입력의 길이가 길어질수록 - 처리는 할 수 있다고 하더라도 - 모델이 핵심 정보를 놓치는 문제가 발생할 수 있구요.

다른 방법으로는 입력을 짧게 줄이는 것, 즉 텍스트에서 가장 중요한 부분만 선택하는 방법이 있습니다. 여기서 RAG(Retrieval-Augmented Generation) 기법을 활용하면 효과적으로 정보를 검색할 수 있기는 하지만, 이 방법 역시 중요한 정보를 잃어버릴 위험이 있습니다.

그래서, 해결책이 뭘까?

구글의 Cloud AI Research팀과 펜실베이니아 주립대학교(Penn State University) 연구자들이 RAG이라든가, 전체 컨텍스트를 사용하는 방식 (Full-Context Models), 그리고 멀티 에이전트 LLMs 등의 방법보다 더 나은 방법을 찾기 위해서 새로운 전략을 제안했는데요. 바로 사람이 긴 텍스트를 단계적으로 처리하는 방식에서 영감을 얻어 고안한, Chain-of-Agents (CoA) 프레임웍입니다.

CoA는 하나의 모델에 의존하는 대신에, 여러 개의 AI 에이전트가 협력해서 무제한의 텍스트를 처리할 수 있도록 설계된 방식입니다.

사실 여러 에이전트가 협력하는 개념 자체는 새로운 것이 아니죠. 연구자들은 CoA만의 차별점을 만들어내는 몇 가지 핵심 전략을 집어넣었는데요. 대부분 기존의 방법들은 트리(Tree) 구조를 사용해서 개별 에이전트가 독립적으로 작업하는 방식 (예: LongAgent)을 채택하고 있습니다. 반면에, CoA는 체인(Chain) 구조를 기반으로 해서 ‘순서’를 강력하게 유지하면서도, 에이전트 간의 정보 공유를 보장해서 정확도를 높이는 방식을 택합니다.

자, 그렇다면 CoA는 실제로 어떻게 작동할까요? 지금부터 한 번 살펴보겠습니다.

CoA는 어떻게 작동하나?

Chain-of-Agents (CoA) 프레임웍은 긴 텍스트를 ‘두 단계’에 걸쳐서 단계적으로 처리합니다.

1단계: 작업 에이전트(Worker Agents)가 정보를 나누어서 처리

  1. 긴 문서를 더 작은 조각 (Chunk)으로 나누어서 처리하기 쉽게 만듭니다.

  2. 각각의 작업 에이전트(Worker Agent)할당된 텍스트 조각을 읽고 분석합니다.

  3. 작업 에이전트들은 순차적으로 정보를 전달하며 서로 소통하는데, 이걸 "커뮤니케이션 유닛(Communication Unit)"이라고 부릅니다.

  4. 이런 소통의 과정을 통해서 문서 전체에 대한 종합적인 이해를 형성합니다.

즉, 각각의 작업 에이전트는 하나의 텍스트 조각을 분석하고, 이전 에이전트의 결과를 합치고 다음 에이전트에게 전달하는 방식으로 작동합니다. 그렇다면, 작업 에이전트들은 각기 다른 성격의 작업에서 뭘 처리하는 걸까요?

  • 질문 답변(Q&A)의 경우
    각 작업 에이전트가 자신에게 할당된 조각에서 증거 (Evidence)를 추출합니다.

  • 요약(Summarization)의 경우
    각 작업 에이전트가 할당된 부분을 요약합니다.

  • 코드 완성(Code Completion)의 경우
    코드의 기능이나 클래스 정보를 포함해서 코드를 요약합니다.

이 단계가 어떻게 작동하는지 간단한 예를 들어보겠습니다.

  • 첫 번째 텍스트 조각에서 질문에 대한 완전한 답을 제공할 수 없다면, 첫 번째 작업 에이전트는 관련 단서를 수집합니다.

  • 다음 작업 에이전트는 이 단서를 활용해서 답변을 더욱 정교하게 다듬습니다.

  • 특정한 조각이 유용한 정보를 포함하지 않는다고 판단되는 경우, 해당 작업 에이전트는 불필요한 내용을 추가하지 않고 이전 에이전트의 결과만 전달합니다.

이렇게 단계적으로 처리하는 구조 덕분에, 개별 에이전트들이 ‘독립적으로 작동’하는 기존 방법과 달리 중요한 정보가 누락되지 않도록 보장할 수 있습니다.

Image Credit: CoA 논문

2단계: 매니저 에이전트(Manager Agent)가 결과를 종합해서 최종 답변을 생성

  1. 작업 에이전트(Worker Agents)들이 모든 처리를 마친 후, 매니저 에이전트(Manager Agent)가 개입합니다.

  2. 매니저 에이전트는 마지막의 작업 에이전트로부터 모든 분석 결과를 수집합니다.

  3. 수집된 정보를 바탕으로 최종 답변 (예: 질문에 대한 답, 요약, 코드 완성 등)을 생성합니다.

‘매니저 에이전트’라는 존재를 만듦으로써, ’텍스트 분석’과 ‘답변 생성’이라는 두 가지의 작업이 분리되게 되고, 각 에이전트가 자신의 역할에 집중할 수 있는 환경이 마련됩니다.

CoA의 품질은 어떤가?

Long-Context를 CoA 기법으로 얼마나 잘 처리할 수 있는지 평가를 해 보기 위해서 세 가지 유형의 작업에서 테스트를 했는데, 바로 질문 답변 (QA), 요약 (Summarization), 코드 완성 (Code Completion) 이 세 가지입니다. 결과는 아래와 같이 나타났는데요:

  • 질문 답변 (긴 텍스트에 대한 이해 및 추론 능력)

    • CoA 기법이 전체 컨텍스트를 처리하는 모델의 경우나 RAG의 경우보다 모든 데이터셋에서 일관되게 더 높은 성능을 기록했습니다.

    • 주요한 성능 향상 수치를 보면, NarrativeQA (긴 서사형 텍스트를 이해하고 답변을 생성하는 능력)에서 13.3% 성능 향상, MuSiQue (멀티 홉 추론)에서 12.82% 성능 향상, QuALITY (긴 문맥을 기반으로 한 심층적인 언어 이해 및 추론 능력)에서 22% 성능 향상 수치를 보여줬습니다.

    • 심지어 32k 컨텍스트 윈도우를 가진 Gemini Ultra와 비교했을 때도, 8k 컨텍스트 윈도우를 가진 CoA가 더 나은 성능을 보여줬습니다.

  • 요약 및 코드 완성

    • CoA 기법이 모든 데이터셋에 걸쳐서 기본 모델 및 RAG 기법을 사용했을 때보다 우수한 성능을 보여줬습니다.

    • 특히, RAG는 GovReport (긴 정부 보고서에서 핵심 정보를 추출하는 과제)에서 좋은 성능을 보여주지 못했는데, CoA는 이 상황에서도 크게 차이나는 높은 성능을 보여줬습니다.

Image Credit: CoA 논문

CoA는 Claude 3 (20만 토큰 처리 가능) 같은 Long-Context 모델과 다른 멀티 에이전트 프레임워크의 성능을 능가하는 모습을 보여줍니다. 작업 에이전트들이 서로 직접적으로 소통하지 않고 매니저 에이전트에게 전달만 하는 트리 구조의 계층적 기법이라든가, 각각의 작업 에이전트가 독립적으로 답변을 생성하고 최종 결과를 다수결로 선택하는 기법 등과 비교했을 때, CoA가 훨씬 뛰어난 성능을 보여줍니다.

Image Credit: CoA 논문

이런 인상깊은 결과를 보고 나면, 질문이 떠오르죠: “CoA가 이렇게 Long-Context를 다룰 때 RAG 등 다른 기법을 크게 앞지르는 성능을 보여줄 수 있는 건 왜 그럴까?” 하는 질문이요.

CoA의 장점, 그리고 RAG 등 다른 기법보다 나은 이유

긴 텍스트를 처리하는데 있어서 특별히 CoA가 가진 장점은 다음과 같습니다:

  • CoA는 정확한 답변을 더 잘 찾습니다
    RAG는 Re-ranking 결과 크게 의존하기 때문에 검색된 청크들 중에서 답변이 더 빨리 나타날 때만 좋은 성능을 보여주는 반면에, CoA는 까다로운 검색 시나리오에서도 훨씬 더 유연하게 견고하게 작동합니다.

  • CoA의 성능은 입력의 길이가 증가하면서 함께 향상됩니다
    예를 들어, 입력의 길이가 40만 토큰을 초과하면 CoA는 베이스라인 대비 최대 100% 향상된 성능을 보여줍니다.

  • CoA는 ‘중간에서 길을 잃는’ 오류를 최대 21%까지 줄여 줍니다
    일반적으로 AI 모델이 주어진 텍스트의 앞부분과 뒷부분에 비해 중간 부분의 정보를 상대적으로 덜 주목하거나, 앞뒤 맥락과의 연관성을 제대로 파악하지 못하는 일이 발생하는데, CoA는 여러 에이전트가 협업하는 구조 덕분에 이런 문제를 줄여줍니다.

  • 멀티 홉 추론 같은 복잡한 추론 작업을 효과적으로 처리합니다
    여러 에이전트가 협력해 가면서 추론을 하는 단계적 접근 방식 때문에, CoA는 근본적으로 이런 형태의 작업에서 RAG보다 뛰어난 성능을 보여줍니다 - RAG은 질의와의 유사성을 기반으로 텍스트 청크를 검색하므로, 멀티 홉 추론을 처리하는게 어렵죠.

Image Credit: CoA 논문

  • ‘병렬 처리’에 따른 계산 시간 단축
    CoA는 RAG과 대비해서 병렬 에이전트를 활용해서 실행 시간을 57.21% 단축할 수 있습니다.

  • 정보 손실의 최소화
    에이전트 간 통신 과정에서 발생하는 정보 손실은 1~4% 수준으로 낮습니다.

  • 추가 학습 불필요
    기존의 LLM과 함께 바로 사용할 수 있습니다.

이렇게 CoA가 장점이 많은 기법임에는 분명하지만, 물론 한계도 있습니다.

CoA의 한계점

아래에서 CoA 기법에서 개선이 필요한 몇 가지 한계점을 확인할 수 있습니다:

  • 여러 개의 에이전트를 실행하는 것이 비용과 시간 측면에서 자원이 많이 들어갈 수 있습니다.

  • 에이전트 간의 구조화된 커뮤니케이션 방식이, 토론이나 복잡한 논의를 하도록 하는 기법과 비교한다면 역동성이 떨어질 수 있습니다.

  • 현재 대부분의 모델들이 사람과의 커뮤니케이션을 염두에 두고 설계되어 있어서, AI 간의 상호작용 (AI-to-AI Communication)에는 최적화되지 않은 상태죠. 그래서 CoA 에이전트 간의 전체적인 상호작용 품질에 영향을 줄 수 있습니다.

이런 한계점이 있음에도 불구하고, 구글의 Cloud AI Research 팀과 펜실베이니아 주립대학교에서 제안한 이 CoA가 아주 강력하고 유연한 프레임웍이다라는 사실에는 이의를 제기하기 힘듭니다. 그래서, 앞으로의 추가 연구, 그리고 CoA를 활용한 다양한 사례가 어떤 것들이 나올지 기대가 됩니다.

자 그렇다면, 마이크로소프트에서 고안한 기법은 어떤 걸까요?

마이크로소프트의 CoRAG은 뭐고, 어떤 생각으로 만들어졌나?

여러분도 잘 아시듯이, RAG은 여러 가지 한계점이 많은 기법입니다. 특히 정보를 단계적으로 처리하지 않게 되어 있고, Long-Context 작업에서는 성능이 떨어지고, 멀티 홉 추론에서 아주 좋은 성능을 보이지 못한다는 점 등이 많이 지적되곤 하죠. 반면에, 위에서 이야기한 CoA는 이런 문제들을 효과적으로 해결해 주는 기법인데요. 같은 문제들을 해결하기 위한 또 다른 기법, 바로 마이크로소프트와 중국 인민대학교의 연구자들이 제시한 CoRAG 입니다.

CoRAG는 일단, 단계적 검색 (Step-by-Step Retrieval) 시스템인데요. 기존의 RAG와는 다르게, CoRAG는 모델이 정보를 한 번에 검색하는 대신 단계적으로 검색할 수 있도록, 그리고 검색 과정을 다이나믹하게 조정할 수 있도록 합니다. 더불어, 검색 체인(Retrieval Chains)을 더 효과적으로 구축하게끔 특별히 학습을 시켰고, 검색 단계를 조절하고 각 검색 체인의 길이를 제어할 수 있습니다. 다시 말해서, 사용하는 연산 자원의 양을 효율적으로 조절할 수 있는 기능을 갖추고 있다는 겁니다.

이런 이유로, CoRAG는 기존 RAG 및 다른 모델들보다 월등한 성능을 보여주고, 특히 긴 입력을 다루는 작업(Long-Context Tasks)과 멀티 홉 질문 같은 복잡한 추론(Multi-Hop Reasoning) 작업 등에서 강력한 성능을 발휘합니다. 기존의 강력한 베이스 모델들과 비교해도 정확도를 10포인트 이상 향상시켰다고 합니다.

자, 그럼, 이 새로운 모습의 RAG는 어떻게 작동하는 건지, 지금부터 살펴보겠습니다.

CoRAG는 어떻게 작동하나?

CoRAG 프레임웍은 복잡한 검색 과정을 단계별 검색 체인(Step-by-Step Retrieval Chains)으로 분해해서, AI 모델이 정보를 검색하고 처리하는 방식을 개선한 기법입니다. 이 기법이 효과적으로 작동하게 하려면 세 가지 주요 구성 요소/작업이 필요합니다.

1. 검색 체인 생성(Retrieval chain generation)

기존 대부분의 RAG 방식은 중간 검색 단계를 포함하지 않는데, CoRAG는 거부 샘플링 (Rejection Sampling) 방법을 사용해서 자동으로 검색 체인 (Retrieval Chains)을 생성합니다. 이 검색 체인은 서브 쿼리(Q1, Q2, ... QL)와 서브 답변(A1, A2, ... AL)으로 이루어진 일련의 과정으로, 최종 답변을 도출하는 데 도움이 됩니다.

작동 방식은 다음과 같습니다.

  • 서브 쿼리 생성
    CoRAG는 모델에게 더 작은 범위의 질문을 생성하도록 요청, 검색 과정을 단계적으로 가이드합니다.

  • 관련 정보 검색
    CoRAG는 각 서브 쿼리에 대해 데이터베이스를 검색하고, 가장 관련성이 높은 문서를 수집합니다.

  • 서브 쿼리 답변 생성
    검색된 문서를 바탕으로 해서, CoRAG는 각 단계의 답변을 생성합니다.

  • 검색 체인 구축
    이 과정은 최종 답변이 도출되거나, 설정된 최대 검색 단계에 도달할 때까지 반복됩니다.

  • 최적의 검색 체인 선택
    CoRAG는 생성된 모든 검색 체인을 평가해서, 정확한 답변을 가장 잘 뒷받침하는 체인을 선택합니다.

CoRAG가 검색 체인을 생성한 후에는, 이를 모델이 더 효과적으로 학습할 수 있도록 구조화된 방식으로 학습하게 합니다.

Image Credit: CoRAG 논문

2. 데이터셋으로 모델을 훈련

각각의 트레이닝 예제를 세 가지의 요소 - 1) 원래의 질문과 최종 답변, 2) 검색 체인, 3) 각 검색 단계에서 추출된 최상위 관련 문서 - 로 구성하게 됩니다.

CoRAG는 모델이 다음 세 가지 작업을 동시에 학습할 수 있도록 해 줍니다.

  • 다음 서브 쿼리 예측
    검색 체인에서 다음 질문을 생성하는 방법을 학습합니다.

  • 서브 답변 예측
    검색된 문서에서 유용한 정보를 추출하는 방법을 학습합니다.

  • 최종 답변 예측
    이전 모든 단계를 종합해서 정확한 최종 답변을 도출하는 방법을 학습합니다.

이렇게 중간 검색 단계를 학습 데이터로 활용해서, CoRAG는 AI 모델이 더 효과적으로 검색하고 추론할 수 있도록 훈련을 시킵니다. 이런 과정을 거치고 나면, Long-Context를 포함한 복잡한 질문을 맞닥뜨리더라도 답변의 정확도를 향상시킬 수 있습니다.

3. 테스트 타임 (Test-Time)에 연산량을 제어

이 단계는 정확도와 속도의 균형을 맞추는 역할을 합니다. 모델이 검색에 사용하는 연산량을 조절하면서도 성능을 유지할 수 있도록 하는 거죠. CoRAG는 연산량을 제어하기 위해서 세 가지 전략을 사용합니다.

  • Greedy Decoding: 가장 빠른 속도를 위한 전략
    모델이 고정된 단계별 검색 방식을 따르고, 여러 가지의 가능성을 탐색하지 않습니다. 가장 빠른 방법이지만, 초기의 검색 결과가 부실할 경우에는 더 나은 답변을 놓칠 위험이 있습니다.

  • Best-of-N 샘플링: 균형 잡힌 접근법
    모델이 N개의 서로 다른 검색 체인(Retrieval Chains)을 생성하고, 그 중에 가장 적절한 체인을 선택합니다. 최적의 체인을 결정할 때, 관련성이 낮은 정보를 검색한 체인에 페널티를 부과합니다. 위에서 설명한 Greedy Decoding 방법보다 성능은 더 강력하면서도 연산량을 적절히 유지할 수 있습니다.

  • 트리 서치: 정확성을 극대화하는 전략
    모델이 여러 개의 검색 체인을 병렬로 탐색하면서 유망한 검색 경로를 확장하고, 약한 검색 경로를 제거합니다. 이 방법은 아주 효과적이고 정확하지만, 더 많은 검색 단계를 처리해야 하기 때문에 속도가 느려질 수 있습니다.

CoRAG는 속도와 정확도를 최적화하기 위해서 검색 단계 수와 검색 경로를 조정할 수 있고, 트리 서치의 깊이 (Tree Search Depth)를 미세하게 조정할 수도 있습니다. 바로 단순한 질문은 빠르게 답변하고, 복잡한 질문은 불필요한 연산 없이 깊이 있는 분석을 수행할 수 있도록 보장하기 위한 도구들이죠.

종합적으로, CoRAG는 검색 과정을 다이나믹하게 조정해서 각 단계에서 더 스마트한 결정을 내리도록 합니다. 첫 번째 검색에서 유용한 정보를 찾지 못하면, 쿼리를 다시 작성하고 검색을 정제, 반복적으로 시도합니다 - 어때요, 사람들이 복잡한 주제를 연구하는 방식과 유사해 보이지 않나요?

CoRAG의 성능은 어떤가?

CoRAG의 중요한 목표 중 하나가 바로 멀티 홉 추론 (Multi-Hop Reasoning) 문제를 해결하는 것이죠. 연구자들은 CoRAG이 정말 이 문제를 잘 해결하는지 검증해 보기 위해서 다단계 질문 답변 (Multi-Step Question Answering) 작업KILT (Knowledge-Heavy Tasks) 벤치마크에서 CoRAG를 테스트했습니다.

실험 결과, CoRAG 접근 방식이 이런 작업에서 뛰어난 성능을 발휘한다는게 확인되었구요. 특히, CoRAG-8B 모델이 더 큰 모델들과 비교해도 우수한 성능을 기록한 점이 주목할 만합니다. 예를 들어서, MuSiQue 데이터셋에서 약 13% 이상 높은 성능을 보여주면서 선두를 차지했습니다.

Image Credit: CoRAG 논문

Image Credit: CoRAG 논문

다음은 CoRAG의 성능에 영향을 미칠 수 있는 요소들에 대한 몇 가지 중요한 연구 결과입니다.

  • 검색 체인의 길이를 늘리면 초반에는 성능이 크게 향상되지만, 일정 지점을 지나면 성능의 향상 속도가 둔화됩니다.

  • 더 많은 검색 단계를 추가하면 추론 능력이 향상되지만, 과도한 검색 단계는 자연스럽게 연산 자원의 낭비로 이어질 수 있습니다.

  • Best-of-N 샘플링에서 N 값을 증가시키는 것은 데이터셋에 따라 다른 영향을 미칩니다.

    • MuSiQue 같이 난이도가 높은 데이터셋에서는 더 큰 N 값이 정확도를 높이는 데 도움이 됩니다.

    • 2WikiMultihopQA와 같은 쉬운 데이터셋에서는 작은 N 값으로도 충분한 성능을 낼 수 있습니다.

자, 그럼 CoRAG의 장점들을 정리해 보죠.

CoRAG의 장점

  • 검색 체인을 기반으로 한 파인튜닝(Fine-tuning on Retrieval Chains): CoRAG는 멀티 홉 QA 데이터셋과 같은 복잡한 추론 작업에서, 기존의 Few-Shot 러닝 기법 대비 이점이 큽니다.

  • CoRAG는 반복 훈련 (Iterative Training)을 통해서 자체의 검색 프로세스를 지속적으로 개선할 수 있습니다.

  • 테스트 타임 연산량 (Test-Time Compute)을 다이나믹하게 조정 가능: 사용자는 작업의 난이도에 따라 정확도와 효율성 사이의 균형을 조절할 수 있습니다.

  • 약한 검색기(Retriever)를 사용하더라도 테스트 시점에서 연산량을 늘리면 성능이 향상됩니다. 물론, 강력한 검색기가 일반적으로 가장 좋은 성능을 보여주죠.

  • 작은 모델을 사용하면 계산 비용을 줄일 수 있으면서 성능 저하도 그렇게 크지 않습니다.

물론, 중요한 한계점도 여전히 가지고 있습니다.

CoRAG의 한계점

  • 높은 연산 비용: CoRAG는 여러 차례의 검색 단계를 수행해야 하기 때문에, 더 많은 GPU 타임이 필요합니다.

  • CoRAG는 미리 정의된 횟수만큼 검색을 수행하고, 정답을 이미 찾았더라도 검색을 계속 진행합니다. 따라서 모델이 언제 검색을 멈춰야 하는지를 학습할 필요가 있습니다.

  • 싱글 홉 QA (Single-Hop QA) 데이터셋에서는 성능 향상이 미미합니다. 추가적인 검색 단계가 연산량만 증가시키고, 정확도 향상에는 큰 의미가 없을 수 있습니다.

  • 추론 체인 (Reasoning Chains)을 정제하기 위한 추가 학습이 항상 효과적인 것은 아닙니다.

이런 문제를 해결하고 기법을 더 발전시키려면, CoRAG에 추가로 적응형(Adaptive) 메커니즘이라든가 조기 종료(Early Stopping) 기법 등을 적용, 개선할 필요가 있습니다.

맺으며

CoA, 그리고 CoRAG에 대해서 알아봤는데요.

두 가지 기법 모두 Long-Context를 더 잘 처리할 수 있게 하기 위해서 설계한 방법이지만, 각각 장점이 발휘되는 영역은 다릅니다. CoA는 엄청나게 긴 텍스트를 처리하는 데 강력한 성능을 보여주는데, 특히 "중간 정보의 손실 (Lost-in-the-Middle)"이 발생하는 문제를 잘 해결해 주고, 복잡한 멀티 홉 추론 (Multi-Hop Reasoning) 작업에서도 뛰어난 성능을 보입니다. 반면에, CoRAG는 기존의 RAG 기법을 크게 향상시켜주는 기법인데, 검색 체인 확장 (Retrieval Chain Augmentation), 그리고 반복 검색 (Iterative Retrieval) 기법으로 멀티 홉 추론의 정확도를 높이고, Long-Context를 처리하는 작업에서도 성능을 향상시켜 줍니다.

CoA와 CoRAG 모두 기존의 RAG 기법보다 우수하지만, 각각의 ‘특장점’이 다릅니다:

  • 복잡한 검색 기반의 멀티 홉 추론을 포함하는 경우에는, CoRAG가 더 적합합니다. 멀티 홉 작업에서 CoRAG는 CoA (+12.82%)보다 약간 더 높은 개선의 폭 (+13% 이상, MuSiQue 벤치마크 기준)을 보여줬습니다.

  • 엄청나게 긴 텍스트를 효율적으로 처리해야 하는 경우라면, CoA가 더 우수합니다. CoA는 멀티 에이전트의 협업 (Multi-Agent Collaboration) 구조로 긴 텍스트를 효과적으로 처리합니다.

자, 여러분이 만들고 싶은 AI 어플리케이션에는 어떤 기법이 더 적합한 것 같으세요?

읽어주셔서 감사합니다. 친구와 동료 분들에게도 뉴스레터 추천해 주세요!

Reply

or to participate.