본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 24. 19:09

Show HN: Qwen-2.5-32B가 이제 최고의 오픈 소스 OCR 모델입니다

요약

Qwen-2.5-32B를 포함한 다양한 멀티모달 모델의 OCR 및 JSON 데이터 추출 능력을 비교 평가하는 오픈 소스 벤치마킹 도구를 소개합니다. 문서에서 텍스트를 읽고 구조화된 데이터를 추출하는 과정을 정밀하게 측정하는 방법론을 제시합니다.

핵심 포인트

  • Qwen-2.5-32B가 오픈 소스 OCR 모델 중 최상위 성능을 기록함
  • OCR 정확도와 JSON 추출 정확도를 동시에 평가하는 벤치마크 제공
  • Levenshtein distance를 활용한 텍스트 유사도 측정 방식 채택
  • 오픈 소스 데이터셋과 방법론을 통해 누구나 확장 가능

gpt-4o와 같은 다양한 거대 멀티모달 모델 (Large Multimodal Models)의 OCR 및 데이터 추출 능력을 비교하고, 텍스트와 JSON 추출 정확도를 모두 평가하는 벤치마킹 도구입니다. 이 벤치마크의 목표는 기존의 전통적인 OCR 제공업체와 멀티모달 언어 모델 (Language Models) 전반에 걸친 OCR 정확도에 대한 포괄적인 벤치마크를 발표하는 것입니다. 평가 데이터셋과 방법론은 모두 오픈 소스 (Open Source)이며, 추가적인 제공업체를 포함하여 이 벤치마크를 확장하는 것을 권장합니다.

오픈 소스 LLM 벤치마크 결과 (2025년 3월) | 데이터셋 (Dataset)

벤치마크 결과 (2025년 2월) | 데이터셋 (Dataset)

주요 목표는 문서로부터의 JSON 추출을 평가하는 것입니다. 이를 평가하기 위해, Omni 벤치마크는 문서 (Document) ⇒ OCR ⇒ 추출 (Extraction) 과정을 실행합니다. 모델이 페이지를 얼마나 잘 OCR 하고, 그 내용을 LLM이 파싱할 수 있는 형식으로 반환하는지를 측정합니다.

우리는 예측된 JSON 객체와 정답 (Ground Truth) JSON 객체 사이의 차이를 식별하기 위해 수정된 json-diff를 사용합니다. 정확한 구현을 확인하려면 evaluation/json.ts 파일을 검토할 수 있습니다. 정확도는 다음과 같이 계산됩니다:

주요 벤치마크 지표는 JSON 정확도이지만, 추출된 텍스트와 정답 텍스트 사이의 텍스트 유사도를 측정하기 위해 레벤슈타인 거리 (Levenshtein distance)를 포함했습니다. 거리가 낮을수록 유사도가 높음을 나타냅니다. 이 점수 산정 방식은 정답 데이터의 정확한 레이아웃 (Layout)을 따르지 않는 정확한 텍스트에 대해 큰 페널티를 부여한다는 점에 유의하십시오.

아래 예시에서, LLM은 두 텍스트 블록을 아무런 문제 없이 해독할 수 있습니다. 모든 정보는 100% 정확하지만, 헤더 텍스트 (주소, 전화번호 등)의 미세한 재배열은 편집 거리 (Edit distance) 점수에서 큰 차이를 발생시킵니다.

  • 저장소 (Repo)를 클론 (Clone)하고 의존성을 설치하세요:
    npm install

  • 테스트 데이터를 준비하세요

  • 로컬 데이터의 경우, 개별 파일을 data 폴더에 추가하세요. - DB에서 가져오려면 .env 파일에 DATABASE_URL을 추가하세요.

  • 로컬 데이터의 경우, 개별 파일을 추가하세요.

  • models.example.yaml 파일을 models.yaml로 복사하세요. .env 파일에 API 키를 설정하세요.

테스트하려는 모델에 대해 설정하세요. 지원되는 모델은 여기에서 확인할 수 있습니다. - 벤치마크 실행:
npm run benchmark

  • 결과는 다음 파일에 저장됩니다:
    results/<timestamp>/results.json

특정 모델을 활성화하려면 src 디렉토리에 models.yaml 파일을 생성하세요. 필요한 변수는 models.example.yaml 파일을 참조하세요.

models:
- ocr: gemini-2.0-flash-001 # OCR에 사용할 모델
extraction: gpt-4o # JSON 추출 (JSON extraction)에 사용할 모델
...

각 모델에 대한 설정은 src/models/ 폴더에서 확인할 수 있습니다.

모델 제공자 (Model Provider)모델 (Models)OCRJSON 추출 (JSON Extraction)필수 환경 변수 (Required ENV Variables)
Anthropicclaude-3-5-sonnet-20241022ANTHROPIC_API_KEY
OpenAIgpt-4oOPENAI_API_KEY
Geminigemini-2.0-flash-001 , gemini-1.5-pro , gemini-1.5-flashGOOGLE_GENERATIVE_AI_API_KEY
Mistralmistral-ocrMISTRAL_API_KEY
OmniAIomniaiOMNIAI_API_KEY , OMNIAI_API_URL
모델 제공자 (Model Provider)모델 (Models)OCRJSON 추출 (JSON Extraction)필수 환경 변수 (Required ENV Variables)
Gemma 3google/gemma-3-27b-it
Qwen 2.5qwen2.5-vl-32b-instruct , qwen2.5-vl-72b-instruct
Llama 3.2meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo , meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo
ZeroXzeroxOPENAI_API_KEY
모델 제공자 (Model Provider)모델 (Models)OCRJSON 추출 (JSON Extraction)필수 환경 변수 (Required ENV Variables)
AWSaws-text-extractAWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , AWS_REGION
Azureazure-document-intelligenceAZURE_DOCUMENT_INTELLIGENCE_ENDPOINT , AZURE_DOCUMENT_INTELLIGENCE_KEY
google-document-aiGOOGLE_LOCATION , GOOGLE_PROJECT_ID , GOOGLE_PROCESSOR_ID , GOOGLE_APPLICATION_CREDENTIALS_PATH
UnstructuredunstructuredUNSTRUCTURED_API_KEY
  • LLM은 OCR 및 JSON 추출을 위해 다음 시스템 프롬프트 (system prompts)를 사용하도록 지시됩니다.
  • Google Document AI의 경우, data 폴더에 google_credentials.json을 포함해야 합니다.

벤치마크 대시보드 (benchmark dashboard)를 사용하면 각 테스트 실행 결과를 쉽게 확인할 수 있습니다. 자세한 내용은 대시보드 문서를 참조하세요.

이 프로젝트는 MIT 라이선스 (MIT License) 하에 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0