Surya2 vs Unlimited-OCR vs PaddleOCR-VL:
영수증 VLM 벤치마크 (2026)
마지막 검토: 2026-08-18 · 실행 등급: 공식 · 1차-party 3방향 VLM 벤치마크 · 3개 엔진 × 2개 영수증 데이터셋
이 페이지의 범위 외: 영수증 이외의 모든 문서 유형 — 표, 양식, 송장, 계약서 또는 긴 문서는 포함되지 않습니다. 3개 엔진이 마케팅하는 강점은 여기서 측정되지 않습니다. 클라우드/API OCR 서비스, 기본 실행의 나머지 5개 엔진, 파인튜닝된 모델은 범위 밖입니다. 전체 8엔진 요약은 기존 OCR vs 문서 파싱 VLM에 있습니다.
이 페이지의 모든 수치 범위: 영수증, 단일 GPU 등급, 2026년 8월 모델 버전. 이 결과를 송장, 표 또는 복잡한 레이아웃에 외삽하지 마십시오 — 벤치마크는 영수증 OCR 및 영수증 필드 추출만 측정합니다. 모든 수치는 벤치마크의 results/summary_metrics.csv 및 results/field_method_comparison.csv에서 제공되며, 공개 GitHub 저장소에 미러링되고 행별로 인용됩니다.
세 문서 파싱 VLM이 동일한 361개의 영어 영수증을 읽었을 때, 원시 문자 오류율(CER)은 3.4배의 차이를 보였습니다 — SROIE 2019 CER 0.1915 (Surya2) 대 0.6552 (Unlimited-OCR), PaddleOCR-VL은 그 중간인 0.3370입니다. 이 격차는 주로 출력 관례에서 비롯되며, 읽기 능력 때문이 아닙니다: VLM은 대소문자를 통합하고, 레이블/값 줄을 병합하며, 텍스트 순서를 재배열하는데, CER은 이러한 모든 정규화를 오류로 계산합니다. 세 엔진을 실제로 구축된 지표인 필드 추출에 놓으면 격차는 줄어듭니다: 기본 정규식 필드 F1은 세 엔진 모두 0.3183–0.3376 범위이며, LLM 후처리기가 텍스트를 읽으면 0.5921–0.6139로 수렴합니다. 세 엔진이 실질적으로 차이를 보이는 부분은 인도네시아 영수증과 작동 범위입니다.
한 쌍의 숫자로 요약하면: PaddleOCR-VL은 영수증 페이지를 p50 기준 694.3 ms에 $0.205 per 1,000 pages로 읽고, Surya2는 p50 기준 2,668.0 ms에 $1.061 per 1,000 pages로 읽습니다 — 동일한 영수증, 동일한 테스트 분할, 동일한 RTX 4090. 세 엔진 중 가장 저렴하고 느린 것은 동일한 기계이며, 영수증에서 문자 수준 "품질" 리더가 가장 비쌉니다. 세 엔진 중 어느 것도 모든 면에서 "승리"하지 않습니다; 이 페이지의 요점은 벤치마크의 각 축이 어떻게 현장을 가르는지를 보여주는 것입니다.
세 엔진 모두 문서 파싱 비전-언어 모델(VLM)입니다. 이는 전체 문서 이미지를 읽고 이해한 텍스트를 출력하는 신경망 모델로, 대문자/소문자 변환, 레이블/값 쌍을 단일 줄로 병합, 읽기 순서에 따라 행을 재정렬하는 등의 처리를 거칩니다. 이는 전통적인 OCR 엔진이 반환하는 원래 대소문자가 유지된 원시 문자 스트림과는 다릅니다. 이러한 출력 규칙이 바로 이들의 필드 추출 점수가 기본적으로 강력하고, 원시 문자 오류율이 왜곡되어 보이는 이유입니다. 다음 섹션에서 이를 보여줍니다. VLM 가족 내에서 세 모델은 크기와 학습 목표가 크게 다릅니다. Surya2는 650M 파라미터의 텍스트 중심 모델로, 깨끗한 전체 페이지 전사에 최적화되어 있습니다. PaddleOCR-VL은 0.9B의 소형 범용 모델로, 언어, 표, 수식에 걸친 광범위한 지원을 위해 구축되었습니다. Unlimited-OCR은 긴 문서 및 일괄 파싱에 초점을 맞추고 있습니다. 아래의 모든 CER 수치에 적용되는 중요한 주의 사항이 있습니다. 문자 오류율(CER)은 삽입, 삭제, 대체를 정답 문자와 비교하여 계산하므로, VLM이 수행하도록 훈련된 정규화를 정확히 페널티로 부과합니다. 필드 수준 F1 점수가 더 공정한 VLM 간 비교 기준이며, 이것이 본 페이지의 핵심입니다.
VLM에 CER을 사용하지 않는 이유: 3.4배 차이는 출력 규칙이지 읽기 능력이 아닙니다
원시 CER 열만 보면 Unlimited-OCR은 실패한 모델처럼 보이고, Surya2는 세계 최고 수준처럼 보입니다. 두 해석 모두 출력 스타일의 산물입니다. CER 0.6552를 기록한 동일한 Unlimited-OCR 텍스트는 0.4779 WER을 기록합니다. 대소문자 변환은 단어를 깨뜨리지 않으면서 문자를 대체하기 때문에 단어는 살아남지만 문자는 훼손되어 보입니다. PaddleOCR-VL의 수치는 패턴을 뒤집습니다. CORD CER 1.0805는 8엔진 중 최악이지만, CORD 필드 F1 0.3412는 8엔진 중 최고입니다. 벤치마크 자체의 CSV가 CER 순위와 모순됩니다.
메커니즘은 두 층으로 구성됩니다. 1층 — 정규화 비용: 문서 파싱 VLM은 "이해한" 텍스트를 출력합니다. 예를 들어 TAN CHAY YEE는 tan chay yee가 되고, INVOICE NO : PEGIV는 레이블과 값을 한 줄로 병합합니다. CER은 정확한 문자 매칭이므로, 필드 값이 올바르더라도 대소문자가 변환된 모든 문자와 병합된 줄은 오류로 점수를 받습니다. 벤치마크의 오류 분해 분석에 따르면, 공개된 SROIE 예측에서 원시 CER의 약 1/5은 대소문자 대체에, 약 1/10은 줄 병합/누락에 기인합니다. 세 엔진은 서로 다른 비율로 이 비용을 지불합니다. Unlimited-OCR의 과도한 대소문자 변환은 CER을 WER보다 훨씬 부풀리고, PaddleOCR-VL의 줄/레이블 병합은 WER(0.6462)을 자체 CER(0.3370)보다 높입니다. 2층 — CORD의 정답 구조 팽창: CORD의 정답 텍스트는 주석 구조를 포함하고 있어, 모든 엔진의 CER이 진정한 언어 불일치 위에 체계적으로 부풀려집니다. 모든 엔진의 CORD CER 클러스터가 0.90~1.08인 것은 이 팽창이 모델별이 아니라 전체 코퍼스에 걸쳐 있음을 확인시켜 줍니다.
| 지표 (SROIE 2019, n=361) | Surya2 | Unlimited-OCR | PaddleOCR-VL | 출처 |
|---|---|---|---|---|
| 문자 오류율(CER) | 0.1915 | 0.6552 | 0.3370 | summary_metrics.csv · cer, surya2/unlimited_ocr/paddleocr_vl_vllm sroie_2019 행 |
| 단어 오류율(WER) | 0.2735 | 0.4779 | 0.6462 | summary_metrics.csv · wer, 동일 행 |
표: summary_metrics.csv — cer 및 wer 열, sroie_2019 행. 정확한 값: Surya2 cer 0.19147 / wer 0.27352; Unlimited-OCR cer 0.65524 / wer 0.47788; PaddleOCR-VL cer 0.33696 / wer 0.64623. 낮을수록 우수하며, 세 가지 실행 모두 error_rate 0.0으로 완료되었습니다. VLM을 CER로 순위 매기지 마십시오: Unlimited-OCR의 CER/WER 차이(0.6552 vs 0.4779)와 PaddleOCR-VL의 CORD CER 대 필드 F1 역전은 이 벤치마크 프로토콜이 VLM 행에서 지적하는 정확한 유형의 출력 관례적 산물입니다.
레이어 1과 2의 결과로, 이 페이지의 나머지 모든 섹션은 세 가지 VLM을 필드 추출 F1과 작동 범위로 비교하며 — CER은 주의 사항과 함께 인용합니다. 이는 문서 파싱 VLM 행에 대한 벤치마크 프로토콜 규칙이며, 올바른 관점입니다. 영수증 파이프라인은 문자 스트림이 아닌 필드를 소비합니다.
개봉 즉시 필드 추출: 구조화된 출력은 VLM 패밀리의 특성
각 엔진의 원시 텍스트를 SROIE 영수증의 네 가지 필드에 대해 동일한 고정 정규식 패턴으로 처리합니다 — 전통적인 OCR + 규칙 기반 핵심 정보 추출(KIE) 접근 방식 — 세 개의 VLM은 0.02점 범위 내에 위치합니다: Unlimited-OCR 0.3376, PaddleOCR-VL 0.3368, Surya2 0.3183. 세 엔진 모두 8개 엔진 테스트에서 상위 4위 안에 들며, 두 엔진은 최고의 전통 엔진을 능가하고, 나머지 한 엔진은 0.007점 차이로 뒤처집니다. 이들의 "이해된 텍스트"는 LLM 후처리기 없이도 필드 소비자에게 도달합니다 — 이는 원시 문자 OCR 엔진이 갖지 못하는 패밀리 특성입니다.
필드 값 F1은 추출된 필드 값을 기준 데이터와 비교한 정밀도와 재현율의 조화 평균입니다: 1.0은 모든 영수증 필드가 완벽하게 복원됨을 의미하고, 0은 아무것도 추출되지 않음을 의미합니다. VLM 패밀리의 우위 뒤에 있는 메커니즘은 위에서 설명한 출력 형태입니다 — 동일한 대소문자 통합, 레이블 구조화 텍스트는 CER을 높이지만 추출 패턴과 일치합니다. "정규식 필드 추출" 열은 벤치마크의 postprocessed_sroie_receipt_regex_* 지표입니다: 이는 OCR 텍스트 + 하위 규칙 기반 추출을 측정하며, 네이티브 구조화된 출력이 아니며, 동일한 패턴 세트가 모든 엔진에 적용되었습니다. 대조적으로, 전통 엔진들의 정규식 필드 F1은 0.0766(docTR), 0.1477(EasyOCR), 0.2237(Docling), 0.2335(Tesseract)로 나타납니다 — 비-VLM 엔진 7개 중 6개가 이 트리오의 최저 점수보다 낮습니다.
출처: field_method_comparison.csv — regex_field_value_f1 / llm_field_value_f1 열, sroie_2019 행. LLM 후처리기: deepseek-v4-flash. 엔진당 361개 샘플(llm_ok_count).
| Regex 후처리 (SROIE 2019, n=361) | Surya2 | Unlimited-OCR | PaddleOCR-VL | 출처 |
|---|---|---|---|---|
| 필드-값 F1 (regex) | 0.3183 | 0.3376 | 0.3368 | field_method_comparison.csv · regex_field_value_f1, surya2/unlimited_ocr/paddleocr_vl_vllm sroie_2019 행 |
| 필드-값 정확도 (regex) | 0.2999 | 0.3089 | 0.3102 | field_method_comparison.csv · regex_field_value_accuracy, 동일 행 |
| 문서-필드 정확 일치 (regex) | 0.0194 | 0.0028 | 0.0028 | field_method_comparison.csv · regex_document_fields_exact, 동일 행 |
표: field_method_comparison.csv — regex 열, sroie_2019 행. 이는 postprocessed_sroie_receipt_regex_* 지표입니다: 각 엔진의 OCR 텍스트에 고정 패턴을 적용한 결과입니다. Surya2의 0.3183은 세 엔진 중 가장 낮지만, 8개 엔진 중 4위를 차지하며 최고의 기존 엔진보다 0.007 낮습니다.
LLM 레버: 세 엔진의 수렴
세 엔진의 OCR 텍스트를 구조화된 추출 프롬프트와 함께 LLM 후처리기(deepseek-v4-flash, temperature 0)에 입력하면, 초기 성능 차이가 좁아져 거의 동률에 가까워집니다: Surya2 0.6139, Unlimited-OCR 0.6054, PaddleOCR-VL 0.5921 — 0.022점 차이로, 건강한 엔진을 위한 벤치마크의 0.57~0.62 수렴 대역 안에 완전히 위치합니다. 결정적인 요소는 VLM이 아닌 후처리기입니다.
이는 전체 8엔진 실행이 보여주는 것과 동일한 수렴 패턴입니다. LLM은 문자 모양을 매칭하는 대신 의미를 이해하므로, 텍스트가 충분히 읽을 수 있는 한 상위 텍스트 품질의 대부분의 차이를 흡수합니다. 세 VLM 모두 이 조건을 충족하며, 대역 안에 위치합니다. 이 레버에는 비용이 따릅니다. LLM 호출은 OCR 시간 외에 문서당 중간값 지연 시간을 대략 1.9~2.3초 추가합니다. 이는 동기적 페이지별 대기보다 비동기적 일괄 처리를 선호하게 만듭니다. 문서 수준 정확도 — 모든 네 필드가 일치한 영수증의 비율 —은 세 엔진 모두 낮게 유지됩니다(0.1219~0.1551). 이는 필드별 F1 점수가 의미 있는 운영 지표임을 상기시켜 줍니다.
| LLM 후처리 (SROIE 2019, n=361) | Surya2 | Unlimited-OCR | PaddleOCR-VL | 출처 |
|---|---|---|---|---|
| 필드-값 F1 (LLM) | 0.6139 | 0.6054 | 0.5921 | field_method_comparison.csv · llm_field_value_f1, surya2/unlimited_ocr/paddleocr_vl_vllm sroie_2019 행 |
| 필드-값 정확도 (LLM) | 0.6136 | 0.6046 | 0.5852 | field_method_comparison.csv · llm_field_value_accuracy, 동일 행 |
| 문서-필드 정확 일치 (LLM) | 0.1551 | 0.1302 | 0.1219 | field_method_comparison.csv · llm_document_fields_exact, 동일 행 |
| LLM 중간값 지연 시간 (ms) | 2,261.7 | 1,982.0 | 1,946.7 | field_method_comparison.csv · llm_median_latency_ms, 동일 행 |
표: field_method_comparison.csv — llm_* 열, sroie_2019 행. LLM 모델: deepseek-v4-flash, temperature 0. LLM 지연 시간은 API로 인한 것이며 엔진 지연 시간과 별개입니다(summary_metrics.csv latency_p50_ms).
CORD (인도네시아 영수증): 소형 범용 모델의 승리
CORD v2는 벤치마크의 다국어 스트레스 테스트입니다 — 그리고 이곳에서 세 VLM이 본격적으로 차별화됩니다. 동일한 영어 형식의 정규식 패턴을 통해 PaddleOCR-VL은 인도네시아 영수증 필드를 0.3412 필드 F1 점수로 추출합니다 — 이는 전체 벤치마크의 8개 엔진 중 최고 기록입니다 — 반면 Surya2는 0.2458을, Unlimited-OCR는 0.1079를 기록합니다. 소형 범용 모델의 학습 범위가 텍스트 중심 및 장문서 모델이 약세를 보이는 정확한 지점을 보여줍니다.
모든 CER 값은 벤치마크 프로토콜에 의해 격리되며 어떤 SROIE 순위에도 합산되지 않습니다: CORD의 실측 데이터는 주석 구조를 포함하고 있어, 정규식 패턴은 영어 형식용으로 작성되었습니다. 아래의 CORD 비교는 필드 지표만 포함합니다. LLM 후처리기 하에서 언어 충격은 SROIE에서와 마찬가지로 흡수됩니다: 세 모델은 0.4678–0.5203 필드 F1 점수(Surya2 0.5203, PaddleOCR-VL 0.5198, Unlimited-OCR 0.4678)로 다시 수렴합니다 — 언어 간 작업을 수행하는 것은 엔진이 아닌 후처리기입니다.
출처: summary_metrics.csv — field_f1_regex 열, cord_v2 행. PaddleOCR-VL 0.3412는 파일의 전체 16행에서 field_f1_regex의 최대값입니다; CORD 정규식에서 차선은 Surya2 0.2458입니다.
| CORD v2, 인도네시아 영수증 (n=100) | Surya2 | Unlimited-OCR | PaddleOCR-VL | 출처 |
|---|---|---|---|---|
| 필드-값 F1 | 0.2458 | 0.1079 | 0.3412 | summary_metrics.csv · field_f1_regex, surya2/unlimited_ocr/paddleocr_vl_vllm cord_v2 행 |
| 필드-값 F1 (LLM) | 0.5203 | 0.4678 | 0.5198 | field_method_comparison.csv · llm_field_value_f1, 동일 행 |
| 문자 오류율 (CER) — 격리됨 | 0.8959 | 0.9224 | 1.0805 | summary_metrics.csv · cer, 동일 행 |
표: summary_metrics.csv (field_f1_regex / cer) 및 field_method_comparison.csv (llm_field_value_f1), cord_v2 행. CORD 수치를 어떤 SROIE 순위에도 병합하지 마십시오: CORD CER는 정상적인 언어 불일치와 기준 데이터의 주석 구조적 팽창을 결합한 것입니다; PaddleOCR-VL의 CER 1.0805는 8개 엔진 중 가장 높은데, 이는 정규화된 깨끗한 출력이 CORD의 구조가 많이 포함된 기준 데이터와 가장 다르기 때문입니다 — 반면 정규식 필드 F1은 벤치마크 최고 성능입니다.
운용 범위: 3.8배 지연 시간, 5.2배 비용
필드 정확도는 수렴하지만, 운용 비용은 그렇지 않습니다. 동일한 RTX 4090에서 동일한 기록된 $0.76/hr 요율로, PaddleOCR-VL은 페이지당 694.3 ms p50로 68.2페이지/분을 유지하며 1,000페이지당 $0.205의 비용이 듭니다; Unlimited-OCR은 범위 중간에 위치하여 34.4페이지/분, 1,600.7 ms p50, 1,000페이지당 $0.388입니다; Surya2는 가격 및 지연 시간 면에서 이탈자로 12.1페이지/분, 2,668.0 ms p50, 1,000페이지당 $1.061입니다. 가장 빠른 VLM은 동일한 하드웨어에서 가장 느린 것보다 3.8배 빠르고 5.2배 저렴합니다.
비용은 벽시계 실행 시간 × RunPod RTX 4090 요율로 계산되며, 모델 초기화를 포함합니다 — 이는 실제로 지불하게 될 GPU 시간 비용입니다. 처리량은 동일한 초기화를 포함한 벽시계 페이지/분입니다. 지연 시간 p50/p95는 모델 로딩을 제외하고 워밍업 후 점수를 매긴 상태에서 측정된 안정 상태 페이지당 추론 시간입니다; Surya2의 꼬리 부분은 비례적으로 더 나쁩니다 — PaddleOCR-VL의 1,154.3 ms에 비해 5,872.2 ms p95 — 이는 VLM 프리필/디코딩 스파이크가 첫 페이지에서 꼬리 부분을 지배하기 때문입니다. 두 수치는 서로 대조하기보다 함께 읽어야 합니다: PaddleOCR-VL은 가장 낮은 p50를 가지고 있지만 CORD에서 벽시계 처리량 면에서 Unlimited-OCR에 밀립니다 — 벽시계 수치는 모델 초기화를 포함하며, Unlimited-OCR의 vLLM 일괄 처리가 충분히 효율적이어서 순서를 뒤집을 수 있습니다.
출처: summary_metrics.csv — latency_p50_ms 열, sroie_2019 행. Surya2 2667.9800, Unlimited-OCR 1600.7459, PaddleOCR-VL 694.2519. 안정 상태 지연 시간.
출처: summary_metrics.csv — cost_per_1000_pages 열, sroie_2019 행. Surya2 1.0609, Unlimited-OCR 0.3879, PaddleOCR-VL 0.2048. 비용 = 벽시계 실행 시간 × $0.76/hr.
| 작동 범위 (SROIE 2019, n=361) | Surya2 | Unlimited-OCR | PaddleOCR-VL | 출처 |
|---|---|---|---|---|
| 지연 시간 p50 (ms) | 2,668.0 | 1,600.7 | 694.3 | summary_metrics.csv · latency_p50_ms, surya2/unlimited_ocr/paddleocr_vl_vllm sroie_2019 행 |
| 지연 시간 p95 (ms) | 5,872.2 | 2,521.9 | 1,154.3 | summary_metrics.csv · latency_p95_ms, 동일 행 |
| 분당 처리 페이지 수 | 12.1 | 34.4 | 68.2 | summary_metrics.csv · pages_per_minute, 동일 행 |
| 1,000페이지당 비용 | $1.061 | $0.388 | $0.205 | summary_metrics.csv · cost_per_1000_pages, 동일 행 |
표: summary_metrics.csv — latency_p50_ms / latency_p95_ms / pages_per_minute / cost_per_1000_pages, sroie_2019 행. 세 엔진 모두 GPU; 비용은 모델 초기화 포함, 순수 정상 처리량 아님. 정확한 값: Surya2 p50 2668.0 / p95 5872.2 / 12.1 pg/min / $1.0609; Unlimited-OCR p50 1600.7 / p95 2521.9 / 34.4 pg/min / $0.3879; PaddleOCR-VL p50 694.3 / p95 1154.3 / 68.2 pg/min / $0.2048.
누가 언제 이기는가: 요약 격자
“더 낫다”는 것은 작업량에 따라 다르며, 이 세 가지 VLM에서 축은 명확하게 갈립니다: 필드 정확도는 수렴합니다, 원시 문자 텍스트는 Surya2에 유리하고, 다국어 필드는 PaddleOCR-VL에 유리하며, 모든 비용/지연 시간/처리량 축은 PaddleOCR-VL이 유리하고 Unlimited-OCR은 중간에 위치합니다. 솔직한 결론은 영수증의 경우 파이프라인에 어떤 후처리기를 사용하든 VLM 선택은 거의 중요하지 않다는 것이며, 후처리기가 없을 때는 일반적으로 중요한 축에서 저렴한 범용 소형 모델이 비싼 전문 모델을 이깁니다.
자주 묻는 질문
영수증 문서 파싱에 가장 정확한 VLM은 무엇인가요?
영수증 영역 추출에서는 영어 영수증에서 세 모델이 거의 동률입니다: Surya2, Unlimited-OCR, PaddleOCR-VL의 SROIE 정규식 영역 F1은 0.3183–0.3376, LLM 영역 F1은 0.5921–0.6139입니다. 인도네시아 영수증에서는 답변이 달라집니다: PaddleOCR-VL의 CORD 정규식 영역 F1인 0.3412가 벤치마크 내 8개 엔진 중 최고입니다. 원본 문자 오류율(CER)로 VLM을 순위 매기면 안 됩니다 — 이는 출력 관례를 오류로 카운트하기 때문입니다.
Unlimited-OCR의 문자 오류율(CER)은 가장 나쁜데 왜 SROIE에서 정규식 영역 F1은 가장 좋은가요?
두 지표가 서로 다른 출력을 평가하기 때문입니다. Unlimited-OCR의 강한 대소문자 병합은 문자 수준 오류를 증가시킵니다 — 문자 오류율(CER) 0.6552 대 단어 오류율(WER) 0.4779가 이를 보여줍니다 — 반면 동일한 정규화된 텍스트가 다른 어떤 엔진보다 고정 추출 패턴과 더 잘 일치합니다: SROIE 정규식 영역 F1 0.3376, 8개 엔진 실행 중 최고.
PaddleOCR-VL의 CORD 문자 오류율(CER)은 벤치마크에서 가장 나쁜데 왜 CORD 영역 F1은 가장 좋은가요?
CORD의 정답 데이터에 주석 구조가 포함되어 있고 PaddleOCR-VL의 출력이 가장 깨끗하고 정규화되어 있기 때문입니다 — 구조가 포함된 텍스트와 가장 거리가 멀어 편집 거리가 가장 큽니다(문자 오류율(CER) 1.0805). 동일한 출력 스타일이 추출 패턴에 잘 맞습니다: CORD 정규식 영역 F1 0.3412, 8개 엔진 중 최고. 이 역전 현상은 CORD 문자 오류율(CER)이 모델별 품질 지표가 아님을 벤치마크 자체가 보여주는 것입니다.
PaddleOCR-VL은 Surya2보다 얼마나 빠르고 저렴한가요?
3.8배 낮은 p50 지연 시간(694.3 ms vs 2,668.0 ms), 5.6배 높은 처리량, 그리고 동일한 RTX 4090($0.76/hr)에서 1,000페이지당 5.2배 낮은 비용($0.205 vs $1.061)(summary_metrics.csv, latency_p50_ms / pages_per_minute / cost_per_1000_pages, sroie_2019 행).
LLM 후처리기를 추가하면 세 VLM이 동등해지나요?
거의 그렇습니다 — SROIE에서 LLM 필드 F1이 0.5921에서 0.6139로, 벤치마크의 0.57~0.62 수렴 대역 내 0.022점 차이입니다. 이 수렴의 비용은 문서당 중간값 LLM 지연 시간이 약 1.9~2.3초 추가되는 것입니다, 이는 비동기 일괄 처리에 유리합니다.
영수증 파이프라인은 세 VLM 중 어떤 것을 선택해야 하나요?
파이프라인이 소비하는 기준에 따라 다릅니다. 후처리기 없는 네이티브 다국어 필드의 경우, PaddleOCR-VL의 CORD 정규식 F1(0.3412)이 측정된 유일한 유용한 수준입니다. 가장 저렴하고 빠른 VLM 서빙의 경우, 다시 PaddleOCR-VL. 비용과 지연 시간이 제약이 되지 않을 때 깨끗한 원시 영어 텍스트의 경우, Surya2의 CER(0.1915)이 가장 강력합니다. 중간 규모의 균형 잡힌 지점의 경우, Unlimited-OCR. 파이프라인에 LLM 후처리기가 있으면 영수증에서는 선택이 거의 중요하지 않습니다 — 세 모델 모두 수렴 대역에 속합니다. 이 결과는 2026년 8월에 한 GPU 티어에서 영어 및 인도네시아어 영수증에 대해 유효합니다. 모든 프로덕션 결정은 대상 코퍼스에서 다시 실행해야 합니다.
이 페이지의 숫자는 어디서 오나요?
모든 수치는 1차 벤치마크에서 공개된 CSV의 행입니다 — results/summary_metrics.csv 및 results/field_method_comparison.csv — ImageToTableai/benchmark-ocr에 호스팅되며, 각 실행마다 홍보 지문용으로 편집된 manifest.json이 하나 포함됩니다. 데이터셋 정의는 아래에 인용된 SROIE 2019 및 CORD 논문에서 가져왔습니다.
방법론 및 출처
프로토콜
이 페이지는 독립적이고 재현 가능한 벤치마크 실행의 3방향 분할을 보고합니다 — 제3자 주장에 대한 설문조사나 벤더 비교 페이지가 아닙니다. 고정된 테스트 분할만 사용합니다: SROIE 2019 테스트 및 CORD v2 테스트; 학습 분할은 평가되지 않았습니다. 세 엔진 모두 동일한 이미지, 동일한 정답, 동일한 측정 프로토콜을 보았습니다. 세 실행 모두 오류율 0.0로 완료되었습니다. 기본 실행에는 총 8개의 엔진이 포함되어 있으며, 이 페이지는 지정된 3개의 VLM만 비교하며, 전체 8엔진 결과는 Traditional OCR vs Document Parsing VLMs에서 별도로 공개됩니다.
런타임 환경
- 하드웨어: 세 엔진 모두 동일한 NVIDIA RTX 4090 (24 GB)에서 실행; GPU 비용은 RunPod 온디맨드 요금 $0.76/hr로 계산, 가격은 각 실행의 편집된 manifest에 타임스탬프.
- 엔진: 기본 제공, 파인튜닝 없음. 버전 고정: Surya2 (surya-ocr 0.22.1) 및 PaddleOCR-VL 1.6, 모두 vLLM으로 제공; Unlimited-OCR은 공개적으로 고정된 버전 없이 vLLM으로 제공 — 공개 저장소 모델 테이블(README.md) 및 실행 manifest 기준.
- LLM 후처리기: API를 통한 deepseek-v4-flash, 결정적 출력을 위한 temperature 0; 세 엔진의 모든 LLM 필드 행에 사용된 단일 모델.
- 비용 기준: 벽시계 실행 시간 × $0.76/hr, 모델 초기화 포함 — 일괄 처리는 페이지당 비용을 낮춥니다.
- 필드 후처리: SROIE 정규식 필드 지표는
postprocessed_sroie_receipt_regex_*— 고정 패턴 세트로 OCR 텍스트에서 추출된 필드입니다. 이는 어떤 모델의 네이티브 구조화된 출력이 아닌 OCR + 하위 추출을 측정합니다; LLM_* 열은 OCR 텍스트 + LLM 추출을 측정합니다. 두 파이프라인은 절대 혼합되지 않습니다.
지표 정의
- CER: OCR 텍스트와 정답 간의 편집 거리를 정답 문자 수로 나눈 값. 낮을수록 좋습니다. 문서 파싱 VLM에게 불리합니다: 필드 값이 올바르더라도 대소문자 병합, 레이블/값 병합, 줄 재정렬을 오류로 평가합니다. 이 페이지에서는 주의 사항과 함께 제시됩니다.
- WER: 단어 단위의 동일한 편집 거리 계산. CER과 WER이 크게 차이 나는 경우(Unlimited-OCR: 0.6552 vs 0.4779), 그 차이는 오독이 아닌 출력 정규화로 인한 손상을 나타냅니다.
- 필드 값 F1: OCR 텍스트에 고정된 정규식 패턴을 사용하여 추출된 필드 값에 대한 정밀도/재현율 조화 평균. 열: regex_field_value_f1. 점수가 0이면 필드 값을 복구하지 못했음을 의미합니다.
- 필드 값 F1 (LLM): LLM 후처리기 출력에 대한 동일한 지표. 열: llm_field_value_f1. 두 파이프라인은 다르며 절대 혼합되지 않습니다.
- 문서 필드 정확 일치: 모든 대상 필드가 정확히 일치한 문서의 비율 — 필드별 F1보다 훨씬 엄격한 기준.
- 지연 시간 p50/p95 및 페이지/분: 안정 상태의 페이지당 추론 시간 및 모델 초기화를 포함한 벽시계 처리량.
- 1,000페이지당 비용: 기록된 $0.76/hr 요율로 1,000페이지에 대한 과금 GPU 시간.
출처 목록
- summary_metrics.csv (GitHub raw). 16행 = 8개 모델 × 2개 데이터셋. 열: model, compute_type, dataset, cer, wer, field_f1_regex, field_acc_regex, latency_p50_ms, latency_p95_ms, cost_per_1000_pages, pages_per_minute, error_rate. 이 페이지의 모든 CER/WER, 지연 시간, 비용, 처리량 수치는 surya2, unlimited_ocr, paddleocr_vl_vllm 행에서 추적됩니다.
- field_method_comparison.csv (GitHub raw). 16행; 열 model, dataset, llm_model (= deepseek-v4-flash), regex/llm field-value accuracy and F1, document-fields-exact, llm_median_latency_ms, token counts. 모든 regex/LLM field-F1 수치는 지정된 세 엔진 행에서 추적됩니다.
- ImageToTableai/benchmark-ocr 저장소. 결과 CSV, 비식별화된 실행 매니페스트, 고정된 프로토콜, 재현을 위한 데이터셋 샘플 목록을 호스팅하는 공개 저장소.
- results/manifests/ (GitHub). 각 게시된 실행에 대한 비식별화된 manifest.json으로, 모델 버전, GPU/드라이버, torch/CUDA/Python 버전, 가격 타임스탬프가 포함된 비용 메타데이터, 아티팩트 해시가 포함되어 있습니다.
- Huang et al., "ICDAR2019 Competition on Scanned Receipt OCR and Information Extraction" (2019). SROIE 2019 데이터셋 정의, 작업 구조, 라이선스(CC-BY-4.0).
- Park et al., "CORD: A Consolidated Receipt Dataset for Post-OCR Parsing" (2020). CORD v2 데이터셋 정의, 중첩 필드 스키마, 라이선스(CC-BY-4.0).
한계점
- VLM에 대한 CER의 불공정성은 이 페이지가 필드 지표를 기반으로 구축된 이유입니다: 문서 파싱 VLM은 대소문자를 통합하고, 레이블/값 줄을 병합하며, 텍스트를 재정렬하므로, 원시 CER 점수는 출력 관점을 오류로 간주합니다 — Unlimited-OCR의 CER(0.6552) 대 WER(0.4779) 격차와 PaddleOCR-VL의 CORD 역전은 모두 이 비용의 산물입니다. CER을 기준으로 VLM을 순위 매기는 비교 — 이 페이지也不例外 — 읽기 능력이 아닌 출력 스타일의 척도로 취급해야 합니다.
- 문서 범위 — 영수증만 해당: SROIE + CORD. 여기서는 문서 파싱 VLM이 가장 큰 장점을 주장하는 레이블/테이블/수식/긴 문서 처리를 측정하는 것이 없습니다. 세 엔진의 마케팅된 강점은 모두 측정되지 않았습니다. 이 페이지를 사용하여 “VLM X가 모든 것에서 승리한다”는 결론을 내리지 마십시오.
- 표본 크기: 361개 영어 + 100개 인도네시아 영수증. 필드 F1과 CER은 말뭉치에 민감합니다. 몇 백분의 일에 불과한 한 자리 차이는 노이즈로 취급해야 하며, 엔지니어링 진실이 아닙니다.
- 단일 GPU 등급 및 단일 가격: 모든 숫자는 $0.76/hr의 단일 RTX 4090에서 나왔으며, 가격은 실행 매니페스트에서 2026년 8월로 타임스탬프가 찍혀 있습니다. 다른 GPU, 다중 GPU 서버링, 배치 스케줄링 또는 가격 변경은 지연 시간, 처리량 및 비용을 변경할 것입니다 — 예산 편성 전 현재 요금으로 비용을 다시 계산하십시오.
- 단일 LLM 후처리기: 모든 LLM 행은 temperature 0의 deepseek-v4-flash를 사용합니다. 다른 LLM은 절대 필드 F1을 변경합니다. 수렴 순서는 경계에서 이동할 수 있습니다. LLM 지연 시간은 API로 인한 것이며, 어떤 엔진 자체 지연 시간의 일부가 아닙니다.
- CORD 격리: CORD 실측 데이터는 주석 구조를 포함하고 있으며, 정규식 패턴은 영어 형식용으로 작성되었습니다. CORD CER은 언어 불일치 + 실측 데이터 과대 평가를 반영하며, 모델별 품질이 아닙니다. CORD 행은 프레이밍과 함께 인용되며, 어떤 SROIE 순위에도 합쳐지지 않습니다.
- 버전 고정: 결과는 Surya2 0.22.1, PaddleOCR-VL 1.6, Unlimited-OCR vLLM 서버링에 적용됩니다. Unlimited-OCR는 벤치마크의 공개된 모델 테이블에 공개적으로 고정된 버전 번호가 없으므로, 해당 행을 정확한 릴리스로 추적할 수 없습니다. 어떤 엔진의 최신 릴리스도 이 페이지의 모든 숫자를 변경할 수 있습니다.
- 정규식 조정: 패턴 세트는 데이터셋당 한 번 작성되었습니다. 형식별로, 심하게 조정된 패턴 라이브러리는 자체 레이아웃에서 더 높은 점수를 받을 수 있습니다 — LLM이 제거하는 유지보수 비용을 감수하면서.
관련 참고 자료: docTR vs Surya2 영수증 벤치마크 · 기존 OCR vs 문서 파싱 VLM · 정규식 vs LLM 필드 추출 · 필드 수준 vs 문자 수준 정확도 · 영수증 OCR 정확도
관련 읽을거리: AI OCR vs Traditional OCR Accuracy · AI Image Data Extraction vs Traditional OCR · AI Document Extraction Pricing (2026)