공부하기/ETC

RAG와 벡터 데이터베이스

다섯자두 2026. 1. 14. 16:21

RAG(Retrieval-Augmented Generation)

검색(Retrieval)과 생성(Generation)을 결합한 AI 아키텍처

  • LLM이 답변을 생성하기 전에 외부의 신뢰할 수 있는 데이터베이스나 문서 저장소에서 관련 정보를 먼저 검색한 뒤, 그 정보를 바탕으로 문장을 생성하는 방식

RAG 아키텍처 구성 요소

  • Dense Retriever (예: DPR)
    • 사용자가 질문을 하면, 관련 있는 문서나 정보를 찾음
    • 단순히 단어가 똑같은 것이 아니라 뜻이 비슷한 문장이나 내용을 파악해 골라옴
  • Document Store (예: Vector 데이터베이스)
    • 찾을 문서들이 저장되어있는 데이터베이스
    • 다양한 정보가 저장되어 있고, Retriever가 적절한 문서를 뽑아오는 구조
    • 흔히 FAISS, Pinecone, Weaviate 같은 벡터 DB가 이 역할을 함
  • Generator (예: GPT, Claude 등)
    • Retriever가 가져온 정보를 바탕으로 실제 대답을 만들어주는 역할
    • 생성형 AI 모델로서, 검색한 문서를 읽고 내용을 요약하거나 문장을 새롭게 구성해서 자연스러운 답변을 생성함
  • Reranker (선택적)
    • 검색된 여러 문서 중에서 가장 중요한 것부터 우선순위를 정해주는 보조 시스템
    • 있으면 더 정확하고 믿을 수 있는 응답을 만들 수 있음

Vector Database

다양한 유형의 정보를 의미와 컨텍스트를 캡처하는 벡터로 인코딩하여 일종의 ML 모델인 임베딩 모델을 만들고, 이를 통해 인접 데이터 포인트를 검색하여 빠르게 유사한 자산을 찾을 수 있는 데이터베이스이다.

  • 기존 데이터베이스는 정확한 일치와 사전 정의된 관계를 기반으로 작동하는 반면, 인간의 이해는 미묘하고 맥락적이며 다차원적이기 때문에 전문가들은 이를 ‘시맨틱 갭’이라고 부른다.
    • 정확한 일치보다는 개념적 유사성 찾기
    • 서로 다른 콘텐츠 간의 문맥적 관계 이해
    • 키워드를 넘어 정보의 의미론적 본질 파악
  • 최신 임베딩 모델은 텍스트, 이미지, 오디오 등 원시 콘텐츠를 표면 수준의 차이에 관계 없이 유사한 개념이 벡터 공간에서 함께 클러스터링되는 고밀도 벡터로 변환한다.
    • 어휘 형태가 다르더라도 ‘자동차’, ‘차량’과 같은 개념을 벡터 공간 내에서 근접하게 배치한다.

핵심 개념

  • 벡터 임베딩 : 비정형 데이터(텍스트, 이미지, 오디오 등)의 의미론적 의미를 포착하는 고차원 숫자 표현
  • 전문화된 인덱싱 : 고차원 벡터 공간에 최적화된 알고리즘으로 빠른 근사치 검색을 가능하게 함.
    • 벡터를 색인화하여 유사도 검색의 속도와 효율성을 높이고, 다양한 머신 러닝 알고리즘을 활용해 벡터 임베딩에 대한 색인 생성
  • 거리 메트릭 : 벡터 간의 유사성을 정량화하는 수학적 점수

벡터 공간과 임베딩

  • 벡터 임베딩 : 비정형 데이터를 숫자 형식으로 나타내는 고정 길이의 부동 소수점 숫자 배열(100~32,768 차원까지 가능)
    • 고차원 벡터 공간에서 유사한 항목을 서로 가깝게 배치 ex) ‘왕’과 ‘여왕’은 서로 ‘자동차’보다 가까운 벡터 표현을 갖게 됨

거리 메트릭

  • 거리 메트릭 : 유사도 계산 방식에 근본적인 영향을 미치는 메트릭
    • 유클리드 거리 : 유클리드 공간에서 두 점 사이의 직선 거리
    • 코사인 유사도 : 크기보다는 방향에 중점을 주고 두 벡터 사이의 각도의 코사인을 측정
    • 등등 …
    • 사용 사례마다 다른 거리 메트릭이 필요할 수 있음 (ex. 텍스트 임베딩 → 코사인 유사도가 더 적합, 이미지 임베딩 → 유클리드 거리가 더 적합 등등)

References