AI

태태개발일지 - Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 리뷰

태태코 2026. 5. 17. 14:35
반응형

 

RAG의 필요성

기존의 AI 모델들은 수많은 지식을 스스로의 파라미터에 저장하고 있지만, 새로운 지식을 업데이트하기 어렵고, 사실이 아닌 내용을 진짜처럼 말하는 '환각(Hallucination) 현상'을 겪는다는 단점이 있었다.

 

 이를 해결하기 위해 외부 백과사전 같은 곳에서 지식을 가져와 사용하는 기술이 등장했는데, 기존 모델들은 단순히 문서에서 답이 만한 부분을 '추출(Extract)'하는 그쳤다.

RAG 여기서 나아가, 정보를 찾아온 아예 새로운 문장으로 '생성(Generate)'하는 방식 도입했다.

 

RAG의 동작방법

  1. 사용자가 질문을 한다.
  2. 검색기 (Retriever - DPR 모델 사용): 사용자가 질문을 던지면, 외부 문서 창고에서 질문과 가장 관련이 높은 문서 몇 개를 찾아온다.
  3. 생성기 (Generator - BART 모델 사용): 검색기가 찾아온 문서들과 사용자의 질문을 함께 읽어보고, 이를 바탕으로 최종 답변을 텍스트로 만들어낸다.

 

RAG의 학습 방법과 디코딩

  • 동시 학습: 검색기와 생성기는 따로따로 훈련받는 것이 아니라 동시에 훈련을 받습니다. 개발자가 " 문서를 찾아와!"라고 직접 정답을 주지 않아도, AI 최종 답변을 맞추는 방향으로 스스로 훈련하다 보면 검색기도 알아서 '도움이 되는 문서' 찾아오게끔 똑똑해집니다.
  • Fast Decoding: RAG-Sequence 모델의 경우, 모든 경우의 수를 계산하면 시간과 비용이 너무 많이 들기 때문에, 발견되지 않은 확률 값은 0으로 처리해버리는 'Fast Decoding(빠른 디코딩)'이라는 효율적인 꼼수를 사용하여 답변을 산출합니다.

RAG시나리오

  1. RAG 모델은 먼저 사용자의 질문(x) 받는다.
  2. 그러면 질문에 대답하기 위해 외부 백과사전(external knowledge corpus)을 뒤져서, 질문과 가장 관련이 높은 문서(d)를 정해진 개수(k)만큼 검색해서 가져온다(retrieve).
  3. 이후, 처음 받았던 질문(x)과 방금 찾아온 문서(d) 내용을 함께 읽어본 뒤, 이를 바탕으로 최종 답변(y)을 직접 만들어낸다(generate).


RAG 수식 해독: 검색기(Retriever)와 생성기(Generator) 

 

  • Retriever : "어떤 참고서가 좋을까?" 사용자의 질문() 주어졌을 , 도서관에서 가져온 참고서() 질문에 대답하는 얼마나 도움이 될지 확률(distribution) 계산하는 '검색기'의 역할.
  • Generator : "다음 단어는 쓸까?" 질문() 참고서(), 그리고 방금 전까지 답안지에 적어둔 단어들() 훑어보고 나서,  확률을 계산해 글자를 내려가는 '생성기' 역할

 

Marginalize

1번 참고서를 읽었을 때 정답일 확률, 2번 참고서를 읽었을 때 똑같은 정답일 확률, 3번 참고서를 읽었을 때 정답일 확률을 각각 구한 뒤, 이 확률들을 전부 다 더해서 "이 단어가 최종 정답일 총 확률"을 구하는 것. 이렇게 곱사건의 확률을 모두 더해 결과값을 하나로 뭉쳐주는 수학적 과정이 바로 Marginalize이다.

 

 

RAG 2개 모델의 차이

 

  • RAG-Sequence: 각각의 참고서를 바탕으로 일단 '답안지 전체(Sequence)' 끝까지 써본 다음, 마지막에 확률을 더해서(Marginalize) 제일 그럴싸한 최종 답안지를 고르는 방식.
  • RAG-Token: 답안지에 들어갈 '단어 하나(Token)' 때마다 매번 모든 참고서의 확률을 더해보고(Marginalize), 가장 적절한 단어를 선택해서 글자씩 채워나가는 방식.

1. RAG-Sequence 모델: "답안지 전체를 다 써보고 마지막에 합치기"

  • 방식: 1 참고서만 보고 일단 끝까지 '전체 답안 문장(Sequence)' 작성. 그다음 2 참고서만 보고 다른 전체 답안 문장을 작성. 이렇게 가져온 참고서 개수만큼 여러 개의 완성본 후보들을 만든다.
  • Marginalize(합치기): 완성된 '전체 문장 후보'들을 늘어놓고, 참고서에서 얻은 확률들을 번에 더해서(Marginalize) 최종적으로 가장 완벽한 문장 하나를 정답으로 제출한다.
  • 비유하자면: 참고서마다 각각 개별적인 초안을 끝까지 작성해 , 마지막에 초안들을 비교하고 점수를 합산해 최종 제출본을 고르는 방식.

