특정 모델 예시

특정 모델 예시 (Specific Model Examples)

vLLM의 pooling 모델 중에는 특별한 설정이 필요한 모델들이 몇 개 있어요. 이 페이지에서는 ColBERT 계열, ColQwen3, BAAI/bge-m3 같은 특수 모델을 어떻게 다루는지 구체적인 예시로 보여드릴게요. 일반적인 모델이라면 좀 더 간단한데, 이들은 아키텍처 특성상 손을 좀 봐줘야 해요.

출처: vLLM 공식 문서 — models/pooling_models/specific_models

ColBERT 지연 상호작용 모델 (ColBERT Late Interaction Models)

BERT 기반 ColBERT 모델은 별다른 설정 없이 바로 작동해요.

vllm serve answerdotai/answerai-colbert-small-v1

BERT가 아닌 백본(backbone) 을 쓰는 모델은 --hf-overrides로 올바른 아키텍처를 설정해줘야 해요.

ColQwen3 멀티모달 지연 상호작용 모델 (ColQwen3 Multi-Modal Late Interaction Models)

ColBERT가 텍스트 전용 토큰 임베딩을 다루는 반면, ColPali/ColQwen3는 텍스트와 이미지 (예: PDF 페이지, 스크린샷, 다이어그램)를 모두 토큰별 L2-정규화된 벡터로 임베딩할 수 있어요. 그리고 MaxSim 스코어링으로 관련성을 계산하죠.

멀티모달 스코어링과 재순위화 (Multi-modal scoring and reranking)

/score에는 data_1/data_2 필드, /rerank에는 documents 필드를 사용해 이미지 문서를 전달해요. 이 필드들은 image_urltext 부분을 담은 content 리스트를 받아요. 형식은 기존 방식과 동일해요.

ColQwen3.5 멀티모달 지연 상호작용 모델 (ColQwen3.5 Multi-Modal Late Interaction Models)

Qwen3.5 하이브리드 백본(linear + full attention)을 사용하고, MaxSim 스코어링을 위한 토큰별 L2-정규화 벡터를 생성해요.

Llama Nemotron 멀티모달 (Llama Nemotron Multimodal)

임베딩 모델 (Embedding Model)

오버라이드 템플릿은 메시지 role을 이용해 적절한 접두사를 자동으로 붙여줘요. 쿼리("query")에는 query: 접두사를, 문서("document")에는 passage: 접두사를 붙이고, 그 외 role은 접두사를 생략해요. 텍스트 쿼리 임베딩은 이렇게 수행할 수 있어요.

BAAI/bge-m3

전체 모델 가중치를 로드하려면 아키텍처를 다음과 같이 오버라이드해야 해요.

vllm serve BAAI/bge-m3 --hf-overrides ...

구체적인 방법은 tests/models/language/pooling/test_bge_m3.py의 테스트를 참고하세요.

더 알아보기 (Learn more)