- Authors

- Name
- Youngju Kim
- @fjvbn20031
- 들어가며: 왜 OCR을 넘어서려 하는가
- 핵심 원리: 전통 OCR 파이프라인과 그 한계
- 깊이 보기 1: OCR-free 엔드투엔드 문서 이해
- 깊이 보기 2: 고해상도, 레이아웃, 표, 수식
- 깊이 보기 3: 다국어 OCR와 통합 모델
- 깊이 보기 3.5: 읽기 순서와 레이아웃의 어려움
- 깊이 보기 3.6: 표를 구조화하는 구체적 방법
- 깊이 보기 4: 벤치마크와 평가 방법
- 깊이 보기 5: 추론 파이프라인 설계
- 깊이 보기 6: 손글씨, 저화질, 회전 같은 난제
- 비교 테이블: 전통 OCR vs OCR-free
- 깊이 보기 9.5: 프롬프트 설계로 출력 다루기
- 실무 적용: 영수증, 폼, 문서
- 깊이 보기 7: OCR-free와 전통 OCR의 하이브리드
- 깊이 보기 8: 구조화 출력을 안정적으로 받기
- 깊이 보기 9: 비용과 지연 관점
- 깊이 보기 12: 다국어 문서의 추가 도전
- 함정과 한계
- 깊이 보기 10: 도메인별 적용 시 고려사항
- 깊이 보기 11: 앞으로의 방향
- 마치며
- 참고 자료
들어가며: 왜 OCR을 넘어서려 하는가
영수증의 총액을 뽑고, 계약서의 항목을 추출하고, 차트를 표로 바꾸는 일. 이런 문서 이해 작업은 오랫동안 OCR(광학 문자 인식)을 토대로 이루어졌습니다. 그런데 OCR은 글자를 읽는 데까지만 잘하고, 그 글자가 무엇을 의미하는지, 어떤 칸에 속하는지까지는 알려 주지 않습니다.
그래서 전통적인 문서 처리는 여러 단계를 사슬처럼 이어 붙입니다. 글자가 어디 있는지 검출하고, 그 글자가 무엇인지 인식하고, 페이지의 레이아웃을 분석하고, 마지막에 의미를 해석합니다. 단계가 많을수록 한 곳의 오류가 다음 단계로 번지는 누적 오류 문제가 생깁니다.
최근에는 이 사슬을 통째로 모델 하나가 대신하는 OCR-free 접근이 떠올랐습니다. 이미지를 입력으로 받아 곧장 우리가 원하는 답(텍스트, 키-값, 표)을 내놓는 것입니다. 이 글에서는 전통 파이프라인의 한계, OCR-free 엔드투엔드 모델, 그리고 검출-인식-파싱을 하나로 묶는 통합 모델의 흐름을 정리합니다.
OCR과 문서 이해는 다르다
먼저 용어를 분명히 합시다. OCR은 이미지에서 글자를 텍스트로 옮기는 일입니다. 문서 이해는 그 텍스트가 어떤 구조와 의미를 갖는지 파악하는 일입니다. 둘은 다른 단계이며, 전통 시스템은 이를 분리해 처리했습니다.
OCR: 이미지 -> "총액 32,500" (글자를 텍스트로)
문서 이해: "총액 32,500" + 위치/맥락 -> {필드: 총액, 값: 32500} (의미 부여)
OCR-free 접근의 핵심 주장은, 이 둘을 굳이 분리할 필요가 없다는 것입니다. 한 모델이 이미지를 보면서 글자와 의미를 동시에 파악하면, 중간 텍스트를 거치며 잃어버리는 정보(위치, 글꼴, 레이아웃 맥락)를 살릴 수 있습니다. 사람이 영수증을 볼 때 글자를 일일이 읽고 따로 의미를 붙이지 않는 것과 비슷합니다.
핵심 원리: 전통 OCR 파이프라인과 그 한계
전통적인 문서 이해 파이프라인은 보통 다음 단계로 구성됩니다.
[문서 이미지]
|
v
[1. 텍스트 검출] --> 글자/단어 영역의 박스 찾기
|
v
[2. 텍스트 인식] --> 각 박스 안의 글자를 문자열로
|
v
[3. 레이아웃 분석] --> 제목/본문/표/셀 구조 파악
|
v
[4. 정보 추출] --> 키-값, 표, 의미 해석
각 단계는 보통 별도의 모델이며, 따로 학습되고 따로 튜닝됩니다. 이 구조에는 분명한 한계가 있습니다.
- 누적 오류: 1단계 검출이 글자 일부를 놓치면, 2단계 인식은 아무리 좋아도 그 글자를 복구할 수 없습니다. 오류가 단계마다 쌓입니다.
- 단계 간 정보 단절: 인식 단계는 글자 모양만 보고, 의미 맥락을 활용하지 못합니다. 흐릿한 글자를 문맥으로 보정하기 어렵습니다.
- 레이아웃의 취약성: 표의 병합 셀, 복잡한 폼, 손글씨가 섞인 문서에서 레이아웃 분석이 자주 깨집니다.
- 파이프라인 유지비: 단계마다 모델과 규칙을 관리해야 하므로 운영이 복잡합니다.
이 한계들이 OCR-free 접근의 동기가 됩니다. 단계를 줄이면 누적 오류가 줄고, 한 모델이 글자와 의미를 함께 보면 문맥 보정이 가능해집니다.
깊이 보기 1: OCR-free 엔드투엔드 문서 이해
Donut류: OCR 없이 이미지에서 바로 구조화 출력
Donut(Document Understanding Transformer)은 OCR 단계를 아예 없애고, 문서 이미지를 입력받아 곧장 구조화된 출력(예: JSON)을 생성하는 접근을 제시했습니다. 비전 인코더가 이미지를 읽고, 텍스트 디코더가 우리가 원하는 결과를 자기회귀적으로 생성합니다.
[문서 이미지]
|
v
[비전 인코더] --> 이미지 특징 시퀀스
|
v
[텍스트 디코더] --> 구조화 출력 (예: JSON 키-값)
이 방식의 강점은 명확합니다. 별도의 OCR 박스 검출이나 인식 모델이 필요 없고, 모델이 글자 모양과 의미를 한꺼번에 학습합니다. 추출하고 싶은 정보의 형식대로 정답을 만들어 학습하면, 모델이 그 형식으로 직접 답을 냅니다. 누적 오류가 사라지고 파이프라인이 단순해집니다.
다만 트레이드오프도 있습니다. 명시적 OCR이 없으므로 정답 형식과 충분한 데이터에 크게 의존합니다. 또 디코더가 긴 출력을 생성해야 하는 경우 속도가 문제될 수 있습니다.
VLM 기반 문서 이해
앞선 글에서 다룬 비전-언어 모델(VLM)은 본질적으로 OCR-free 문서 이해 능력을 갖춥니다. 이미지를 비주얼 토큰으로 바꾸고 LLM이 그것을 텍스트와 함께 읽으므로, 문서 이미지를 받아 질문에 답하거나 표를 추출할 수 있습니다.
[문서 이미지] --> [VLM] --> "총액은 얼마?" 같은 질문에 자연어로 답
--> 표를 마크다운/JSON으로 구조화
--> 특정 필드의 위치(좌표)까지 지목
VLM의 장점은 범용성입니다. 같은 모델 하나로 캡션, VQA, OCR, grounding을 모두 다루며, 자연어 지시로 원하는 출력을 유연하게 받을 수 있습니다. 강력한 언어 능력 덕에 흐릿하거나 일부 가려진 글자도 문맥으로 추론하는 경향이 있습니다.
깊이 보기 2: 고해상도, 레이아웃, 표, 수식
문서는 자연 이미지와 다릅니다. 작은 글자가 빼곡하고, 표와 수식 같은 구조가 많습니다. 이를 제대로 다루려면 몇 가지 장치가 필요합니다.
고해상도 처리
문서의 작은 글자를 읽으려면 충분한 해상도가 필요합니다. 이미지를 작게 강제 리사이즈하면 글자가 뭉개집니다. 그래서 OCR-free 모델은 고해상도 입력을 다루는 전략을 씁니다.
- 타일/슬라이싱: 큰 페이지를 여러 타일로 잘라 각각 처리한 뒤 합칩니다.
- 임의 해상도: 앞선 글에서 본 동적 해상도처럼, 원본 비율과 크기를 보존해 디테일을 살립니다.
고해상도 문서 처리 전략
방법 A: 타일링 큰 페이지 -> 여러 타일 -> 개별 처리 -> 통합
방법 B: 동적 해상도 원본 비율 유지 -> 크기에 비례하는 토큰 수
해상도를 올릴수록 디테일은 좋아지지만 토큰 수와 비용이 늘어납니다. 이 균형이 문서 모델 설계의 핵심입니다.
레이아웃, 표, 수식
- 레이아웃: 제목, 단락, 머리말, 표 등 영역 구조를 이해해야 정보를 올바른 맥락에서 추출합니다. OCR-free 모델은 이를 별도 단계 대신 학습으로 내재화합니다.
- 표: 행과 열, 병합 셀의 구조를 보존하며 읽어야 합니다. 출력을 마크다운 표나 구조화 형식으로 생성하도록 학습합니다.
- 수식: 수식은 2차원 구조(분수, 지수, 첨자)를 가져 일반 텍스트로 표현하기 어렵습니다. 표준 표기로 변환해 출력하도록 학습하는 접근이 일반적입니다.
이런 구조적 요소는 정답 데이터의 형식이 곧 모델 출력 형식을 결정하므로, 일관된 구조화 정답을 준비하는 것이 중요합니다.
깊이 보기 3: 다국어 OCR와 통합 모델
다국어 OCR
문서는 여러 언어로 작성됩니다. 전통 OCR은 언어마다 별도 인식 모델이나 사전을 두는 경우가 많았지만, OCR-free VLM은 다양한 언어의 이미지-텍스트 데이터를 함께 학습해 한 모델로 여러 언어를 다룰 수 있습니다. 라틴 문자뿐 아니라 한중일 같은 표의문자, 우향/좌향 문자까지 폭넓게 다루려는 노력이 이어지고 있습니다. 다만 학습 데이터가 적은 언어나 희귀 글꼴에서는 여전히 정확도가 떨어질 수 있으므로, 대상 언어 분포에 맞춘 데이터 보강이 중요합니다.
통합 모델: 검출-인식-파싱을 하나로
최근 흐름은 검출, 인식, 레이아웃 분석, 정보 추출을 하나의 모델로 일원화하는 통합 모델입니다. 전통 파이프라인이 단계마다 모델을 두던 것을, 단일 인코더-디코더가 한꺼번에 처리합니다.
전통 파이프라인: 검출 모델 -> 인식 모델 -> 레이아웃 모델 -> 추출 모델
통합 모델: 단일 모델 -> (검출 + 인식 + 레이아웃 + 파싱) 동시에
- 장점: 누적 오류 감소, 운영 단순화, 문맥을 활용한 보정. 단계 간 정보 단절이 사라집니다.
- 유연성: 같은 모델에 다른 지시를 주어 전체 텍스트 읽기, 특정 필드 추출, 표 구조화 등 다양한 작업을 수행합니다.
- 고려점: 전 과정을 학습으로 내재화하므로 데이터 품질과 다양성에 크게 의존하고, 출력의 정확성을 보장하려면 검증 단계가 필요합니다.
깊이 보기 3.5: 읽기 순서와 레이아웃의 어려움
문서를 이해할 때 자주 간과되는 어려움이 읽기 순서입니다. 사람은 다단 편집의 신문을 보면 왼쪽 단을 위에서 아래로 읽고 그다음 오른쪽 단으로 넘어가는 것을 자연스럽게 압니다. 하지만 모델에게는 이것이 자명하지 않습니다.
다단 레이아웃 예시
+------------------+------------------+
| 단1 첫 문단 | 단2 첫 문단 |
| 단1 둘째 문단 | 단2 둘째 문단 |
+------------------+------------------+
올바른 읽기 순서: 단1 전체 -> 단2 전체
잘못된 순서: 행 단위로 좌우 번갈아 읽기 (의미 깨짐)
전통 파이프라인은 레이아웃 분석 단계에서 이 순서를 명시적으로 계산했습니다. OCR-free 모델은 이를 학습으로 익혀야 하므로, 다양한 레이아웃의 데이터로 충분히 학습되지 않으면 읽기 순서가 흐트러질 수 있습니다. 표, 각주, 사이드바, 캡션이 섞이면 난이도가 더 올라갑니다.
이 문제는 출력 형식 설계로 일부 완화됩니다. 예를 들어 영역별로 구조화해 출력하도록 학습하면, 모델이 영역 경계를 의식하며 순서를 더 잘 잡습니다. 핵심은 모델이 읽기 순서를 일관되게 내는지 검증 데이터로 확인하는 것입니다.
깊이 보기 3.6: 표를 구조화하는 구체적 방법
표는 문서 이해에서 가장 까다로운 요소 중 하나입니다. 행과 열의 관계, 병합 셀, 헤더 계층을 모두 보존해야 하기 때문입니다. OCR-free 모델은 표를 어떤 형식으로 출력하도록 학습할까요.
표 출력 형식의 선택지
마크다운 표 간단, 단순한 표에 적합, 병합 셀 표현 한계
HTML 표 병합 셀(rowspan/colspan) 표현 가능, 장황
구조화 JSON 셀별 좌표/내용을 명시, 파싱 용이, 가장 유연
각 형식은 트레이드오프가 있습니다. 마크다운은 사람이 읽기 좋지만 복잡한 병합 셀을 표현하기 어렵습니다. HTML 표는 병합을 표현할 수 있지만 출력이 길어집니다. 구조화 JSON은 가장 유연하지만 정답 데이터를 그 형식으로 일관되게 준비해야 합니다.
핵심은 작업에 맞는 형식을 고르고, 정답 데이터를 그 형식으로 통일하는 것입니다. 모델은 정답 형식을 모방하므로, 표 출력 형식이 들쭉날쭉하면 모델도 일관되지 않은 표를 냅니다. 또 표 정확도를 평가할 때는 단순 문자열 일치가 아니라 셀 단위, 구조 단위로 비교해야 실제 품질을 잡아낼 수 있습니다.
깊이 보기 4: 벤치마크와 평가 방법
OCR-free 모델을 어떻게 평가할까요. 작업마다 측정 지표가 다릅니다.
- 텍스트 인식 정확도: 인식된 문자열과 정답의 일치도. 편집 거리 기반 지표가 흔합니다.
- 키-값 추출 정확도: 영수증·폼에서 필드 단위로 맞췄는지. 필드별 정밀도와 재현율을 봅니다.
- 표 구조 정확도: 셀 단위 일치뿐 아니라 행·열·병합 구조까지 맞는지 평가합니다.
- 문서 VQA 정확도: 문서에 대한 질문의 답이 맞는지. 정답과의 의미적 일치를 봅니다.
평가 관점 정리
무엇을 읽었나 텍스트 인식 정확도 (편집 거리)
무엇을 추출했나 키-값 정밀도/재현율
구조를 보존했나 표 셀/구조 일치도
의미를 이해했나 문서 VQA 정확도
중요한 점은 단일 점수가 모델의 모든 능력을 대변하지 못한다는 것입니다. 어떤 모델은 일반 텍스트는 잘 읽지만 표 구조에서 약하고, 어떤 모델은 영어는 강하지만 다국어에서 떨어집니다. 그래서 자신의 실제 문서 분포에 맞춘 자체 평가 세트를 구축하는 것이 무엇보다 안전합니다. 공개 벤치마크 점수는 출발점일 뿐, 실제 운영 데이터의 노이즈와 다양성을 그대로 반영하지는 않습니다.
깊이 보기 5: 추론 파이프라인 설계
OCR-free 모델을 실제 서비스에 올릴 때의 추론 파이프라인은 단순히 모델 호출 하나로 끝나지 않습니다. 전처리, 모델 추론, 후처리·검증의 세 단계로 보는 것이 좋습니다.
[원본 문서]
|
v
[전처리] 해상도 정규화, 회전 보정, 노이즈 제거
|
v
[모델 추론] OCR-free 모델 -> 구조화 출력 생성
|
v
[후처리] 형식 검증(JSON 스키마), 신뢰도 판정, 폴백
|
v
[결과] 검증 통과 -> 자동 처리 / 실패 -> 사람 검토
각 단계의 역할은 분명합니다.
- 전처리: 스캔 문서는 기울어지거나 그림자가 지는 경우가 많습니다. 회전 보정과 정규화로 모델이 보기 좋은 입력을 만듭니다.
- 모델 추론: 작업에 맞는 지시(전체 읽기, 필드 추출, 표 구조화)로 모델을 호출합니다.
- 후처리: 출력이 기대한 스키마를 따르는지 검증하고, 숫자·날짜 같은 필드는 형식 규칙으로 한 번 더 확인합니다. 신뢰도가 낮으면 사람 검토로 넘깁니다.
이 구조에서 핵심은 모델을 신뢰의 끝점이 아니라 파이프라인의 한 단계로 보는 것입니다. 모델이 틀릴 수 있다는 전제 위에서 검증과 폴백을 설계해야 실제 업무에서 안정적으로 동작합니다.
깊이 보기 6: 손글씨, 저화질, 회전 같은 난제
실제 문서는 깨끗한 인쇄물만 있는 게 아닙니다. 까다로운 입력에서 어떤 문제가 생기는지 정리합니다.
- 손글씨: 필체가 사람마다 달라 인식이 어렵습니다. 손글씨 데이터로 보강하거나, 신뢰도가 낮은 필드를 사람 검토로 돌리는 것이 현실적입니다.
- 저화질·압축 노이즈: 흐릿하거나 압축 아티팩트가 심하면 작은 글자가 무너집니다. 가능하면 원본 고화질을 확보하고, 전처리로 노이즈를 줄입니다.
- 회전·기울어짐: 스캔 각도가 틀어지면 인식이 떨어집니다. 회전 보정 전처리가 도움이 됩니다.
- 혼합 레이아웃: 다단 편집, 사이드바, 각주가 섞인 복잡한 페이지는 읽기 순서가 헷갈립니다. 모델이 읽기 순서를 일관되게 내도록 학습·검증하는 것이 중요합니다.
이런 난제들은 모델 단독으로 완벽히 해결하기 어렵습니다. 입력 품질을 끌어올리는 전처리와, 불확실한 출력을 걸러내는 후처리가 함께 가야 실무에서 견딜 만한 정확도가 나옵니다.
비교 테이블: 전통 OCR vs OCR-free
| 항목 | 전통 OCR 파이프라인 | OCR-free / 통합 모델 |
|---|---|---|
| 구조 | 검출-인식-레이아웃-추출 다단계 | 단일 모델 엔드투엔드 |
| 누적 오류 | 단계마다 쌓임 | 크게 감소 |
| 문맥 보정 | 어려움(인식은 모양만) | 가능(언어 능력 활용) |
| 표/수식 | 별도 규칙/모델 필요 | 학습으로 구조화 출력 |
| 다국어 | 언어별 모델/사전 경향 | 한 모델로 다국어 |
| 운영 복잡도 | 높음(여러 모델 관리) | 낮음(단일 모델) |
| 데이터 의존 | 단계별 중간 라벨 | 최종 정답 형식에 의존 |
| 출력 정확성 보장 | 단계별 검증 용이 | 검증 단계 추가 권장 |
깊이 보기 9.5: 프롬프트 설계로 출력 다루기
VLM 기반 OCR-free 모델은 같은 이미지라도 프롬프트(지시)에 따라 다른 출력을 냅니다. 이는 강력한 유연성이자 동시에 변동성의 원인입니다.
같은 영수증, 다른 지시
"이 영수증을 읽어줘" -> 자유로운 자연어 요약
"총액만 숫자로 답해" -> 32500
"항목을 JSON 배열로 추출해" -> 구조화된 리스트
"가게명, 날짜, 총액을 키-값으로" -> 명확한 필드 매핑
실무에서 안정적인 결과를 얻으려면 프롬프트를 구체적이고 일관되게 설계하는 것이 중요합니다.
- 출력 형식 명시: 원하는 형식(JSON 스키마, 필드 목록)을 지시에 명확히 적습니다.
- 예시 제공: 기대하는 출력의 예를 한두 개 보여 주면 형식 준수가 좋아집니다.
- 불확실성 처리 지시: 값을 못 찾으면 추측하지 말고 빈 값을 내라고 명시해 환각을 줄입니다.
- 일관성 고정: 같은 작업에는 같은 프롬프트를 써서 출력 변동을 줄입니다.
프롬프트는 모델을 재학습하지 않고도 출력을 조정하는 가장 싼 손잡이입니다. 하지만 프롬프트만으로 해결되지 않는 정확성 문제는 결국 데이터와 파인튜닝, 후처리로 다뤄야 합니다. 프롬프트는 시작점이지 만능 해법이 아닙니다.
실무 적용: 영수증, 폼, 문서
OCR-free 접근을 실제 업무에 적용할 때 고려할 점을 작업별로 정리합니다.
- 영수증/인보이스: 가게명, 날짜, 항목, 총액 같은 키-값을 추출합니다. 출력을 고정된 JSON 스키마로 정의하면 후처리가 쉬워집니다. 금액 같은 숫자는 형식 오류가 치명적이므로 검증 로직을 두세요.
- 폼/신청서: 체크박스, 서명, 손글씨가 섞입니다. 손글씨 인식은 여전히 까다로우므로, 신뢰도가 낮은 필드는 사람 확인 단계로 보내는 휴먼인더루프 설계가 안전합니다.
- 표가 많은 문서: 재무제표, 사양표 등은 표 구조 보존이 핵심입니다. 병합 셀과 헤더를 정확히 잡는지 검증 데이터로 점검하세요.
- 다양한 양식: 같은 종류라도 업체마다 양식이 다릅니다. OCR-free 모델은 양식 변형에 비교적 강하지만, 도메인 데이터로 파인튜닝하면 정확도가 크게 오릅니다.
공통적으로, 모델 출력을 그대로 신뢰하기보다 형식 검증, 신뢰도 임계값, 사람 검토 같은 안전장치를 함께 두는 것이 실무에서 중요합니다. 모델이 단정적으로 틀린 값을 낼 수 있으므로, 중요한 필드일수록 검증을 강화해야 합니다.
깊이 보기 7: OCR-free와 전통 OCR의 하이브리드
OCR-free가 만능은 아니므로, 실무에서는 전통 OCR과 OCR-free를 섞어 쓰는 하이브리드 설계가 자주 등장합니다. 각 방식의 강점을 살리는 것입니다.
하이브리드 설계(예)
1. 전통 OCR로 텍스트와 위치를 빠르게 추출
|
v
2. OCR-free/VLM이 그 텍스트와 이미지를 함께 보고 의미 해석
|
v
3. 두 경로의 결과를 교차 검증해 신뢰도 산정
- OCR 결과를 힌트로 주입: 전통 OCR이 뽑은 텍스트를 VLM의 입력에 함께 넣어, 모델이 글자를 더 잘 읽도록 돕습니다.
- 교차 검증: 두 경로가 같은 값을 내면 신뢰도가 높고, 다르면 사람 검토로 넘깁니다. 정확성이 중요한 금융·법률 문서에서 유용합니다.
- 속도-정확성 절충: 빠른 OCR로 1차 처리하고, 어려운 케이스만 무거운 VLM으로 보내면 비용과 정확성의 균형을 잡을 수 있습니다.
하이브리드의 교훈은 분명합니다. 새 기술이 옛 기술을 완전히 대체하기보다, 둘을 조합해 약점을 보완하는 것이 실무에서 더 견고할 때가 많습니다.
깊이 보기 8: 구조화 출력을 안정적으로 받기
OCR-free 모델에 구조화 출력(JSON, 표)을 받을 때, 모델이 늘 완벽한 형식을 내지는 않습니다. 안정적인 파싱을 위한 장치가 필요합니다.
구조화 출력 안정화 흐름
[모델 출력 문자열]
|
v
[형식 파싱 시도] JSON 파싱 등
|
+-- 성공 --> [스키마 검증] 필드 존재/타입 확인
| |
| +-- 통과 --> 결과 채택
| +-- 실패 --> 폴백/재시도
|
+-- 실패 --> [복구 시도] 부분 추출 또는 재생성
- 스키마 고정: 기대하는 필드와 타입을 미리 정의하고, 출력이 그에 맞는지 검증합니다.
- 재시도 전략: 형식이 깨지면 다른 프롬프트나 설정으로 한 번 더 시도합니다.
- 부분 수용: 일부 필드만 신뢰할 수 있으면 그 필드만 채택하고 나머지는 사람에게 넘깁니다.
이런 후처리 장치가 있어야 모델 출력을 실제 시스템에 안전하게 연결할 수 있습니다. 모델이 한 번씩 형식을 벗어나는 것은 정상이라는 전제로 설계해야 합니다.
깊이 보기 9: 비용과 지연 관점
OCR-free 모델, 특히 VLM 기반은 전통 OCR보다 무겁습니다. 비용과 지연을 관리하는 관점이 필요합니다.
비용/지연 비교(직관)
전통 OCR 가벼움, 빠름, 저렴
소형 OCR-free 중간
대형 VLM 무거움, 느림, 비쌈, 대신 유연/정확
- 단계적 라우팅: 쉬운 문서는 가벼운 경로로, 어려운 문서만 무거운 VLM으로 보내 평균 비용을 낮춥니다.
- 해상도 조절: 작은 글자가 없으면 해상도를 낮춰 토큰과 비용을 줄입니다.
- 배치 처리: 대량 문서는 실시간이 아니라 배치로 처리해 처리량을 끌어올립니다.
- 캐싱: 같은 양식의 문서가 반복되면 프롬프트나 중간 결과를 캐싱해 재사용합니다.
정확성만 좇다 보면 비용이 감당 불가능해지고, 비용만 좇다 보면 품질이 떨어집니다. 작업의 정확성 요구와 예산 사이에서 균형을 잡는 것이 실무 설계의 핵심입니다.
깊이 보기 12: 다국어 문서의 추가 도전
다국어 문서는 단순히 여러 언어를 인식하는 것 이상의 도전을 안고 있습니다.
- 혼합 언어: 한 문서에 여러 언어가 섞이는 경우(예: 영어 본문 + 현지어 주석)가 흔합니다. 모델이 언어 경계를 잘 다뤄야 합니다.
- 글자 방향: 좌향 문자나 세로쓰기가 섞이면 읽기 순서가 더 복잡해집니다.
- 숫자/날짜 형식: 지역마다 날짜·통화 표기가 달라 추출 후 정규화가 필요합니다.
- 글꼴 다양성: 언어별로 글꼴 변형이 커서 학습 데이터가 적은 언어는 정확도가 떨어집니다.
다국어 처리의 단계
인식 다양한 문자 체계를 텍스트로
|
v
구조 이해 언어 무관하게 레이아웃/표 파악
|
v
정규화 지역별 숫자/날짜/통화 형식 통일
핵심은 인식 정확도뿐 아니라 인식 후 정규화까지 고려해야 실무에서 쓸 수 있는 결과가 나온다는 것입니다. 대상 언어와 지역을 명확히 하고, 그 분포에 맞춘 데이터와 후처리 규칙을 준비하는 것이 다국어 문서 처리의 출발점입니다.
함정과 한계
- 환각: 모델이 문서에 없는 값을 그럴듯하게 생성할 수 있습니다. 특히 흐릿하거나 비어 있는 필드에서 위험합니다. 근거 없는 출력을 걸러내는 검증이 필요합니다.
- 희귀 글꼴/언어: 학습 데이터가 적은 글꼴, 언어, 도메인에서 정확도가 떨어집니다. 대상 분포에 맞춘 데이터 보강이 중요합니다.
- 고해상도 비용: 작은 글자를 읽으려 해상도를 올리면 토큰과 비용이 급증합니다. 필요한 만큼만 올리는 균형이 필요합니다.
- 출력 형식 일탈: 구조화 출력에서 스키마를 벗어난 결과가 나올 수 있습니다. 파싱 단계에서 형식 검증과 폴백을 준비하세요.
- 벤치마크와 실제의 간극: 벤치마크 점수가 높아도 실제 업무 문서의 다양성과 노이즈에서는 다르게 동작할 수 있습니다. 자체 데이터로 평가하는 것이 안전합니다.
깊이 보기 10: 도메인별 적용 시 고려사항
OCR-free 모델을 특정 산업에 적용할 때 도메인마다 다른 제약과 요구가 있습니다.
- 금융: 숫자 정확성이 절대적입니다. 한 자릿수 오류가 큰 문제로 이어지므로, 교차 검증과 사람 검토를 강하게 둡니다. 규제 준수를 위한 감사 추적도 필요합니다.
- 의료: 처방전·검사지의 용어가 전문적이고, 오류의 비용이 큽니다. 도메인 데이터 파인튜닝과 보수적인 신뢰도 임계값이 중요합니다.
- 법률: 긴 문서, 복잡한 레이아웃, 정밀한 인용이 핵심입니다. 읽기 순서와 구조 보존이 특히 까다롭습니다.
- 물류/제조: 송장·라벨·바코드가 섞이고, 양식이 업체마다 다릅니다. 양식 변형에 강한 모델과 후처리 규칙이 유용합니다.
도메인별 우선순위
금융 정확성 > 속도, 강한 검증
의료 정확성 > 비용, 도메인 파인튜닝
법률 구조/순서 보존, 긴 문서 처리
물류 양식 다양성 대응, 처리량
공통 교훈은 도메인의 오류 비용에 비례해 검증 강도를 조절하라는 것입니다. 오류가 치명적인 도메인일수록 모델 출력을 그대로 신뢰하지 않고 안전장치를 두텁게 쌓아야 합니다.
깊이 보기 11: 앞으로의 방향
문서 이해 모델은 빠르게 발전하고 있습니다. 몇 가지 흐름을 짚어 봅니다.
- 더 긴 문서: 여러 페이지를 한 번에 다루는 능력이 중요해지고 있습니다. 페이지 간 맥락을 유지하는 것이 과제입니다.
- 효율화: 토큰 프루닝, 적응형 해상도 등으로 고해상도 처리 비용을 낮추는 연구가 활발합니다.
- 에이전트 결합: 문서를 읽고 그 결과로 후속 행동(검색, 계산, API 호출)을 하는 에이전트와 결합되는 흐름이 있습니다.
- 검증 내재화: 모델이 자신의 출력 신뢰도를 함께 내놓아, 불확실한 부분을 스스로 표시하게 하는 방향이 연구되고 있습니다.
이런 방향들은 모두 한 가지를 향합니다. 사람의 개입을 줄이면서도 정확성을 유지하는 것입니다. 다만 현재로서는 완전 자동화보다, 모델과 검증·사람 검토를 결합한 설계가 실무에서 가장 견고합니다.
마치며
문서 AI는 글자를 읽는 단계의 사슬에서, 이미지를 받아 의미를 곧장 내놓는 단일 모델로 무게중심을 옮겨 왔습니다. OCR-free 접근은 누적 오류를 줄이고, 언어 능력으로 문맥을 보정하며, 검출-인식-파싱을 하나로 통합해 운영을 단순화합니다.
물론 만능은 아닙니다. 환각, 희귀 도메인, 고해상도 비용 같은 한계가 남아 있고, 출력의 정확성을 보장하려면 검증 장치가 필요합니다. 그럼에도 한 모델이 글자와 의미를 함께 본다는 방향성은 문서 이해의 강력한 흐름이며, VLM의 발전과 함께 그 적용 범위는 계속 넓어지고 있습니다. 핵심은 도구의 강점과 한계를 모두 이해하고, 작업의 정확성 요구에 맞춰 적절한 안전장치와 함께 쓰는 것입니다.
참고 자료
- Qwen2-VL: Enhancing Vision-Language Model's Perception (arXiv: 2409.12191) — arxiv.org/abs/2409.12191
- Attention Is All You Need (arXiv: 1706.03762) — arxiv.org/abs/1706.03762
- FlashAttention: Fast and Memory-Efficient Exact Attention (arXiv: 2205.14135) — arxiv.org/abs/2205.14135
- Qwen 공식 저장소 — github.com/QwenLM
- Hugging Face Transformers 문서 — huggingface.co/docs
- PyTorch 공식 문서 — pytorch.org
- vLLM 문서(멀티모달 서빙 포함) — docs.vllm.ai
- vLLM 저장소 — github.com/vllm-project/vllm