새로운 아키텍처에도 불구하고, DharmaOCR은 도메인 특화 및 목표 지향 훈련을 통해 브라질 포르투갈어에서 Mistral OCR4와 Unlimited-OCR보다 뛰어난 성능을 보였습니다. 본 기사에서는 그러한 우위의 근거와 메커니즘을 제시합니다.
3개월 전, 저희는 DharmaOCR에 대한 논문을 발표하고 모델 중 하나를 오픈소스로 공개했습니다. 목표는 명확했습니다: 브라질 포르투갈어에 맞춰 설계된 광학 문자 인식(OCR)이었습니다.
훈련 파이프라인은 두 단계로 구성되었습니다. 첫 번째는 다양한 출처, 형식, 복잡성의 포르투갈어 파일들을 활용한 지도 미세 조정(supervised fine-tuning) 단계였습니다. 이 단계를 통해 모델의 가중치(weights)가 브라질 포르투갈어의 특정 어휘, 구문 및 문서 구조에 맞춰 정렬되었습니다. 이는 광범위한 다국어 공간에 분산시키는 대신 목표 언어에 표현 능력을 집중하는 데 중점을 두었습니다. 두 번째 단계에서는 직접 선호도 최적화(Direct Preference Optimization: DPO)를 적용했습니다. 모델은 단순히 정확한 전사본으로만 훈련되는 것이 아니라, 경쟁 출력물 간의 비교 선호도 데이터로부터 학습하여 추론 시간(inference time)에 일관되게 더 나은 추출 결과를 선택하도록 배웠습니다. 이 단계는 다른 문제를 해결했습니다: 정확도가 아닌 안정성입니다. DPO는 생성 모델이 반복적이거나 비일관적인 출력을 생성하는 원인인 실패 모드(failure modes)를 억제함으로써 추론 시간과 비용을 줄이고, 프로덕션 환경에서 모델이 제공하는 신뢰도를 실질적으로 향상시켰습니다.
두 단계를 결합한 결과, 포르투갈어에 초점을 맞춘 벤치마크에서 가장 높은 추출 품질 점수와 가장 낮은 퇴화율(degeneration rate)을 달성하는 모델이 탄생했습니다. 두 단계 모두 필수적이었습니다. 미세 조정 단계는 도메인 역량을 구축했고, DPO 단계는 모델이 실패하는 경향이 있는 조건에서도 그 역량이 유지되도록 보장했습니다.
OCR 모델들은 빠르게 발전해 왔습니다. 하지만 DharmaOCR 설계의 근본적인 동기였던 (복잡한 문서에서의 추출 품질 및 프로덕션 환경 하에서의 모델 안정성) 격차는 좁혀지지 않았습니다. 오히려 이 분야가 변화하면서 더욱 명확하게 드러났습니다.
다중 모드 생성 모델(multimodal generative models)의 확산은 언어 모델 기반 OCR을 광범위하게 접근 가능하게 만들었으며, 그 뒤를 이은 미세 조정된(fine-tuned) 다양한 OCR 변종들의 물결은 이러한 채택이 얼마나 빠르게 진행되었는지를 반영합니다. 하지만 이러한 확산이 기술의 근본적인 특성을 바꾼 것은 아닙니다. 생성 모델을 기반으로 구축되는 모든 OCR 시스템은 확률적입니다. 전사 오류(Transcription errors)는 이 확률적 기술의 내재된 변수입니다. 모델들을 차별화하는 것은 얼마나 많은 오류를 범하는지, 그리고 어떤 종류의 오류인지를 통해서입니다. 이는 두 가지에 의해 결정됩니다: 모델의 구조(아키텍처 및 파라미터 수)와 해당 파라미터가 특정 작업을 위해 어떻게 훈련되었는지입니다.
아키텍처와 파라미터 수는 모델이 학습할 수 있는 상한선을 설정합니다. 훈련은 그 역량을 어떻게 할당하는지를 결정합니다.
이러한 구분이 전문화(specialization)를 설계상의 선호가 아닌 구조적인 문제로 만듭니다. 모델이 제한된 도메인—단일 언어, 한정된 문서 유형, 특정 작업—에서 훈련될 때, 모든 파라미터는 그 특정 작업에 전념합니다. 반면, 모델이 더 넓은 범위의 도메인을 다루도록 훈련될 때—예를 들어 N개 언어를 처리하는 다국어 모델—동일한 파라미터들이 이들 모두에 분산되어야 합니다. 이러한 분산은 선형적이지 않습니다: 뉴런 중첩 원리(neuron superposition principle)는 개별 파라미터가 여러 특징을 동시에 인코딩할 수 있음을 의미합니다. 하지만 그 분할은 실제이며, 그 결과 또한 현실적입니다. 더 넓은 영역을 다루는 모델은 주어진 어떤 부분에도 덜 전념하게 됩니다.
DharmaOCR은 이러한 제약 조건을 역으로 수용하도록 훈련되었습니다. 이 모델은 다른 언어에 가장 좋은 옵션이 되도록 설계된 것이 아니며, 애초에 그렇게 될 의도도 없었습니다. 대신, 네트워크가 사용할 수 있는 모든 매개변수는 브라질 포르투갈어의 특정 어휘, 형태론, 철자 패턴을 향하도록 집중되었으며, 이는 해당 도메인에 모델 자원을 가장 직접적으로 활용하는 방식입니다.
이러한 집중도가 다국어 및 광범위 도메인 모델 대비 내재적인 우위를 점하는 구조적 기반이 됩니다. 이 우위는 더 큰 아키텍처를 갖거나 경쟁사보다 더 정교한 훈련 절차에 의존하는 것이 아닙니다. 새로운 아키텍처와 새로운 훈련 기법은 모든 모델이 할 수 있는 것을 개선할 뿐입니다. 중요한 것은 그 자원이 어디로 향하느냐, 즉 여러 곳에 분산되는 것이 아니라 하나의 도메인에 집중되느냐 하는 것입니다.
세 달 후, 더 새로운 모델들이 등장했습니다. 이러한 전문화의 사례가 해당 모델들이 더 새롭고 더 강력할 때도 유효한지에 대해서는 또 다른 질문이 됩니다.
DharmaOCR 논문이 발표된 지 세 달 만에, 두 개의 새로운 OCR 모델인 Mistral OCR4와 Unlimited-OCR이 연구 커뮤니티에서 상당한 주목을 받았습니다. 이들은 모두 진정한 기술적 발전을 대표합니다. 즉, 새로운 훈련 기법, 새로운 데이터셋, 그리고 다양한 벤치마크 평가 전반에 걸친 여러 언어에서의 강력한 결과입니다. 이 모델들은 OCR 시스템이 제공해야 할 기대치를 높이는 종류의 모델들입니다.
저희가 두 모델을 DharmaOCR 벤치마크(포르투갈어만을 위해 특별히 설계된 평가)와 비교하여 실행했을 때, 그 결과는 명확했습니다.
DharmaOCR은 0.925를 기록했습니다. Mistral OCR4는 0.798을 기록했고, Unlimited-OCR은 0.7587을 기록했습니다.
차이는 상당합니다. Mistral OCR4는 DharmaOCR보다 약 13점 낮게 측정되었으며, Unlimited-OCR은 16점 이상 낮은 점수를 기록했습니다. 두 모델 모두 저희 모델보다 나중에 출시되었고, 막대한 연구 자원을 바탕으로 개발되었습니다. DharmaOCR의 근본적인 설계 결정이 전적으로 포르투갈어에 집중된 과제에서, 이러한 전문화 우위는 측정 가능하고 상당합니다.
벤치마크가 핵심 발견점입니다. 다음 내용은 이 격차가 특정한 모양을 띠게 된 이유를 설명합니다.
복잡한 포르투갈어 문서를 처리하는 과정은 다국어 모델이 정확히 어디에서 무너지는지를 보여줍니다. ENEM 에세이는 (브라질의 전국 고등학교 시험) 필기체와 브라질 포르투갈어에 특화된 어휘, 고유명사, 문화적 참조를 결합하고 있습니다. 이는 언어별 전문 교육이 확실한 성과를 내는 바로 그 종류의 문서입니다.
Figure 1: 벤치마크 평가에 사용된 ENEM 에세이 원고와 각 모델의 출력물. 오독은 빨간색으로 표시됨.
Mistral OCR4는 이러한 유형의 문서를 평가받았을 때, 브라질에서 가장 잘 알려진 음악가이자 시인 중 한 명인 Chico Buarque라는 이름을
DharmaOCR은 동일한 문서로 평가했을 때 이러한 사례들을 정확하게 처리합니다. 그 이유는 명확합니다. 이 모델의 학습이 특정 언어 공간에 집중되었기 때문에, 여러 언어에 자원을 분산시키기보다는 브라질 포르투갈어를 특징짓는 어휘와 고유명사 분포 쪽으로 방향을 잡았기 때문입니다.
예시들은 벤치마크를 보여줄 뿐, 대체하는 것은 아닙니다. 이 벤치마크가 격차의 크기를 확립한다면, 예시들은 그 격차가 일반적인 역량보다는 언어별 인식에 집중되어 있음을 보여줍니다.
하지만 추출 정확도는 프로덕션 성능의 한 차원에 불과합니다. 시각적 어려움 하에서의 안정성이 또 다른 차원이며, 운영 관점에서는 실패했을 때 더 심각한 문제입니다.
생성 모델이 명확하게 해결할 수 없는 문서를 만날 경우—작은 글꼴, 저하된 스캔 품질, 빽빽한 필기체—입력 신호에 대한 불확실성에 직면합니다. 주로 다음 토큰 예측(next-token prediction) 목표로 학습된 모델들은 여기서 특정한 취약점을 안고 있습니다. 즉, 시각적 신호가 모호해지면, 모델은 원본 문서에서 나오는 것이 아니라 이전에 학습한 패턴을 계속 생성할 수 있다는 것입니다. 그 결과는 텍스트 퇴행(text degeneration)입니다. 이는 반복적이고, 일관성이 없으며, 페이지 내용과 의미적으로 단절된 출력을 말합니다.
작은 글꼴이 있는 문서를 제시했을 때, Mistral OCR4는 작성된 내용과 전혀 관련 없는 출력을 생성합니다.
Figure 2: small-font document
Figure 3: DharmaOCR 출력 및 Mistral OCR4 퇴행 출력
이는 원본의 낮은 품질의 전사(transcription)가 아닙니다. 이는 완전히 다른 범주의 실패입니다.
운영상의 결과는 전사(transcription) 오류와는 다릅니다. 잘못된 전사는 복구 가능한 방식으로 틀립니다. 이는 원본 문서와의 관계를 가지며, 이론적으로 식별하고 수정할 수 있습니다. 하지만 퇴행된 출력물은 그러한 관계가 없습니다. 무엇을 향해 수정해야 할지 아무것도 없기 때문에 수정될 수 없습니다. 문서 분류(document classification), 정보 추출(information extraction), 규정 준수 워크플로우(compliance workflows) 등 구조화된 OCR 출력을 필요로 하는 다운스트림 프로세스에 있어, 퇴행된 출력물은 부정확한 데이터가 아닙니다. 그것은 구조적으로 사용 불가능한 데이터입니다. 자동화가 제공하고자 했던 효율성은 출력이 더 이상 정보가 아닌 지점에서 정확히 무효화됩니다.
Mistral OCR4와 Unlimited-OCR은 상당한 기술적 진보를 거친 좋은 모델들입니다. 여기서 설명하는 퇴행(degeneration) 행동이 이 모델들을 정의하는 것은 아닙니다. 이는 현재의 훈련이 해당 도메인에 대해 다루지 못한 특정 실패 조건을 식별하는 것입니다. 문제는 이를 해결하도록 설계된 훈련 파이프라인이 어떤 모습인지입니다.
DharmaOCR에서 그 해답은 DPO 단계입니다.
지도 미세 조정(Supervised fine-tuning, SFT)은 모델의 자원을 목표 도메인에 집중시켜 위에서 설명한 언어적 정렬을 구축하는 단계를 수행합니다. 하지만 SFT는 개별 토큰 예측으로 훈련됩니다. 즉, 모델은 선행되는 문맥이 주어졌을 때 올바른 다음 토큰을 생성하도록 학습합니다. 시각적 복잡성 하에서는 이것이 퇴행을 유발하는 조건을 만듭니다. 출력의 초기 토큰이 원본 문서에서 벗어나면, 각 후속 예측은 그 이탈한 상태에 조건화되고, 출력은 계속해서 표류하게 됩니다. 반복 루프와 비일관적인 시퀀스는 이 맥락에서 내재된 특성입니다. 이는 전체 추출의 일관성을 고려하지 않고 단계별로 최적화되는 객체의 예측 가능한 결과물입니다.
DPO는 다른 신호에 맞서 훈련합니다. SFT가 토큰별로 훈련하는 반면, DPO는 모델을 완전한 출력물의 품질에 맞춰 훈련하여, 개별 예측의 정확성보다는 전체 추출의 일관성을 기반으로 경쟁 응답들을 구별하도록 가르칩니다. 그 효과는 안정화시키는 것입니다: 시각적 복잡성이 그렇지 않으면 드리프트(drift)를 유발할 수 있는 문서에서, 모델은 분기된 경로를 따를 가능성이 줄어듭니다. 이는 훈련 과정이 추출 수준에서 일관성을 잃은 출력물에 페널티를 부과했기 때문입니다.
그 결과는 원래의 벤치마크가 입증한 바와 같습니다: 모델이 이 훈련 단계를 거치지 않았을 때 일관성을 잃는 것과 동일한 문서에서, 더 낮은 퇴화율(degeneration rates)과 더 높은 추출 정확도를 보입니다.
이 벤치마크는 오늘날 무엇이 사실인지를 확립합니다. 그리고 2년 후에 무엇이 사실일지에 대해서는 덜 정밀합니다.
새로운 모델들이 결국 브라질 포르투갈어에서도 현재의 DharmaOCR을 능가할 가능성은 있으며, 그럴 가능성이 높습니다. 아키텍처는 개선될 것입니다. 훈련 기법은 발전할 것입니다. 데이터셋은 확장될 것입니다. 이 분야는 모든 수준에서 더 높은 역량으로 나아가고 있으며, 이러한 추세가 멈출 이유가 없습니다. 이는 예상되는 것이며 환영할 만한 일입니다.
각 아키텍처 세대마다 변하는 것은 절대 성능의 상한선(ceiling)입니다. 변하지 않는 것은 주어진 도메인에서 어떤 시스템이 그 상한선에 가장 근접하게 도달하도록 결정하는 구조적 논리입니다.