
최근 Hugging Face가 Sentence Transformers의 멀티모달 확장과 함께, 텍스트뿐 아니라 이미지·오디오·비디오까지 같은 흐름으로 다룰 수 있는 학습 방향을 소개했습니다12. 이 변화가 중요한 이유는 분명합니다. 이제 검색 시스템이 "문장 찾기"를 넘어 "설명으로 이미지 찾기", "스크린샷으로 문서 찾기"까지 자연스럽게 확장되기 때문입니다.
쉽게 말해, Sentence Transformers는 원래 문장을 숫자 벡터로 바꿔 의미를 비교하는 데 강한 라이브러리였습니다. 여기에 멀티모달 임베딩과 리랭커가 더해지면서, 서로 다른 형태의 데이터를 하나의 검색 파이프라인 안에서 훈련하고 개선하는 시대가 열린 셈입니다.
멀티모달 임베딩과 리랭커, 뭐가 다를까
임베딩 모델은 텍스트나 이미지를 고정 길이 벡터로 바꿔 빠르게 찾는 역할을 합니다. 대규모 문서나 이미지 컬렉션을 미리 벡터화해 두면, 사용자의 질의와 가까운 후보를 순식간에 고를 수 있죠. RAG나 시맨틱 검색에서 먼저 쓰이는 이유가 바로 속도입니다.
반면 리랭커는 더 꼼꼼합니다. 질의와 문서를 한 쌍씩 직접 비교해 "정말 관련 있는가?"를 점수로 매깁니다. 정확도는 높지만 느립니다. 그래서 실무에서는 보통 임베딩으로 1차 후보를 좁히고, 리랭커로 최종 순위를 다듬는 2단 구조를 씁니다3.
이 조합은 멀티모달에서도 그대로 통합니다. 예를 들어 "노란 건물 앞 초록 자동차"라는 텍스트 질의로 관련 이미지를 먼저 찾고, 상위 후보만 리랭커로 다시 평가하는 식입니다.
Sentence Transformers 멀티모달 학습에서 중요한 포인트
이번 확장의 핵심은 API가 거의 그대로라는 점입니다. SentenceTransformer는 임베딩, CrossEncoder는 리랭킹이라는 기존 감각을 유지하면서 입력만 넓어졌습니다. 이미지 URL, 파일 경로, PIL 객체는 물론 오디오와 비디오도 같은 철학으로 들어갑니다2.
학습 관점에서 특히 중요한 건 검색용 프롬프트 구조입니다. encode_query()와 encode_document()는 단순 편의 함수처럼 보이지만, 실제로는 질의와 문서에 서로 다른 프롬프트를 적용할 수 있게 해줍니다2. 검색 모델이 "질문"과 "문서"를 다르게 이해하도록 만드는 작은 장치인데, 성능 차이를 만드는 포인트가 되기 쉽습니다.
또 하나는 배치 구성입니다. in-batch negatives를 쓰는 손실 함수에서는 한 배치 안에 중복 샘플이 섞이면 학습 품질이 흔들릴 수 있습니다. Sentence Transformers는 이를 위해 NoDuplicatesBatchSampler 같은 옵션을 제공하며, 특히 Multiple Negatives 계열 손실과 잘 맞습니다4. 겉보기엔 사소하지만, 실제 파인튜닝 성패를 가르는 운영 팁에 가깝습니다.
실전에서 자주 부딪히는 문제: 모달리티 갭과 자원 요구사항
멀티모달 검색을 처음 해보면 당황하는 지점이 있습니다. 텍스트-텍스트 유사도보다 텍스트-이미지 유사도가 낮게 나오는 경우가 흔하다는 점입니다. 이것은 모델이 이상해서가 아니라, 서로 다른 모달리티의 임베딩이 공간상 약간 떨어져 군집되는 "모달리티 갭" 때문입니다23.
중요한 건 절대 점수보다 순서입니다. 0.8이 안 나와도, 자동차 설명이 벌 사진보다 자동차 사진과 더 가깝게 정렬된다면 검색은 잘 작동합니다. 그래서 운영 단계에서는 점수 자체를 맹신하기보다, 모달리티별 임계값과 재정렬 전략을 따로 보는 게 안전합니다.
하드웨어도 현실적인 변수입니다. VLM 계열 임베딩 모델은 2B급만 해도 대략 8GB 전후 VRAM이 필요하고, 8B급은 20GB 수준이 요구될 수 있습니다23. CPU에서도 돌아가긴 하지만 체감상 "실험은 가능, 운영은 답답"에 가깝습니다. 가벼운 시작이 목적이라면 CLIP 계열이나 소형 모델부터 검증하는 편이 낫습니다.
시사점
Sentence Transformers의 멀티모달 학습은 "새 모델 하나 더 추가"가 아닙니다. 검색 시스템 설계 자체를 단순하게 만드는 변화에 가깝습니다. 텍스트 인덱스, 이미지 인덱스, 별도 로직을 따로 굴리던 구조가 하나의 임베딩-리랭크 파이프라인으로 수렴하기 시작했기 때문입니다.
실무적으로는 이렇게 접근하면 좋습니다. 먼저 작은 멀티모달 임베딩 모델로 검색 흐름을 검증하고, 그다음 리랭커를 붙여 품질을 올리세요. 학습 시에는 query/document 분리, 배치 중복 제거, 긴 문서의 적절한 청킹까지 함께 챙겨야 합니다45. 결국 좋은 멀티모달 검색은 "모델 선택"보다 "학습 데이터와 파이프라인 설계"에서 승부가 납니다.
참고
1Training and Finetuning Multimodal Embedding & Reranker Models with Sentence Transformers
2Multimodal Embedding & Reranker Models with Sentence Transformers
3Sentence Transformers v5.4 Adds Unified Embeddings for Text, Image, Audio, and Video
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
