PDF와 이미지 문서를 LLM 학습용 텍스트로 변환하는 도구
수식과 표가 뒤섞인 학술 논문이나 복잡한 레이아웃의 보고서를 마크다운 파일로 바꾸고 싶을 때, 이 도구가 그 과정을 자동화합니다. 이미지 기반 문서에서 텍스트를 추출해 자연스러운 읽기 순서로 정리하는 도구로, 대규모 데이터셋을 만들거나 문서 내용을 분석하려는 작업에 쓰입니다.
v0.4.0 모델 업데이트와 벤치마크 결과
이전 버전인 v0.3.0에서는 자동 회전 감지 오류와 빈 문서에 대한 환각 현상을 수정했으며, v0.2.1에서는 FP8 형식을 기본으로 사용해 처리 속도를 높이고 문서당 재시도 횟수를 줄였습니다. olmOCR-Bench는 1,400개 문서, 7,000개 이상의 테스트 케이스로 구성된 벤치마크로, v0.4.0은 전체 점수 82.4점을 기록했습니다.
복잡한 문서 구조 처리 방식
이 도구는 PDF, PNG, JPEG 형식의 문서를 마크다운으로 변환하며, 수식, 표, 손글씨, 복잡한 서식까지 지원합니다. 헤더와 푸터는 자동으로 제거하고, 여러 열로 나뉘거나 그림이 삽입된 레이아웃에서도 자연스러운 읽기 순서를 유지합니다.
설치 환경과 실행 방법
로컬 GPU에서 실행하려면 NVIDIA GPU(RTX 4090, L40S, A100, H100 등)와 최소 12GB의 GPU 메모리, 그리고 30GB의 디스크 공간이 필요합니다. Python 3.11 환경을 생성한 후 pip install olmocr[gpu] 명령으로 설치할 수 있으며, 더 빠른 추론을 위해 flashinfer 패키지를 함께 설치하는 것이 권장됩니다. 만약 로컬 GPU가 없다면, vLLM 서버를 원격으로 연결하여 경량 설치(pip install olmocr)만으로도 사용할 수 있습니다. Docker 이미지를 활용하면 모델 다운로드와 환경 설정을 한 번에 해결할 수 있어 초보자에게도 접근성이 좋습니다.
대규모 처리와 비용 효율성
수백만 페이지의 PDF를 처리해야 하는 경우, AWS S3를 활용해 여러 노드에서 병렬로 작업을 수행할 수 있습니다. 첫 번째 워커 노드가 작업 큐를 설정하면, 나머지 노드들은 자동으로 같은 큐에서 작업을 가져와 처리합니다. 페이지당 변환 비용은 100만 페이지당 200달러 미만으로 유지되어, 대규모 데이터셋 구축 시 경제적 부담을 줄여줍니다. 또한, Cirrascale, DeepInfra, Parasail 등 외부 추론 제공업체와도 연동되어 GPU 인프라를 직접 관리하지 않고도 서비스를 이용할 수 있습니다.
적용 전 확인해야 할 사항
이 도구는 Apache 2.0 라이선스로 공개되어 있어 상업적 사용이 가능합니다. 다만, 7B 매개변수 모델 기반이므로 GPU 환경이 필수적이며, 로컬 실행 시 상당한 하드웨어 자원을 요구한다는 점을 고려해야 합니다. olmOCR-Bench 벤치마크에서 82.4점을 기록하며 경쟁 제품들과 유사하거나 더 높은 성능을 보였지만, 특정 문서 유형(예: 매우 오래된 스캔본)에서는 여전히 한계가 있을 수 있습니다. 도입 전에는 자신의 문서 샘플을 웹 데모나 소규모 로컬 테스트로 변환 품질을 미리 확인해 보는 것이 좋습니다.