AI.zip
  • AI 모델
  • 방법론
  • AI 서비스
  • 가격 비교
  • 블로그

AI.zip

AI 모델, 서비스, 방법론을 큐레이션하는 에디토리얼 플랫폼

탐색

  • AI 모델
  • AI 서비스
  • 방법론
  • 블로그

커뮤니티

  • 소개
  • 디스코드 참여
  • 문의

법적고지

  • 이용약관
  • 개인정보처리방침

© 2026 ai.zip. All rights reserved.

Discord 커뮤니티
방법론RAG (Retrieval-Augmented Generation)Self RAG

Self RAG

RAG (Retrieval-Augmented Generation)

쉽게 이해하기

보통 AI는 질문을 받으면 무조건 자료를 검색합니다. 하지만 이 방식은 AI가 먼저 "이 질문에 검색이 필요한가?"를 스스로 판단해요. 마치 의사가 환자를 볼 때 "이건 검사가 필요하겠다" 또는 "이건 바로 알 수 있다"고 판단하는 것과 같습니다.

"1 더하기 1은?"처럼 이미 알고 있는 건 굳이 검색하지 않고 바로 답합니다. "최근 반도체 수출 동향은?"처럼 최신 정보가 필요하면 자료를 찾아보고요. 답변을 만든 후에도 "이 답이 정확한가?" 스스로 검증하는 단계까지 거칩니다.

의료 분야에서 특히 유용하게 쓰이고 있어요. 의료 논문 검색 서비스에서 AI가 의사의 질문을 받을 때, 일반 상식인지 최신 연구 결과를 찾아야 하는지 자동으로 구분해서 대응합니다. 불필요한 검색을 줄여서 답변 속도도 빨라지고, 정확도도 높아지는 일석이조의 효과가 있습니다.

기술 심층 분석

📚 선수학습: 이 내용을 이해하려면 RAG (Retrieval-Augmented Generation)를 먼저 읽으면 좋습니다.

핵심 아키텍처

Self-RAG는 Asai et al. (2023)이 제안한 방법으로, LLM이 스스로 검색 여부를 판단하고, 생성한 답변의 품질을 **자체 평가(self-reflection)**하는 프레임워크다. 핵심은 네 가지 리플렉션 토큰(reflection token)1을 LLM에 학습시켜, 생성 과정에서 비평(critique)을 인라인으로 수행하는 것이다.

네 가지 리플렉션 토큰:

토큰역할값
[Retrieve]검색이 필요한가?Yes / No / Continue
[IsREL]검색된 문서가 관련 있는가?Relevant / Irrelevant
[IsSUP]생성이 문서에 근거하는가?Fully / Partially / No
[IsUSE]답변이 유용한가?5 / 4 / 3 / 2 / 1

생성 과정은 다음과 같이 진행된다:

입력 x
  │
  ▼
LLM: [Retrieve] 판단
  ├─ No → 직접 생성 (검색 불필요한 경우)
  └─ Yes → 검색 수행
           │
           ▼
      각 문서 d_i에 대해:
        LLM: [IsREL] 판단 → Irrelevant면 건너뜀
        LLM: 답변 y_i 생성
        LLM: [IsSUP] 판단 → 근거 평가
        LLM: [IsUSE] 판단 → 유용성 평가
           │
           ▼
      최고 점수 답변 선택

최종 답변 선택은 리플렉션 토큰의 가중 합산 점수로 결정된다:

score(yi)=w1⋅1[IsREL]+w2⋅IsSUP(yi)+w3⋅IsUSE(yi)\text{score}(y_i) = w_1 \cdot \mathbb{1}[\text{IsREL}] + w_2 \cdot \text{IsSUP}(y_i) + w_3 \cdot \text{IsUSE}(y_i)score(yi​)=w1​⋅1[IsREL]+w2​⋅IsSUP(yi​)+w3​⋅IsUSE(yi​)

여기서 1[IsREL]\mathbb{1}[\text{IsREL}]1[IsREL]은 관련성 지시 함수2이고, w1,w2,w3w_1, w_2, w_3w1​,w2​,w3​는 가중치다. 추론 시 가중치를 조절하여 **인용 정밀도(citation precision)**와 창의성(creativity) 사이의 균형을 맞출 수 있다.

성능 및 비교

Self-RAG는 표준 RAG 대비 다양한 벤치마크에서 우위를 보인다:

벤치마크표준 RAGSelf-RAG향상
PopQA50.854.9+4.1
PubHealth72.481.2+8.8
ARC-Challenge67.772.4+4.7
ASQA (EM)33.937.3+3.4

특히 사실 검증(fact verification) 태스크에서 두드러진 향상을 보이며, 이는 [IsSUP] 토큰이 근거 없는 생성을 효과적으로 필터링하기 때문이다.

장점과 한계

장점:

  • 선택적 검색: 불필요한 검색을 줄여 레이턴시를 절약
  • 자체 품질 관리: 외부 평가 모델 없이 생성 품질을 제어
  • 추론 시 유연성: 가중치 조절로 정밀도/재현율 트레이드오프 조정 가능

한계:

  • 리플렉션 토큰 학습을 위한 별도 파인튜닝 필요 — GPT-4 distillation 데이터 사용
  • 여러 후보 답변을 생성하므로 추론 비용이 kkk배 증가
  • 오픈소스 모델(Llama 2 기반)에서만 검증 — 범용 API 모델에 적용 어려움

실무 적용 가이드

  1. Hugging Face에서 selfrag/selfrag_llama2_7b 모델로 시작 가능
  2. 리플렉션 토큰 없이 유사 구현: LLM에 "검색이 필요한가?" → "답변이 문서에 근거하는가?" 단계적 프롬프트로 모사
  3. vLLM으로 서빙하면 다중 후보 생성의 배치 처리로 비용 절감
  4. [IsSUP] 토큰의 역할을 NLI(Natural Language Inference) 모델로 대체하는 것도 실용적 대안
  5. Corrective RAG와 결합하면 검색 실패 시 웹 검색 폴백까지 확보

Footnotes

  1. 리플렉션 토큰(reflection token)은 모델의 어휘(vocabulary)에 추가되는 특수 토큰으로, 생성 과정에서 자체 평가 신호를 출력하는 역할을 한다. ↩

  2. 지시 함수(indicator function) 1[⋅]\mathbb{1}[\cdot]1[⋅]는 조건이 참이면 1, 거짓이면 0을 반환하는 함수다. ↩

이전글

Self-Improvement

다음글

SFT (Supervised Fine-Tuning)

댓글

0개

댓글을 작성하려면

로그인

해주세요

방법론 정보

상위 카테고리

RAG (Retrieval-Augmented Generation)

관련 게시글

5개

사용 서비스

3개

관련 게시글

Fine-tuning vs RAG: 어떤 방법을 선택해야 하나?

COMPARISON

LLM 파인튜닝 실전 가이드: QLoRA로 나만의 모델 만들기 (2025)

TUTORIAL

RAG 완전 정복: 개념부터 프로덕션 배포까지 (2025)

GUIDE

사용 서비스

NotebookLM

Perplexity

Dify

관련 방법론

Advanced RAG

Agentic RAG

Corrective RAG (CRAG)

Graph RAG

Hypothetical Document Embeddings (HyDE)

Modular RAG

Naive RAG

RAG Fusion