모델과 서비스

llama.cpp b11928, OCR 점수 모델 MiniCPM-OCR-Jev 지원 추가

llama.cpp 빌드 b11928이 MiniCPM-OCR-Jev 모델을 지원한다. 글을 생성하지 않고 OCR 결과가 이미지와 맞는지 점수만 매기는 모델이며, 별도 엔드포인트로 호출한다.

루카스 ·

llama.cpp 프로젝트가 빌드 b11928에서 MiniCPM-OCR-Jev 모델 지원을 추가했다(#30980). 이 모델은 Qwen3.5-VL 몸통 위에 마지막 토큰에서 값을 읽는 가치 헤드를 얹은 구조다. 텍스트를 생성하지 않고, OCR로 읽어 낸 글이 그 글을 렌더링한 이미지와 얼마나 맞는지 점수를 매긴다.

사용하려면 서버의 POST /v1/systemone 경로를 호출한다. 이를 위해 openbmb-minicpm-ocr-jev라는 결정 유형이 새로 생겼다. 빌드는 macOS, Linux, Android, Windows용으로 배포되며 CUDA 12·13, Vulkan, ROCm, OpenVINO, SYCL, Snapdragon 빌드가 포함된다.

클래스 점수는 시퀀스의 풀링 출력이며, 마지막 토큰 풀링 방식으로 읽는다. 변환기는 score.weight를 cls.output으로 옮기고 embedding_length_out을 설정한다. 후속 커밋에서는 GGUF 메타데이터의 classifier_output_labels를 쓰도록 바꿨다. 체크포인트의 config.json에는 MiniCPMOCRForSequenceClassification이 선언돼 있다.

체크포인트에는 언어 모델 출력층(LM head)이 없다. 그래서 llama.cpp는 토큰 임베딩을 복제한 출력 가중치를 쓰는 대신 텍스트 생성 요청을 거부한다. 작업이 고정돼 있어 프롬프트는 모두 systemone 템플릿에 들어 있으며, h2o-lightning도 기본값을 같은 방식으로 둔다.

이 모델의 프로세서는 이미지 한 장당 병합 토큰을 최대 16384개까지 허용하며, 이는 llama.cpp의 멀티모달 모듈 mtmd가 Qwen-VL에 적용하는 기본값보다 많다. mmproj는 preprocessor config에 적힌 이미지 예산을 유지한다.

점수 계산은 POST /v1/systemone으로 처리한다. OCR 파이프라인을 만드는 개발자는 인식 결과가 이미지와 맞는지 이 경로로 점수를 받아 로컬에서 검증하는 데 쓸 수 있다.

댓글

기사에 대한 의견이나 틀린 내용 제보를 남겨 주세요.

댓글을 불러오고 있습니다.