공부하기/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. 텍스트 임베딩 → 코사인 유사도가 더 적합, 이미지 임베딩 → 유클리드 거리가 더 적합 등등)