샌프란시스코 창밖으로 비가 내리는 소리를 들으며, 식어버린 커피를 든 채 또 다른 Sentence Transformers 블로그 게시글을 뒤적인다.
파인튜닝한 멀티모달 임베딩 모델과 Sentence Transformers. 이게 핵심이죠. Qwen/Qwen3-VL-Embedding-2B를 시각 문서 검색(VDR)에 맞게 조정하는 실질적인 가이드입니다. VDR이란 텍스트 쿼리를 사용해 관련 문서 페이지(차트, 표, 레이아웃이 있는 이미지 등)를 찾는 것을 말하죠. 결과는요? tomaarsen/Qwen3-VL-Embedding-2B-vdr이라는 모델이 기본 0.888이던 NDCG@10을 매끈한 0.947로 끌어올렸습니다. 테스트된 모든 것, 심지어 4배나 큰 맹수들까지 능가하는 성적입니다.
여기서 핵심은 이거죠. Qwen 같은 범용 멀티모달 모델은 다양한 데이터(이미지-텍스트 쌍, VQA, 문서 이해 능력 등)로 훈련되어 여러 언어와 태스크에서 잘 작동하도록 만들어집니다. 다재다능해 보이죠? 하지만 기술 세계에서 다재다능함은 저주입니다. 어떤 분야에서도 최고가 되기는 어렵죠. VDR은 레이아웃을 이해하고, 단락 속에 숨은 파이 차트를 해독하며, 수많은 스크린샷 속에서 Q3 매출 수치를 찾아내는 능력을 요구합니다. 이건 운동화 사진과 광고 문구를 연결하는 것과는 차원이 다른 문제입니다.
왜 멀티모달 임베딩을 파인튜닝해야 할까요? 멀티모달 임베딩
파인튜닝은 전문성을 돌에 새기는 것과 같습니다. 맞춤형 평가 데이터에서 이 조정은 단순한 개선이 아니라 비약적인 발전을 이끌어냅니다. 하지만 솔직해지자고요. 벤치마크는 놀이터일 뿐입니다. 진짜 돈은 실험실 장난감이 아니라 엔터프라이즈 문서 검색으로 확장될 때 벌립니다.
그리고 제 냉소적인 면모는요? 저는 Web 2.0 거품 이후 밸리 하이프 사이클을 수없이 지켜봤습니다. 모든 스타트업이 임베딩으로 ‘시맨틱 검색’을 약속했지만 결국 구글에 밀렸던 때를 기억하시나요? 이건 너무 익숙한 패턴입니다. 오픈소스 tinkering이 결국 빅테크에 흡수되는 거죠.
파이프라인은 텍스트 전용 훈련과 거의 동일하게 간단합니다. 모델, 데이터셋, 손실 함수, 인자, 평가자, 훈련기를 가져오세요. SentenceTransformerTrainer가 이미지 준비를 자동 처리하는 프로세서와 함께 이 모든 것을 하나로 묶어줍니다. 마법이 아닙니다.
모델 로드 예시입니다:
from sentence_transformers import SentenceTransformer model = SentenceTransformer( “Qwen/Qwen3-VL-Embedding-2B”, model_kwargs={“attn_implementation”: “flash_attention_2”, “torch_dtype”: “bfloat16”}, processor_kwargs={“min_pixels”: 28 * 28, “max_pixels”: 600 * 600}, )
픽셀 조정으로 품질 대 메모리 간의 고전적인 트레이드오프를 관리하세요. 또는 원시 VLM에서 시작해도 됩니다. 모든 양식(텍스트, 이미지, 비디오, 심지어 메시지)을 자동으로 감지합니다. model.modalities를 출력하여 확인하세요. 아주 편리하죠.
데이터셋은 어떻고요? 텍스트 쿼리와 이미지 문서 쌍, 대조 손실을 위한 긍정/부정 데이터입니다. MultipleNegativesRankingLoss 또는 CosineSimilarityLoss 같은 손실 함수는 관련 있는 것들을 가깝게 끌어당기고, 쓸모없는 것들을 멀리 밀어냅니다. 평가자는 훈련 중간에 정상 작동 여부를 확인합니다.
훈련 인자는 에포크, 배치 크기, wandb 로깅 등을 제어합니다. 일반적인 것들이죠. 훈련기를 실행하면 여러분은 전문가처럼 이미지를 임베딩하게 됩니다.
결과가 말해줍니다. 0.947 NDCG@10은 허황된 것이 아닙니다. VDR에서 4배 더 큰 모델들을 능가하죠. 하지만 제 독특한 지적은 이겁니다. 이건 2018년 BERT 파인튜닝 열풍과 유사합니다. 그때는 모두가 NLP를 위해 파인튜닝했고, 이제는 멀티모달입니다. 제 예측은요? 2026년까지 Snowflake나 Pinecone의 VDR API가 이를 번들로 제공하며, 쿼리당 요금을 부과할 것이고, 오픈소스는 먼지만 쌓여갈 것입니다.
Sentence Transformers로 멀티모달 랭커를 정말 파인튜닝할 수 있을까?
네. 랭커는 상위 k개의 임베딩을 정제하여 더 깊이 점수를 매깁니다. 동일한 훈련기지만, 크로스-인코더 느낌으로 멀티모달 랭커는 쿼리-문서 쌍을 함께 처리합니다. 계산량이 많지만, 정확도를 높이는 데는 최고죠. 이 글에서 간략하게 설명하고 있으며, NDCG도 더 높아질 것으로 예상됩니다.
보세요, PR 홍보는 ‘모든 것을 능가한다!’고 외칩니다. 하지만 평가 비용은 누가 대고 있을까요? 도메인 데이터가 핵심입니다. 여러분의 문서, 여러분의 승리죠. 그것 없이는 기본 모델은 실패합니다.
라우터 대안: 별도의 인코더를 엮는 것입니다 (이미지는 CLIP, 텍스트는 BERT). 유연하지만 프랑켄슈타인 같죠. 단일 VLM 백본이 일관성을 위해 승리합니다.
저는 word2vec 시절부터 임베딩을 쫓아왔습니다. Sentence Transformers? 견고한 라이브러리, 과장된 용어는 없습니다. 하지만 돈 문제는요? 기업은 자체 파인튜닝이 아닌, 호스팅된 파인튜닝에 비용을 지불합니다. Hugging Face Spaces가 이를 수익화하지만, 저자는 급여 대신 별(stars)을 얻을 뿐입니다.
회의적이신가요? 직접 테스트해보세요. 리포를 가져오고, 이미지를 PDF로 변환하고, 쿼리해보세요. VDR이 여러분의 전문 분야라면(법률 문서, 금융 자료 등), 이건 일반 모델을 압도할 것입니다.
하지만 더 넓게 보면, 멀티모달은 폭발적으로 성장하고 있지만 RAG 파이프라인은 여전히 시각 자료에서 막힙니다. 파인튜닝이 이 간극을 메웁니다. 하지만 밸리의 패턴은 동일합니다. 오픈 혁신, 클로즈드 수익.
멀티모달 파인튜닝에 Sentence Transformers가 최고인가?
개발자에게는? 의심할 여지 없이요. 파이썬스럽고, 검증되었습니다. JAX의 난해함보다 낫죠. 하지만 1000억 개 파라미터로 확장하려면요? 그건 독점적인 영역이죠.
한 문단 요약: 하드웨어 집약적입니다. A100에서 20억 개 모델? 괜찮습니다. 더 큰 것을 위해 클러스터를 돌리려면요? 기도해야 할 겁니다.
심층 분석 시간입니다. 데이터셋이 가장 중요합니다. VLM에서 생성된 합성 쌍은 위험한 할루시네이션을 유발할 수 있습니다. 실제 문서 - 여러분의 코퍼스를 스캔하고, 쿼리를 레이블링하세요. 손실 함수는요? 검색에는 대조적 손실이 최고입니다. MNRL을 사용하세요.
평가자 팁: 보류된 세트에 InfoNCE를 적용하세요. 개발 perplexity를 추적하라고요? 아니요, 검색 지표가 중요합니다.
훈련기 팁: 큰 배치를 위한 그래디언트 누적, 속도를 위한 fp16. FlashAttn2는 메모리를 줄여줍니다. 소비자용 GPU에서도 게임 체인저죠.
역사적 비유: 2015년 도메인 이미지에 ResNet을 파인튜닝했던 것처럼, 이 멀티모달 전환은 레이아웃에 대한 검색 능력을 강화합니다. 대담한 예측입니다. 2025년까지 VDR이 기업에서 CLIP을 밀어낼 것입니다.
홍보 문구 비판: ‘테스트된 모든 것을 능가한다.’ 어떻게 테스트했나요? 공개 리더보드? 선별된 데이터? CSV를 보여주세요, 여러분.
워크스루 마무리 — 실행 가능한 황금입니다. 초보자: 멀티모달 기본 사항에 대한 이전 글을 읽어보세요. 텍스트만요? 이전 글들이 다룹니다.
제 평결은요? 시도해보세요. 성과는 현실적입니다. 하지만 질문해야 합니다. 여러분의 도메인 데이터 레이블링 비용을 누가 대고 있습니까?
🧬 관련 인사이트
자주 묻는 질문
시각 문서 검색(VDR)이란 무엇인가요? VDR은 텍스트 쿼리를 관련 문서 이미지와 매칭하여 레이아웃, 표, 차트를 보존합니다. 금융 보고서나 계약서 검색에 이상적입니다.
멀티모달 임베딩 파인튜닝은 얼마나 개선되나요? 이 경우, NDCG@10이 0.888에서 0.947로 뛰어올라 더 큰 모델들을 능가했습니다. 데이터셋에 따라 결과는 달라질 수 있습니다.
Sentence Transformers로 자체 멀티모달 모델을 파인튜닝할 수 있나요? 네, SentenceTransformerTrainer를 이미지-텍스트 쌍과 함께 사용하면 됩니다. Qwen VLM에서 바로 작동합니다.