본문 바로가기
인공지능/LangChain

검색증강생성 (RAG)

by 이준언 2024. 7. 29.

 

검색증강생성 (Retrieval-Augmented Generation, RAG)

  • 자연어처리에서 정보 검색과 생성 모델을 결합하여 질의에 대한 더 정확하고 정보에 기반한 응답을 제공하는 기술
  • 구조
    • 문서 또는 데이터 가공
    • 임베딩 모델
    • 언어 모델
    • 벡터 데이터 베이스
    • 프롬프트

  • 주요 개념
    • 정보검색 (Retrieval)
      • RAG는 대규모 문서 집합에서 관련 문서를 검색하는 검색 모델을 사용
      • 이 검색 모델을 쿼리에 맞는 문서를 찾아내는 역할을 함
    • 생성 (Generation)
      • 검색된 문서를 기반으로 응답을 생성하는 생성 모델
      • Transformer 같은 딥러닝 모델을 사용하여 검색된 문서의 내용을 바탕으로 자연스럽고 정보에 맞는 응답을 생성
    • 통합 (Combination)
      • RAG는 검색고 생성을 결합하여 작동
      • 사용자의 질문에 대해 검색 모델이 관련 문서를 검색한 다음, 생성 모델이 이 문서를 입력으로 받아서 최종 응답을 생성
      • 이를 통해 단순히 학습된 데이터를 사용하는 것이 아니라, 실제 최신 정보를 반영할 수 있음
  • 작동 원리
    1. 질의 입력: 사용자가 질문을 입력하면, 이 질문이 검색 모델로 전달
    2. 문서 검색: 검색 모델은 대규모 문서 집합에서 관련성이 높은 문서를 검색
    3. 문서 선택: 검색된 문서 중에서 상위 N개의 문서를 선택
    4. 응답 생성: 선택된 문서들을 기반으로 생성 모델이 최종 응답을 생성. 생성 모델은 주로 Transformer 계열의 모델을 사용하여 문서의 내용을 이해하고 자연스러운 언어로 응답을 생성
    5. 응답 출력: 생성된 응답이 사용자에게 출력
  • 장점
    • 정보 정확성
      • 단순히 학습된 데이터에 기반한 응답 생성보다, 검색된 최신 정보를 반영하여 정확도가 높음
    • 적응성
      • 다양한 주제와 새로운 정보에 대해 적응할 수 있음
      • 검색 모델이 최신 문서를 찾아내기 때문에 생성 모델을 새로운 정보를 기반으로 응답을 생성할 수 있음
    • 효율성
      • 대규모 문서 집합에서 효율적으로 관련 문서를 검색하고 이를 기반으로 응답을 생성하므로 사용자 질문에 대한 응답 생성이 빠르고 효율적

추가 개념

  • 임베딩
    • 글자, 단어, 문장 등을 분류하는 것
    • 숫자를 이용해 라벨링
    • 숫자가 가까울수록 관련성이 높음
  • 임베딩 모델
    • AI가 사람의 언어를 이해하기 위한 방법으로, 글자, 단어, 문장 등을 숫자로 변환해주는 AI 모델
  • 벡터 데이터 베이스
    • 임베딩 모델을 통해 라벨링된 숫자를 이용하여 ‘벡터’라는 조각으로 나누어 데이터를 저장
    • 문장 또한 하나의 벡터 좌표를 차지

참조:

https://www.youtube.com/watch?v=m7cNjCVpSrw&list=WL&index=15&t=7s

 

, 챗지피티