2. RAG-Token 모델: "단어 한 글자씩 적을 때마다 매번 합치기"

  • 방식: 문장을 미리 써두는 것이 아니라, 답안지의 번째 단어(Token) 무엇으로 쓸지 결정하기 위해 1, 2, 3 참고서를 번에 모두 들여다본다
  • Marginalize(합치기): 모든 참고서가 추천하는 ' 번째 단어' 대한 확률을 더해서(Marginalize) 가장 적절한 단어 하나를 적는다.
  • 그다음 번째 단어 때도 다시 모든 참고서를 동시에 들여다보고 확률을 합쳐서 번째 단어를 적는다. 이렇게 단어씩 조합해 나가며 최종 문장을 완성(Sequence 생성) 나가는 방식이다.
  • 비유하자면: 답안지에 글자를 적을 때마다 책상에 펼쳐둔 모든 참고서를 번갈아 확인하며 신중하게 다음 단어를 결정해 나가는 방식이다.

 

DRP

 

DPR(Dense Passage Retriever) Bi-encoder (두 명의 요약 전문가) DPR RAG 모델에서 검색을 담당하는 핵심 시스템입니다

  • (질문 요약본): 사용자가 던진 질문(Query, ) AI 처리하기 쉬운 형태의 숫자(벡터) 변환해 것입니다.
  • (참고서 요약본): 외부 도서관에 있는 수많은 문서(Document, ) 핵심 내용 역시 AI 이해하기 쉬운 숫자(벡터) 변환해 둡니다.

2. 내적 연산 (궁합 점수 계산하기) 질문 요약본()과 문서 요약본()이 준비되었다면, 이 둘이 얼마나 관련이 있는지 알아봐야 한다. 이때 수학에서 말하는 '내적(Inner Product)'이라는 계산을 통해 두 값의 유사도를 구합니다. 쉽게 말해, 질문과 문서의 '궁합 점수'를 매기는 것으로, 내적 값이 높을수록 "이 참고서가 질문의 답을 찾는 데 아주 적합하다!"라는 뜻이 된다.

3. MIPS 알고리즘 (빛의 속도로 참고서 찾기) 도서관에 있는 수백만 권의 책과 질문의 궁합을 일일이 다 비교하려면 시간이 너무 오래 걸릴 것입니다. 그래서 궁합(내적) 값이 높은 상위 몇 개의 문서(top-k)만 순식간에 찾아오기 위해 'MIPS'라는 효율적인 초고속 검색 기술(알고리즘)을 사용한다

4. 똑똑한 상태로 투입 (미리 예습된 모델) 이 검색기(Bi-encoder)는 완전히 백지상태에서 업무를 시작하는 것이 아닙니다. TriviaQA Natural Question이라는 유명한 질의응답 문제집들을 통해 "질문에 딱 맞는 문서 찾는 법"을 미리 예습(Pre-train)한 상태로 초기화되어 투입된다.

 

생성과 훈련방식

 

1. 생성기 (Generator): "답안지 작성 전담반, BART" 가져온 참고서와 질문을 보고 최종 답안을 작성하는 역할(Generator)은 구조상 어떤 모델이든 쓸 수 있지만, 이 논문에서는 'BART-large'라는 똑똑한 AI 모델(400M 파라미터 크기)을 채택했다고 한다.

 

2. 훈련 방식 (Training): "참고서는 안 골라주고 최종 답안지만 채점하기" 검색기(Retriever)와 생성기(Generator)는 동시에 훈련을 받습니다. 이때 아주 흥미로운 학습 방식을 사용한다.

  • Direct supervision 없다: 선생님이 학생에게 "1 참고서를 가져와!"라고 집어서 직접적으로 정답을 알려주지 않는다.
  • NLL 최소화: 선생님은 오직 학생이 최종적으로 적어낸 '답안지' 정답과 일치하는지만 보고 채점(NLL 최소화)한
  • 스스로 깨우치기: 이렇게 최종 답안지만을 채점하다 보면, 스로 깨우치며 점점 양질의 참고서를 가져오게끔 훈련된다.

