RAG(Retrieval-Augmented Generation)

대규모 언어 모델(LLM)이 답을 만들 때, 자체 지식만 사용하는 것이 아니라 외부 데이터에서 관련 정보를 찾아와 활용하는 방식이다.

RAG (Retrieval-Augmented Generation) 개념

  • RAG = 검색(Retrieval) + 생성(Generation)
  • LLM(대규모 언어모델)이 자기 내부 지식만으로 답을 생성하는 것이 아니라, 외부 데이터베이스(예: 문서, 벡터 DB, 위키, 사내 자료 등)에서 관련 정보를 검색한 후, 그 결과를 바탕으로 답변을 생성한다.

즉, 단순히 “모델이 아는 것"만 쓰는 게 아니라, “필요할 때 외부에서 찾아보고 답하는” 똑똑한 비서 같은 개념이다

왜 필요한가?

  • LLM의 지식 한계 극복
    • LLM은 학습 시점 이후의 최신 정보를 알지 못한다.
    • 예를 들어, GPT 같은 모델은 학습 시점 이후의 최신 정보는 모른다.
    • RAG를 사용하면 DB/웹에서 찾아온 자료를 활용 가능하게 된다.
  • 환각(Hallucination) 줄이기
    • LLM은 모르는 것도 지어낼 때가 있다.
    • 외부 근거 자료를 활용하면 답변 신뢰도를 높일 수 있다.
    • 근거 없는 답변 대신, 실제 문서/DB를 근거로 답변 가능하다.
  • 맞춤형 지식 활용
    • 기업 내부 문서, 보고서, 고객 FAQ, 논문, 코드베이스 등의 전용 데이터를 LLM이 사용할 수 있음.
    • 사내 비밀 문서를 학습시키지 않고도 활용 가능하다.

RAG의 동작 구조

  • 질의(Query) 입력
    • 사용자가 질문을 입력한다.
  • 검색(Retrieval) 단계
    • 질문을 벡터화(임베딩) 후, 벡터 데이터베이스에서 관련 문서를 검색한다.
    • 대표 DB: Pinecone, Weaviate, Milvus, FAISS 등.
  • 생성(Generation) 단계
    • LLM이 검색된 문서를 참고하여 답변을 생성하여 함께 전달한다.

RAG

즉, “찾아서 → 참고해서 → 답변하는” 구조이다.

예시

예를 들어, “우리 회사의 2023년 매출은 얼마야?“라는 질문이 들어오면:

  • LLM 단독: “2023년 매출은 1억 달러입니다.” (근거 없음, 틀릴 수 있음)
  • RAG 활용: 회사 내부 재무 보고서를 검색 → 관련 데이터 가져옴 → “2023년 당사의 매출은 9,200억 원으로, 전년 대비 8% 성장했습니다.” (근거 있는 답변)

비유로 이해하기

  • LLM 단독: 기억력 좋은 사람, 하지만 최신 정보는 모를 수 있다.
  • RAG 사용: 기억력 좋은 사람이 사전·검색 엔진을 참고해서 답변하는 것이다.

RAG와 Fine-tuning의 비교

  • Fine-tuning: 모델 자체를 추가 학습 → 새로운 지식을 “내재화”
  • RAG: 모델은 그대로 두고, 외부 자료를 검색해서 활용
방법 장점 단점
Fine-tuning 응답이 빠르고 자연스러움 데이터 업데이트할 때마다 재학습 필요
RAG 항상 최신/맞춤 정보 반영 가능, 빠른 구축 검색 품질에 따라 답변 품질 좌우

실무에서는 RAG + 필요시 일부 Fine-tuning을 섞어서 많이 사용된다.

RAG 구현에 쓰이는 기술 스택

  • 임베딩 모델: OpenAI Embeddings, Sentence-BERT 등
  • 벡터 DB: Pinecone, Weaviate, Milvus, FAISS
  • LLM: GPT, Claude, LLaMA, Gemini 등
  • 프레임워크: LangChain, LlamaIndex, Haystack

정리

  • RAG는 LLM이 검색 시스템을 함께 사용해, 신뢰할 수 있고 최신 정보를 반영하는 답변을 생성하는 방식이다.
  • 즉, 지식의 확장 & 신뢰성 보강을 위한 핵심 기술이다.