728x90
반응형

안녕하세요. 오늘은 35일차 학습 기록입니다.

이번 시간에는 RAG 파이프라인의 핵심 중 하나인 임베딩(Embedding) 개념을 정리해보려 합니다.


1. 임베딩이란?

임베딩(Embedding)은 텍스트, 이미지, 코드 등 비정형 데이터를 고정 길이의 벡터(숫자 배열)로 변환하는 과정입니다.

 

이 벡터는 단순한 수열이 아니라, 의미적 유사성을 수학적으로 표현한 좌표라고 볼 수 있습니다.

 

즉, “비슷한 의미를 가진 문장일수록 벡터 공간에서 서로 가까이 위치하도록” 학습된 표현 방식입니다.

 

예를 들어,

 

문장 의미적 관계 백터 공간 관계
“고양이는 귀엽다” 유사 거리 가까움
“강아지는 사랑스럽다” 유사 거리 가까움
“자동차가 달린다” 무관 거리 멀음

 

임베딩의 필요성

  • 의미 이해:
    • 자연 언어는 매우 복잡하고 다양한 의미를 내포하고 있습니다.
    • 임베딩을 통해 이러한 텍스트를 정량화된 형태로 변환함으로써, 컴퓨터가 문서의 내용과 의미를 더 잘 이해하고 처리할 수 있습니다.
  • 정보 검색 향상:
    • 수치화된 벡터 형태로의 변환은 문서 간의 유사성을 계산하는 데 있어 필수적입니다. 이는 관련 문서를 검색하거나, 질문에 가장 적합한 문서를 찾는 작업을 용이하게 합니다.

2. RAG에서의 임베딩 역할

RAG (Retrieval-Augmented Generation) 파이프라인을 떠올려보면, 문서 로딩 → 분할 → 임베디 → 검색(Retrieval) → 생성(Generation)의 순서로 이루어집니다.

 

이 중 임베딩 단계는 “검색의 품질”을 결정하는 핵심 엔진 역할을 합니다.

  • Document Embedding: 문서(혹은 청크)를 벡터로 변환
  • Query Embedding: 사용자의 질문을 같은 공간의 벡터로 변환
  • Similarity Search: 두 벡터 간의 거리(보통 cosine similarity)를 계산해 가장 의미적으로 가까운 문서를 찾음

 

결국, 임베딩은 검색의 언어적 뇌라고 할 수 있습니다.

 

문장을 “이해 가능한 수학적 형태”로 만들어주기 때문이죠.


3. 임베딩 공간(Vector Space)

임베딩 모델은 입력 데이터를 N차원 공간으로 매핑합니다.

 

예를 들어 OpenAI의 text-embedding-3-small은 1,536차원 벡터를 출력합니다.

 

각 차원은 특정 의미적 속성(예: 감정, 주제, 문법적 관계 등)을 암묵적으로 학습한 결과이며,

이 공간에서의 벡터 간 거리로 의미 유사도를 판단합니다.

  • 가까움(코사인 유사도 ↑) → 의미 유사
  • 멀어짐(코사인 유사도 ↓) → 의미 상이

4. 임베딩의 종류

구분 설명 예시 모델
단어 임베딩 (Word Embedding) 단어 단위 의미 벡터 Word2Vec, GloVe
문장 임베딩 (Sentence Embedding) 문장 단위 의미 표현 Sentence-BERT, Instructor
문서 임베딩 (Document Embedding) 문단/문서 단위 표현 OpenAI text-embedding, Cohere Embeddings
다중모달 임베딩 (Multimodal Embedding) 텍스트 + 이미지/음성 CLIP, BLIP, ALIGN

 

 

그렇다면 좋은 임베딩이란 뭘까요?

 

  • 의미 유사성 보존 – 비슷한 의미의 문장 간 거리가 실제로 가깝게 표현되어야 함
  • 언어 일반화 능력 – 다양한 주제/문체에도 일관된 벡터 표현
  • 다국어 지원 – 다국어에서도 의미 일관성 유지 -> OpenAIEmbeddings
  • 계산 효율성 – 빠른 연산, 적은 메모리
  • 버전 안정성 – 임베딩 교체 시에도 벡터 호환성 유지

 

 


5. 대표 임베딩 모델 비교

현업에서는 OpenAI의 상용 임베딩 모델뿐 아니라, Hugging Face에서 제공하는 BGE, E5 시리즈 같은 공개 모델도 자주 활용됩니다.

 

각각의 특징을 간단히 비교해보겠습니다.

 

구분 주요 모델 특징 장점 사용 사례
OpenAI Embedding text-embedding-3-small (1,536D) / text-embedding-3-large (3,072D) GPT 계열 언어모델에서 학습된 최신 임베딩 다국어 강력, 안정적 성능, 상용 서비스 적합 ChatGPT RAG, 상용 검색 시스템
BGE-M3 BAAI/bge-m3 Beijing Academy of AI 개발. 다국어(100+) 지원 + hybrid retrieval(문장/패러그래프) 영어·중국어·한국어 등 다국어에서 우수, open-source 글로벌 문서 RAG, multilingual QA
E5 Series intfloat/e5-base / e5-large / e5-mistral MS & NUS 공동 연구. “Text pair matching” 기반 contrastive 학습 질의–문서 매칭(QA)에 매우 강함 검색/랭킹 기반 RAG, 문서 검색엔진
Cohere Embed embed-english-v3.0, embed-multilingual-v3.0 문장 유사도와 주제별 분류에 특화된 상용 모델 빠른 API, multilingual 지원 뉴스 검색, 추천 시스템

마무리

오늘은 RAG의 두 번째 핵심 단계인 임베딩(Embedding) 을 개념적으로 정리하고,

대표적인 상용(OpenAI)·오픈소스(BGE, E5) 모델의 차이까지 살펴봤습니다.

💬 한 줄 요약

임베딩은 “언어를 수학적 벡터로 표현하는 기술”이며,

RAG 시스템이 ‘의미적으로 가장 관련된 정보’를 찾게 만드는 두뇌입니다.

 

읽어주셔서 감사합니다.

 

 

728x90
반응형

+ Recent posts