Training and Finetuning Multimodal Embedding & Reranker Models with Sentence Transformers
Quick Summary
이 글은 Sentence Transformers로 텍스트와 이미지 등 여러 모달리티를 다루는 임베딩 모델을 자체 데이터에 맞게 파인튜닝하는 방법을, 시각 문서 검색 사례를 중심으로 설명합니다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
이 글은 Sentence Transformers로 텍스트와 이미지 등 여러 모달리티를 다루는 임베딩 모델을 자체 데이터에 맞게 파인튜닝하는 방법을, 시각 문서 검색 사례를 중심으로 설명합니다.
📌 핵심 요약
- Sentence Transformers는 검색 증강 생성, 의미 검색 등에 쓰이는 임베딩·리랭커 모델을 사용하고 학습하기 위한 파이썬 라이브러리이며, 이 글은 기존 멀티모달 기능 소개에 이어 직접 학습·파인튜닝하는 절차를 다룹니다.
- 실용 예시로는 Qwen/Qwen3-VL-Embedding-2B를 시각 문서 검색 과제에 맞게 파인튜닝하며, 문서 페이지 이미지를 쿼리와 연결해 검색하는 상황에서 성능 향상을 보여줍니다.
- 저자는 평가 데이터에서 파인튜닝된 모델이 NDCG@10 0.947을 기록해 기본 모델의 0.888보다 높았고, 테스트한 기존 시각 문서 검색 모델들보다도 좋은 결과를 냈다고 설명합니다.
- 훈련 구성 요소는 텍스트 전용 모델 학습과 동일하게 모델, 데이터셋, 손실 함수, 선택적 학습 인자, 평가기, 트레이너로 정리되며, 차이는 데이터 입력에 이미지 등 다른 모달리티가 포함된다는 점입니다.
- 데이터셋 형식과 손실 함수는 기존 Sentence Transformers 방식과 같은 규칙을 따르며, 멀티모달 입력은 텍스트, 이미지, 오디오, 비디오 또는 모달리티별 값을 담은 딕셔너리로 제공될 수 있습니다.
🧩 주요 포인트
- Sentence Transformers는 검색 증강 생성, 의미 검색 등에 쓰이는 임베딩·리랭커 모델을 사용하고 학습하기 위한 파이썬 라이브러리이며, 이 글은 기존 멀티모달 기능 소개에 이어 직접 학습·파인튜닝하는 절차를 다룹니다.
- 실용 예시로는 Qwen/Qwen3-VL-Embedding-2B를 시각 문서 검색 과제에 맞게 파인튜닝하며, 문서 페이지 이미지를 쿼리와 연결해 검색하는 상황에서 성능 향상을 보여줍니다.
- 저자는 평가 데이터에서 파인튜닝된 모델이 NDCG@10 0.947을 기록해 기본 모델의 0.888보다 높았고, 테스트한 기존 시각 문서 검색 모델들보다도 좋은 결과를 냈다고 설명합니다.
- 훈련 구성 요소는 텍스트 전용 모델 학습과 동일하게 모델, 데이터셋, 손실 함수, 선택적 학습 인자, 평가기, 트레이너로 정리되며, 차이는 데이터 입력에 이미지 등 다른 모달리티가 포함된다는 점입니다.
- 데이터셋 형식과 손실 함수는 기존 Sentence Transformers 방식과 같은 규칙을 따르며, 멀티모달 입력은 텍스트, 이미지, 오디오, 비디오 또는 모달리티별 값을 담은 딕셔너리로 제공될 수 있습니다.
🧠 상세 정리
1. 글의 목적과 실험 배경
글은 Sentence Transformers에서 멀티모달 임베딩과 리랭커 모델을 학습하거나 파인튜닝하는 방법을 설명하는 데 초점을 둡니다. 저자는 이전 글에서 텍스트, 이미지, 오디오, 비디오를 처리하는 멀티모달 모델 사용법을 소개했으며, 이번 글에서는 독자 자신의 데이터로 그런 모델을 조정하는 절차를 다룹니다. 중심 사례는 시각 문서 검색으로, 텍스트 질의에 대해 차트, 표, 레이아웃이 보존된 문서 페이지 이미지를 찾아내는 과제입니다. 이 사례를 통해 범용 모델을 특정 도메인에 맞게 학습했을 때 실제 검색 품질이 얼마나 달라질 수 있는지를 보여줍니다.
2. 시각 문서 검색에서 파인튜닝이 필요한 이유
저자는 범용 멀티모달 임베딩 모델이 여러 언어와 여러 작업에 폭넓게 대응하도록 훈련되지만, 그만큼 특정 작업에서 항상 최선의 선택은 아니라고 설명합니다. 예를 들어 시각 문서 검색에서는 “회사의 3분기 매출은 얼마인가?” 같은 질의에 대해 수천 장의 문서 스크린샷 중 가장 관련 있는 페이지를 찾아야 합니다. 이 작업은 신발 사진과 상품 설명을 맞추는 식의 이미지-텍스트 매칭과 다르게, 문서 레이아웃, 표, 차트, 본문 텍스트를 함께 이해해야 합니다. 따라서 도메인 특화 데이터로 파인튜닝하면 모델이 해당 작업의 패턴을 더 잘 학습할 수 있다는 것이 글의 핵심 동기입니다.
3. 파인튜닝 결과로 제시된 성능 변화
글은 Qwen/Qwen3-VL-Embedding-2B를 시각 문서 검색 데이터에 맞게 파인튜닝한 결과를 구체적인 수치로 제시합니다. 저자의 평가 데이터에서 기본 모델은 NDCG@10 0.888을 기록했고, 파인튜닝된 모델은 0.947을 기록했습니다. 또한 저자는 이 파인튜닝 모델이 자신이 테스트한 기존 시각 문서 검색 모델들을 모두 앞섰으며, 그중에는 최대 네 배 큰 모델도 포함되어 있었다고 설명합니다. 이 결과는 단순히 더 큰 모델을 쓰는 것보다, 과제와 데이터에 맞춘 파인튜닝이 검색 품질 개선에 큰 영향을 줄 수 있음을 보여주는 사례로 제시됩니다.
4. 훈련 파이프라인의 기본 구성
멀티모달 Sentence Transformer 모델을 훈련하는 구성 요소는 텍스트 전용 모델을 훈련할 때와 동일한 틀을 따릅니다. 글은 모델, 데이터셋, 손실 함수, 선택적 훈련 인자, 선택적 평가기, 그리고 이 요소들을 결합하는 트레이너를 주요 구성으로 정리합니다. 멀티모달 훈련에서도 같은 SentenceTransformerTrainer를 사용하며, 중요한 차이는 데이터셋 안에 텍스트뿐 아니라 이미지나 다른 모달리티가 함께 들어간다는 점입니다. 이미지 전처리 등은 모델의 프로세서가 자동으로 처리하므로, 사용자는 데이터 형식과 손실 함수의 요구사항을 맞추는 데 집중할 수 있습니다.
5. 기존 멀티모달 모델을 불러와 파인튜닝하는 방식
가장 일반적인 접근은 이미 존재하는 멀티모달 임베딩 모델을 가져와 파인튜닝하거나, 비전-언어 모델 체크포인트에서 시작하는 것입니다. 글의 예시는 Qwen/Qwen3-VL-Embedding-2B를 SentenceTransformer로 불러오면서 model_kwargs와 processor_kwargs를 지정하는 방식을 보여줍니다. model_kwargs는 정밀도나 어텐션 구현 같은 모델 로딩 옵션에 쓰이고, processor_kwargs는 이미지 해상도 범위처럼 전처리에 영향을 주는 설정을 넘기는 데 사용됩니다. 저자는 더 높은 이미지 픽셀 한도는 품질을 높일 수 있지만 메모리 사용량도 늘린다는 점을 함께 설명합니다.
6. 새 비전-언어 체크포인트와 Router 기반 구성
글은 임베딩용으로 이미 학습된 모델뿐 아니라, 아직 임베딩 모델로 학습되지 않은 비전-언어 모델 체크포인트에서 시작할 수도 있다고 설명합니다. Sentence Transformers는 모델 아키텍처를 인식하고 프로세서에서 지원 모달리티를 추론하며, 필요한 forward 방식과 풀링을 자동으로 설정하려고 시도합니다. 자동 감지가 완벽하지 않은 경우에는 저장된 설정 파일에서 모달리티, forward 방식, 출력 처리를 조정할 수 있다고 안내합니다. 또 다른 대안으로 Router 모듈을 이용해 텍스트 인코더와 이미지 인코더를 별도로 구성하고, 입력 모달리티에 따라 적절한 하위 모듈로 라우팅하는 방식도 소개합니다.
7. 시각 문서 검색 데이터셋 구성
실험 데이터셋으로는 tomaarsen/llamaindex-vdr-en-train-preprocessed가 사용됩니다. 이 데이터셋은 llamaindex/vdr-multilingual-train의 영어 부분을 전처리한 것으로, 원본은 공개 인터넷 PDF에서 수집된 다국어 질의-이미지 샘플을 포함하며 질의는 비전-언어 모델을 통해 합성 생성되었습니다. 저자의 전처리 버전은 53,512개의 영어 샘플로 필터링되어 있고, 각 샘플의 ID 기반 하드 네거티브 중 일부를 실제 문서 스크린샷 이미지로 변환해 추가 전처리 없이 훈련에 사용할 수 있게 했습니다. 예시 훈련에서는 query, image, negative_0 열을 골라 앵커, 양성 예시, 하드 네거티브로 이루어진 삼중항을 구성합니다.
8. 데이터 형식과 멀티모달 입력 처리
데이터셋 형식은 선택한 손실 함수의 요구사항과 맞아야 하며, 이 규칙은 텍스트 전용 훈련과 동일합니다. 라벨이 필요한 손실 함수라면 label 또는 score 열이 있어야 하고, 그 외의 열은 입력으로 간주되며 입력 열의 수는 손실 함수가 요구하는 유효 입력 수와 맞아야 합니다. 멀티모달 데이터에서는 문자열 텍스트, 이미지 파일 경로·이미지 객체·배열, 오디오와 비디오 입력, 또는 text와 image 같은 키를 가진 딕셔너리를 사용할 수 있습니다. 데이터 콜레이터는 model.preprocess()를 자동 호출해 입력의 모달리티를 감지하고 적절한 전처리를 적용하므로, 수동 토큰화나 이미지 처리를 별도로 수행할 필요가 없다고 설명합니다.
9. 손실 함수와 네거티브 샘플 활용
제공된 본문에서 구체적으로 설명되는 손실 함수는 CachedMultipleNegativesRankingLoss입니다. 이 손실 함수는 검색 과제에서 흔히 쓰이며, 질의와 양성 예시 쌍에 더해 0개 이상의 하드 네거티브 열을 받을 수 있습니다. 학습 중에는 질의와 양성 예시의 유사도는 높이고, 명시적으로 제공된 하드 네거티브와 같은 배치 안의 다른 샘플에서 온 인배치 네거티브에 대한 유사도는 낮추도록 모델을 유도합니다. 저자는 질의당 네거티브가 많을수록 훈련 신호가 강해지고, 캐시된 변형은 그래디언트 캐싱을 사용해 제한된 GPU 메모리에서도 큰 유효 배치 크기를 가능하게 한다고 설명합니다.
🧾 핵심 주장 / 시사점
- 범용 멀티모달 모델의 성능은 넓은 적용 범위에서 나오지만, 시각 문서 검색처럼 문서 구조와 시각 요소를 함께 해석해야 하는 과제에서는 도메인 데이터 기반 파인튜닝이 핵심적인 차이를 만들 수 있습니다.
- Sentence Transformers의 멀티모달 훈련 흐름은 텍스트 전용 훈련과 같은 추상화를 유지하므로, 사용자는 모델·데이터셋·손실 함수의 조합을 이해하면 이미지가 포함된 검색 모델도 비교적 일관된 방식으로 다룰 수 있습니다.
- 하드 네거티브와 인배치 네거티브를 적극적으로 활용하는 학습 방식은 검색 모델 품질에 직접 연결되며, 멀티모달 모델에서는 배치 크기와 메모리 제약을 함께 고려하는 설계가 중요합니다.
✅ 액션 아이템
- Sentence Transformers의 텍스트 학습 파이프라인과 동일하게 모델·데이터셋·손실·학습 인자·평가기·트레이너를 정합해 멀티모달 파인튜닝 실험 틀을 정리한다.
- Qwen/Qwen3-VL-Embedding-2B 기반 시각 문서 검색에서 쿼리-문서 페이지 이미지 정합 성능을 재현하고 기존 비전 검색 모델 대비 NDCG@10을 비교한다.
- 평가 지표를 NDCG@10으로 통일해 파인튜닝 모델의 0.947 성능을 검증하고, 기본 0.888 대비 개선율이 목표값을 넘는지 점검한다.
❓ 열린 질문
- 멀티모달 입력 딕셔너리에 텍스트·이미지·오디오·비디오를 조합할 때 어떤 모달리티 구성이 실질 성능에 유리한가?
- 문서 페이지 이미지와 텍스트 쿼리의 정합에서 NDCG@10 개선폭이 통계적으로 유의미하다고 판단할 수 있는 기준은 무엇인가?
- 동일한 데이터셋·손실 규칙을 멀티모달에 확장할 때 모달리티별 전처리 편차가 학습 불안정으로 이어질 가능성은 어디에서 발생하는가?