066. Sentence Transformers — 문장 임베딩과 의미 검색
Sentence Transformers(SBERT)는 문장을 고정 크기 벡터로 변환해 의미적 유사도를 빠르게 계산할 수 있게 한다. 2019년 Reimers와 Gurevych가 제안했으며, BERT의 O(n²) 연산 문제를 샴 네트워크 구조로 해결했다. RAG, 의미 검색, 문장 클러스터링의 기반 기술이다.
Sentence Transformers(SBERT)는 문장을 고정 크기 벡터로 변환해 의미적 유사도를 빠르게 계산할 수 있게 한다. 2019년 Reimers와 Gurevych가 제안했으며, BERT의 O(n²) 연산 문제를 샴 네트워크 구조로 해결했다. RAG, 의미 검색, 문장 클러스터링의 기반 기술이다.
딥러닝 모델들의 발표 연도 기준 학습 로드맵. CNN 발전사부터 멀티모달, 추론 최적화, 에이전트까지 순서대로 정리한다.
Word2Vec(2013)은 단어를 고밀도 벡터로 표현하는 방법을 제안했다. 비슷한 맥락에서 등장하는 단어는 비슷한 벡터를 갖는다는 분포 가설을 기반으로, 신경망으로 단어 간 의미 관계를 학습한다. GloVe는 전체 말뭉치의 동시 출현 통계를 활용해 같은 목표를 다른 방식으로 달성했다.
벡터 DB는 고차원 임베딩 벡터를 저장하고 근사 최근접 이웃(ANN) 검색을 빠르게 수행하는 데이터베이스다. Qdrant, pgvector, Pinecone 세 가지 대표 선택지의 구조, 인덱싱 알고리즘, 트레이드오프를 다룬다.
MTEB(Massive Text Embedding Benchmark)는 56개 데이터셋, 8개 태스크로 임베딩 모델을 종합 평가하는 벤치마크다. 모델 선택 시 전체 평균이 아니라 실제 사용 태스크와 언어에 맞는 점수를 봐야 한다.
CLIP(2021)은 4억 개의 이미지-텍스트 쌍으로 텍스트와 이미지를 같은 임베딩 공간에 정렬한다. 별도 파인튜닝 없이 새로운 분류 태스크에 적용하는 Zero-Shot 분류가 가능하고, 텍스트로 이미지를 검색하거나 이미지로 텍스트를 검색하는 크로스 모달 검색의 기반이 된다.
MRL(Matryoshka Representation Learning, 2022)은 하나의 임베딩 모델이 다양한 차원에서 모두 좋은 성능을 내도록 학습하는 방법이다. 큰 임베딩 벡터의 앞부분만 잘라내도 성능이 유지된다. 저장/속도와 정확도 사이를 동적으로 조절할 수 있다.