OCR 파이프라인 없이 PDF·시각 문서를 VLM(Vision Language Model)으로 직접 검색하는 ColPali·ColQwen 아키텍처를 소개하고, 실제 운영 환경에서 부딪힌 청킹·그루핑·임계값 문제를 해결한 구현 전략을 공유한다. 텍스트 추출 시 유실되는 시각적 의미(취소선 가격, 표 위치, 인포그래픽 흐름)를 이미지 패치 단위 멀티벡터 검색으로 보존한 경험이 핵심이다.
핵심 포인트- OCR→레이아웃 분석→캡셔닝의 다단계 오류 누적을 VLM 기반 Late Interaction 아키텍처로 극복
- ColPali는 페이지를 패치 단위 멀티벡터로 표현하고 MaxSim으로 쿼리 토큰과 문서 영역을 직접 매칭
- ColQwen2는 동적 해상도(최대 768 비주얼 토큰)를 지원해 다양한 문서 형식에 유연하게 대응
- 11,000px짜리 배너 이미지는 오버랩 청킹으로 경계 정보 손실 방지
- MaxSim 점수가 쿼리 길이에 비례하므로 절대값 아닌 상대 비율 기반 필터링 적용
- 멀티벡터 인덱싱은 페이지당 257.5KB로 텍스트 임베딩(10KB 미만) 대비 약 25배 증가
상세 정리- 기존 한계: PDF 텍스트 변환 파이프라인은 OCR→레이아웃 분석→캡셔닝의 다단계 오류가 누적되고, 취소선 가격·표 위치·인포그래픽 흐름 같은 시각적 의미는 텍스트로 복원 불가
- BiPali 문제: 페이지 전체를 평균 풀링으로 단일 벡터화하면 세부 정보가 뭉개져 검색 품질이 낮아짐
- ColPali 핵심: Late Interaction 아키텍처로 페이지를 패치 단위 벡터 집합으로 표현, 쿼리 토큰마다 문서 패치와 MaxSim 점수를 계산해 특정 영역과 직접 매칭
- ColQwen2 차별점: 유사한 Late Interaction 방식이지만 동적 해상도 처리로 최대 768개 비주얼 토큰 지원, 다양한 문서 형식에 유연하게 적용 가능
- 청킹 전략: 11,000px짜리 배너를 고정 크기로 분할 시 오버랩 구간을 두어 경계 영역 정보 손실 방지
- 그루핑: 동일 출처의 여러 청크가 매칭될 때 최고 점수 결과를 대표로 노출하되, 낮은 순위 매치는 신호로 보존해 召回率 유지
- 적응형 임계값: MaxSim 점수가 쿼리 길이에 비례해 증가하므로 절대값 컷오프가 아닌 상대 비율 기반 필터링으로 일관된 검색 품질 유지
- 스토리지 트레이드오프: ColPali 멀티벡터 인덱싱은 페이지당 257.5KB로 텍스트 임베딩 대비 약 25배 증가, 향후 양자화·토큰 풀링으로 최적화 예정
왜 읽나OCR 없이 PDF·이미지 문서 검색을 구현하려는 ML 엔지니어·RAG 시스템 구축자에게 ColPali/ColQwen의 동작 원리와 실전 구현 함정을 한번에 파악할 수 있다.