Sentence Transformers로 다루는 멀티모달 임베딩과 reranker 모델
핵심 내용
Sentence Transformers v5.4로 text, image, audio, video를 같은 API로 비교한다.
자세히 보기
Sentence Transformers v5.4에서 멀티모달 입력이 본격적으로 열린다. 이제 text, image, audio, video를 같은 encode() API로 임베딩하고 비교할 수 있어, semantic search, RAG, 크로스모달 검색을 한 흐름으로 만들 수 있다.
멀티모달 embedding model은 서로 다른 모달리티를 같은 임베딩 공간에 놓고, reranker(CrossEncoder) 는 쿼리와 문서 쌍의 관련도를 직접 점수화한다. 전자는 빠른 후보 검색에 유리하고, 후자는 더 정확하지만 느리며, 둘을 조합하면 retrieve and rerank 패턴을 깔끔하게 구현할 수 있다.
사용법도 기존 Sentence Transformers와 크게 다르지 않다. 이미지 지원은 sentence-transformers[image], 오디오는 sentence-transformers[audio], 비디오는 sentence-transformers[video] 같은 extras를 설치하면 되고, 예시로는 Qwen/Qwen3-VL-Embedding-2B 와 Qwen/Qwen3-VL-Reranker-2B 를 사용한다. 다만 이 모델들은 아직 integration PR이 머지되지 않아 revision="refs/pr/23" 또는 revision="refs/pr/11" 지정이 필요하다.
임베딩 모델은 URL, 로컬 파일 경로, PIL Image 같은 입력을 받아 이미지 임베딩을 만들고, 텍스트와의 cross-modal similarity 도 계산한다. 다만 modality gap 때문에 텍스트-텍스트보다 점수가 낮게 나오는 것이 정상이며, 중요한 것은 절대값보다 상대적 순서 다. Retrieval 용도에서는 encode_query() 와 encode_document() 를 쓰면 모델이 정의한 query/document prompt를 자동으로 적용한다.
reranker는 더 직접적으로 혼합 모달리티 문서의 순위를 매긴다. 예시에서는 rank() 가 자동차 이미지, 텍스트 설명, 이미지+텍스트 문서가 섞인 후보들 중에서 자동차 이미지를 1위로 올렸고, supports() 와 modalities 로 어떤 입력 조합을 처리할 수 있는지도 확인할 수 있다. 필요한 경우 predict() 로 pair별 raw score를 얻어 정밀한 후처리까지 연결할 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.