Skip to main content
공개 노트

Sentence Transformers로 학습하는 Multi-Vector Embedding Models

Views 24약 3분생성형 AI 활용
Summary

Multi-Vector Embedding Models with Sentence Transformers

검색 모델은 정확도와 속도만으로 선택하기 어렵다. 문서의 세부 정보를 얼마나 보존하는지, 문서를 미리 색인할 수 있는지, 저장 비용을 감당할 수 있는지도 함께 따져야 한다. Sentence Transformers v6.0에 도입된 MultiVectorEncoder는 단일 벡터 검색과 Cross-Encoder 사이의 이러한 절충점을 구현한다.1

문서를 토큰 단위 벡터로 표현한다

Multi-Vector Embedding Models는 후기 상호작용 모델 또는 ColBERT 스타일 모델이라고도 한다. 문서 전체를 하나의 벡터로 압축하는 대신, 각 토큰의 문맥화된 벡터를 유지한다. 고전적인 ColBERT 구조는 토큰 임베딩을 128차원으로 투영하므로, 9개 토큰으로 구성된 문서는 단일 벡터가 아닌 9×128 행렬로 표현될 수 있다.1

쿼리와 문서의 유사도는 MaxSim으로 계산한다. 각 쿼리 토큰에 대해 가장 유사한 문서 토큰의 점수를 찾고, 그 최댓값들을 합산하는 방식이다. 이 정렬은 일대일 대응이 아니어서 여러 쿼리 토큰이 동일한 문서 토큰을 선택할 수도 있다.1

L2 정규화된 토큰 벡터의 내적은 -1에서 1 사이의 코사인 유사도가 된다. 따라서 쿼리 토큰이 n개라면 MaxSim 총점의 범위는 -n에서 n까지다. 또한 문맥화된 임베딩을 사용하기 때문에 철자가 겹치지 않는 동의어나 의역도 연결할 수 있다. lightonai/mLateOn 예시에서는 ‘live’와 ‘inhabit’ 토큰의 유사도가 0.94로 나타났다.1

검색 품질과 색인 비용을 함께 판단한다

후기 상호작용의 핵심적인 운영상 이점은 문서를 쿼리와 독립적으로 인코딩해 오프라인으로 색인할 수 있다는 것이다. 쿼리와 문서를 함께 인코딩하여 새 쿼리마다 각 문서를 다시 계산해야 하는 Cross-Encoder보다 검색 서비스에 적용하기 쉽다. 동시에 토큰별 표현을 유지하므로 단일 벡터 모델보다 문서의 세부 조건을 보존할 수 있다.1

그 대가로 문서마다 여러 벡터를 저장하고 검색해야 한다. 문서가 길수록 색인 크기와 연산량이 늘어나며, 고전 ColBERT 체크포인트가 문서를 180개 또는 300개 토큰에서 잘라내는 것도 이러한 비용과 관련이 있다.1

따라서 실제 도입 전에는 다음 항목을 함께 측정해야 한다.

  • 토큰 수준 표현이 실제 검색 품질을 얼마나 개선하는가

  • 문서 길이에 따라 색인 크기와 검색 비용이 얼마나 증가하는가

  • 문서 절단, 압축 또는 토큰 풀링이 품질에 어떤 영향을 주는가

  • 현재 인프라가 늘어난 저장 공간과 연산량을 감당할 수 있는가

파인튜닝 효과는 도메인 지표로 검증한다

파인튜닝에서는 학습 데이터와 손실 함수가 요구하는 입력 형식을 맞춰야 한다. 성능 역시 일반적인 문장 유사도가 아니라 실제 검색 목적에 맞는 지표로 평가하는 것이 중요하다.

의료 데이터 2만 5천 쌍을 사용한 사례에서는 lightonai/mLateOn-unsupervised를 학습한 뒤 NDCG@10이 0.9087에서 0.9398로 상승했다. 그 결과물인 multi-vector-encoder/mLateOn-medical은 단일 RTX 3090에서 14.5시간 동안 학습됐다.2 이 사례는 도메인 데이터로 성능을 개선할 수 있음을 보여주지만, 도입 판단은 각 서비스의 데이터와 비용 조건을 기준으로 내려야 한다.

요약: Multi-Vector Embedding Models는 단일 벡터의 정보 손실을 줄이면서 Cross-Encoder처럼 매 쿼리마다 모든 문서를 다시 계산하지 않는 절충안이다. 다만 토큰별 벡터로 인해 색인 비용이 증가하므로, 자체 데이터에서 검색 품질 향상이 저장 공간과 연산 비용을 정당화하는지 검증한 뒤 적용해야 한다.

1Multi-Vector (Late Interaction) Embedding Models with Sentence Transformers

2Training and Finetuning Multi-Vector Embedding Models with Sentence Transformers

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기