3. 도서관 유지비 절감 (Document Encoder Fix): "도서관 책 배치는 그대로 냅두기" 여기서는 이전 모델인 REALM RAG의 효율성 차이를 비교하고 있다.

  • REALM 방식 (비효율적): 도서관에 있는 수백만 권의 참고서 내용(Document embedding) 책의 위치 정보(MIPS index) 학습할 때마다 매번 새롭게 업데이트하려고 했다. 이렇게 매번 도서관 전체를 재정리하는 것은 시간과 비용(cost) 너무 많이 들어서, 꼼수(비동기적 업데이트) 써야만 했다.
  • RAG 방식 (효율적): RAG 모델의 개발자들은 "도서관 정리를 매번 다시 하는 돈과 시간이 너무 많이 들고 성능도 크게 오른다"라고 판단했다. 그래서 외부 도서관의 참고서 요약본(Document encoder) 처음에 만들어둔 상태 그대로 고정(Fix)시켜 버렸다. 대신 '질문을 분석하는 능력(Query encoder)' '답안을 작성하는 능력(Generator)' 집중적으로 훈련시키는 똑똑하고 효율적인 방식을 택했다.

 디코딩

1. RAG-Token의 디코딩: "원래 하던 대로 하면 됨" RAG-Token 모델은 단어 한 글자를 적을 때마다 책상 위의 모든 참고서를 다 같이 본다. 그래서 다음 단어를 예측하는 기존의 AI 방식(Beam Search )을 그대로 써도 아무 문제가 없다.

 

2. RAG-Sequence 디코딩의 문제점: "내가 쓴 답이 아니면 점수를 매길 수 없어!" 문제는 문장(Sequence) 단위로 답을 내는 RAG-Sequence에서 발생한다.

  • AI 1 참고서 보고 'A라는 전체 답안' 만들고, 2 참고서 보고 'B라는 전체 답안' 만든다.
  • 최종적으로 'A 답안' 채택할지 결정하려면, 확률을 모두 더해야(Marginalize) 한. , "1 참고서가 A 답안에 점수 + 2 참고서가 A 답안에 점수 + 3 참고서가 A 답안에 점수" 합산해야 하는 것이다다.
  • 2 참고서() 애초에 'B 답안' 만들었지, 'A 답안()' 만들어 적이 없다. 따라서 2 참고서가 'A 답안' 점을 줄지 현재로서는 확률 값을 수가 없는 것이.

이 점수를 알려면 2번 참고서를 다시 처음부터 꼼꼼히 읽으면서 'A 답안'에 대한 점수를 억지로 계산(Additional forward)해 내야 하는데, 이러면 비용과 시간이 너무 많이 들어서 매우 비효율적이다.

 

3. 해결책 'Fast Decoding': "모르는 점수는 그냥 0점 처리하자!" 그래서 논문의 저자들은 효율성을 위해 "Fast Decoding(빠른 디코딩)"이라는 쿨한 해결책을 제시한다다.

굳이 2번 참고서를 다시 읽어가며 귀찮게 확률을 계산하지 말고, "2번 참고서에서 애초에 A 답안이 나오지 않았다면, 그냥 그 확률은 0이라고 쳐버리자!"라고 합의한 것이다. 이렇게 발견되지 않은 값들을 0으로 처리해 버리고 합산(Marginalize)을 진행하면, 시간을 엄청나게 아끼면서도 최종 정답(output sequence)을 훌륭하게 도출해 낼 수 있다.

 

 

 

 

결과

 

1. 상식 퀴즈 풀기 (Open-domain QA)

  • 결과: RAG 기존 모델들을 제치고 가장 우수한 성적 거두었다.
  • 의의: 외부 참고서 없이 자기 머릿속 지식(파라미터)으로만 풀려고 했던 엄청나게 덩치의 AI(T5-11B)보다 성적이 좋았다. 또한, 기존 모델들처럼 정답을 문서에서 단순히 '추출'하는 것보다 RAG처럼 직접 '생성'하는 방식이 훨씬 효과적이라는 것을 증명했다.

2. 정답 보고 질문 만들기 (Jeopardy Question Generation)

  • 결과: 검색 기능(Retrieval) 없는 모델(BART) 비교했을 , RAG 압도적으로 좋은 성능 보였다.
  • 의의: 특정 단어(: 월드컵) 던져주고 이에 맞는 질문을 만들어보라고 했을 , 기계적인 평가 점수(Q-BLEU)뿐만 아니라 실제 사람이 평가했을 때도 RAG 훨씬 사실적이고 구체적인 문장을 만들어냈다.

3. 팩트 체크 / 참거짓 판별 (Fact Verification)

  • 결과: 아쉽게도 분야의 1(SOTA, 최고 성능) 달성하지는 못했지만, 1등에 거의 근접하는 훌륭한 성적 거두었다.
  • 의의: 당시 1등이었던 모델은 오직 '팩트 체크' 하나만을 위해 복잡하게 맞춤 제작된(domain-specific) 모델이었다. 반면 RAG 어디에나 있는 다목적 '범용 모델' 만들어졌음에도 전용 모델에 버금가는 성능을 냈다는 에서 의미를 가진다
반응형