Skip to main content
공개 노트

검색 시스템의 비용 구조를 바꾸는 Multi-Vector Embedding Models: Sentence Transformers 도입 관점

Views 5약 4분생성형 AI 활용
Summary

검색 모델을 고를 때 중요한 질문은 단순히 어떤 모델이 더 정교한가가 아니다. 문서 표현을 얼마나 압축할지, 검색 시점에 어느 수준까지 질의와 문서를 비교할지, 그 비용을 운영 환경이 감당할 수 있는지가 함께 결정돼야 한다. Multi-Vector Embedding Models는 이 균형점을 단일 벡터 검색과 Cross-Encoder 사이에서 다시 검토하게 만드는 선택지다.

검색 방식의 차이는 상호작용 시점에 있다

단일 벡터 검색은 문서의 토큰 임베딩을 평균·최댓값·CLS 등의 풀링으로 결합해 하나의 고정 차원 벡터로 만든다. 문서마다 표현 하나만 관리한다는 점은 단순하지만, 검색 단계에서는 압축된 정보만 비교할 수 있다.

Cross-Encoder는 반대편에 가깝다. 질의와 문서를 함께 인코딩해 초기 단계부터 두 입력을 상호작용시킨다. 이에 비해 후기 상호작용 모델은 문서를 미리 인코딩할 수 있도록 하면서도, 풀링하지 않은 문맥화 토큰 임베딩을 개별적으로 보존한다.1

따라서 Multi-Vector Embedding Models의 핵심은 단순히 벡터 개수를 늘리는 데 있지 않다. 문서 표현을 사전에 계산하는 구조를 유지하면서, 실제 채점에서는 질의 토큰과 문서 토큰 사이의 대응 관계를 활용한다는 데 의미가 있다.

ColBERT 계열에서 사용되는 MaxSim은 각 질의 토큰과 가장 유사한 문서 토큰의 유사도를 찾고 이를 최종 점수에 반영한다. 이 구조에서는 문서 전체를 대표하는 벡터 하나보다 토큰별 표현이 검색 결과에 직접 관여한다.

Sentence Transformers v6.0이 바꾼 것은 접근성이다

Sentence Transformers v6.0에는 ColBERT 방식의 후기 상호작용 검색을 다루는 MultiVectorEncoder가 추가됐다. 질의에는 encode_query(), 문서에는 encode_document()를 사용하는 비대칭 인코딩 인터페이스가 제공된다. 출력도 고정 길이 벡터 하나가 아니라 입력 토큰 수에 따라 길이가 달라지는 2차원 텐서다.2

호환 범위도 도입 판단에 영향을 준다. MultiVectorEncoder는 PyLate 체크포인트와 Stanford-NLP ColBERT 체크포인트를 직접 불러올 수 있으며, 기존 ColPali 모델도 사용할 수 있다. Sentence Transformers 안에서 다중 벡터 모델의 학습과 평가를 수행할 수 있고, 텍스트뿐 아니라 ColPali 방식의 시각 문서 검색도 다룰 수 있다.2

다만 인터페이스가 통합됐다고 해서 기존 단일 벡터 파이프라인과 비용 구조까지 같아지는 것은 아니다. Sentence Transformers v6.0을 사용하려면 transformers v5.x, torch 2.2 이상, huggingface-hub v1.x가 필요하므로 모델 실험에 앞서 실행 환경과 의존성도 점검해야 한다.

실제 쟁점은 모델보다 인덱스다

다중 벡터 방식에서는 문서 하나가 벡터 하나로 끝나지 않는다. 토큰 수에 따라 저장해야 할 벡터가 늘어나고, MaxSim 채점 역시 토큰 간 비교를 전제로 한다. 따라서 모델 선택은 곧 인덱스 크기와 검색 연산 구조의 선택이 된다.

규모를 가늠할 수 있는 한 사례로 LateOn은 Natural Questions 문서 4,874개를 128차원 토큰 벡터 608,414개로 인코딩했고, float32 기준 311.5MB를 사용했다. 이 수치는 토큰별 표현을 보존할 때 저장량을 별도로 측정해야 한다는 점을 보여주는 참고값이다. 다만 특정 데이터와 설정에서 나온 수치이므로 다른 문서 집합의 비용을 그대로 예측하는 기준으로 사용할 수는 없다.

도입 검토에서는 다음 항목을 분리해 측정할 필요가 있다.

  • 단일 벡터로 압축할 때와 토큰 표현을 보존할 때 검색 결과가 어떻게 달라지는가

  • 문서 수뿐 아니라 문서별 토큰 수가 전체 저장량에 어떤 영향을 주는가

  • MaxSim 채점이 목표 지연 시간과 처리량 조건을 충족하는가

  • 질의 인코딩과 문서 인코딩이 비대칭이라는 점을 데이터 처리 과정에 어떻게 반영할 것인가

  • 텍스트 검색과 시각 문서 검색을 같은 워크플로에서 평가할 필요가 있는가

  • 단일 벡터 검색, 후기 상호작용 모델, Cross-Encoder가 각각 어떤 역할을 맡아야 하는가

플랫폼 통합과 운영 적합성은 별개의 문제다

Sentence Transformers가 학습·평가·체크포인트 로딩을 지원한다는 사실은 실험 진입 장벽을 낮춘다. 특히 PyLate, Stanford-NLP ColBERT, ColPali 자산을 MultiVectorEncoder에서 활용할 수 있다는 점은 기존 모델을 검토할 때 유용하다.

그러나 운영 적합성은 별도의 검증 대상이다. 다중 벡터 모델이 제공하는 토큰 단위 비교가 실제 검색 과제에서 필요한지, 그 차이가 저장 및 연산 비용을 정당화하는지는 데이터와 서비스 조건에 따라 판단해야 한다. 모델 인터페이스가 익숙하다는 이유만으로 인덱스 구조의 변화까지 가볍게 볼 수는 없다.

앞으로 확인할 지점

향후에는 모델 이름이나 단일 품질 지표보다 전체 시스템 지표를 함께 봐야 한다. 동일한 데이터에서 검색 품질, 인덱스 크기, 처리량, 지연 시간을 나란히 비교하고, 텍스트와 시각 문서 검색에서 같은 인터페이스가 실제 운영 복잡도를 얼마나 줄이는지 확인해야 한다.

Multi-Vector Embedding Models의 가치는 모든 검색을 대체하는 데 있는 것이 아니라, 압축 효율과 토큰 단위 의미 대응 사이에서 새로운 설계 선택지를 제공하는 데 있다. Sentence Transformers v6.0은 그 선택지를 실험하기 쉽게 만들었지만, 최종 결정은 모델 기능이 아니라 시스템 전체의 비용과 효과를 기준으로 내려야 한다.

1PyLate: Flexible Training and Retrieval for Late Interaction Models

2SentenceTransformers Documentation

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

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

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

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

참여하기