일반 소개
olmOCR은 Allen 인공지능 연구소(AI2)의 AllenNLP 팀이 개발한 오픈 소스 도구로, PDF 파일을 선형화된 텍스트로 변환하는 데 중점을 두고 있으며 특히 대규모 언어 모델(LLM)을 위한 데이터 세트 준비 및 훈련에 적합합니다. 복잡한 PDF 문서에서 텍스트 추출을 지원하고, 자연스러운 읽기 순서를 유지하며, 표, 수식, 심지어 손으로 쓴 내용까지 처리할 수 있습니다. 이 도구는 효율적으로 설계되어 로컬 GPU에서 실행하거나 다중 노드 병렬 처리를 위해 AWS S3를 통해 실행할 수 있어 처리 비용을 크게 절감할 수 있습니다. 공식 데이터에 따르면 처리 속도가 초당 최대 3000개 이상의 토큰을 처리할 수 있고 비용은 GPT-4o의 1/32에 불과해 대량의 PDF를 처리해야 하는 연구자와 개발자에게 매우 적합합니다. Apache 2.0 라이선스, 코드, 모델 가중치 및 데이터를 사용하는 olmOCR은 완전히 오픈 소스이며 커뮤니티가 개선에 참여하도록 장려하고 있습니다.

데모 주소: https://olmocr.allenai.org/
기능 목록
- PDF 텍스트 추출 및 선형화: 읽기 순서를 유지하면서 PDF 파일을 돌마 스타일 JSONL 형식의 텍스트로 변환합니다.
- GPU 가속 추론효율적인 문서 처리를 위해 네이티브 GPU와 sglang 기술을 활용합니다.
- 멀티 노드 병렬 처리수백만 개의 PDF를 처리하는 데 적합한 AWS S3를 통한 멀티 노드 작업 조정 지원.
- 복잡한 콘텐츠 인식표, 수학 공식, 손글씨 텍스트를 처리하여 구조화된 결과를 출력합니다.
- 유연한 업무 공간 관리처리 결과 및 중간 데이터를 저장하기 위한 로컬 또는 클라우드 작업 공간을 지원합니다.
- 오픈 소스 생태 지원2차 개발 및 커스터마이징을 위한 완전한 코드와 문서를 제공합니다.
도움말 사용
설치 프로세스
olmOCR의 설치는 Python을 지원하는 환경에서 수행해야 하며, 처리 효율을 높이기 위해 GPU를 사용하는 것이 좋습니다. 자세한 단계는 다음과 같습니다:
1. 환경 준비
- Anaconda 설치아나콘다가 없는 경우 공식 웹사이트로 이동하여 다운로드하여 설치하세요.
- 가상 환경 만들기:
conda create -n olmocr python=3.11 conda activate olmocr
- 복제 코드 리포지토리:
git clone https://github.com/allenai/olmocr.git cd olmocr
2. 핵심 종속성 설치
- 기본 종속성 설치:
pip install -e .
- GPU 지원 설치(선택 사항)GPU 가속이 필요한 경우 sglang과 flashinfer를 설치하세요:
pip install sgl-kernel==0.0.3.post1 --force-reinstall --no-deps pip install "sglang[all]==0.4.2" --find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/
다음 사항에 유의하십시오.GPU 드라이버 및 CUDA 버전이 위의 종속성과 호환되는지 확인하세요.
3. 설치 확인
- 명령줄에서 다음을 실행합니다.
python -m olmocr.pipeline --help
도움말 메시지가 출력되면 설치에 성공한 것입니다.
사용법
olmOCR은 로컬 단일 파일 처리와 클라우드에서의 대규모 처리라는 두 가지 주요 사용 시나리오를 제공합니다. 다음은 운영 프로세스에 대해 자세히 설명합니다.
개별 PDF의 로컬 처리
- PDF 파일 준비:
- 처리할 PDF를 로컬 디렉터리에 배치합니다.
./tests/gnarly_pdfs/horribleocr.pdf
.
- 처리할 PDF를 로컬 디렉터리에 배치합니다.
- 처리 명령 실행:
python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf
- 결과 보기:
- 처리가 완료되면 결과는 JSON 형식의
./localworkspace
. - 추출된 텍스트는 Dolma 스타일 JSONL 형식으로 저장됩니다.
./localworkspace/results
가운데.
- 처리가 완료되면 결과는 JSON 형식의
- 조정 매개변수(선택 사항):
--workers
: 동시 작업자 스레드 수를 설정합니다(기본값은 8개).--target_longest_image_dim
렌더링된 이미지의 최대 측면 길이를 설정합니다(기본값은 1024픽셀).
샘플 출력(컴퓨팅):
{"text": "Molmo and PixMo:\nOpen Weights and Open Data\nfor State-of-the...", "metadata": {"primary_language": "en", "is_table": false}}
클라우드에서의 대규모 처리(AWS S3)
- AWS 환경 구성:
- AWS 계정이 있는지 확인하고 액세스 키를 생성합니다.
- 예를 들어 S3에서 두 개의 버킷을 만듭니다.
s3://my_s3_bucket/pdfworkspaces/exampleworkspace
노래로 응답s3://my_s3_bucket/jakep/gnarly_pdfs/
.
- PDF 파일 업로드:
- PDF 파일을 다음 주소로 업로드하세요.
s3://my_s3_bucket/jakep/gnarly_pdfs/
.
- PDF 파일을 다음 주소로 업로드하세요.
- 마스터 노드 작업 시작:
python -m olmocr.pipeline s3://my_s3_bucket/pdfworkspaces/exampleworkspace --pdfs s3://my_s3_bucket/jakep/gnarly_pdfs/*.pdf
- 이 명령은 작업 대기열을 만들고 처리를 시작합니다.
- 슬레이브 노드 추가:
- 다른 컴퓨터에서 실행 중입니다:
python -m olmocr.pipeline s3://my_s3_bucket/pdfworkspaces/exampleworkspace
- 슬레이브 노드는 대기열에서 자동으로 작업을 가져와서 처리합니다.
- 결과 보기:
- 결과는
s3://my_s3_bucket/pdfworkspaces/exampleworkspace/results
.
- 결과는
다음 사항에 유의하십시오.AWS CLI를 구성하고 S3 스토리지 버킷에 액세스할 수 있는 충분한 권한이 있는지 확인해야 합니다.
비커 사용(AI2 내부 사용자)
- 비커 매개변수 추가:
python -m olmocr.pipeline s3://my_s3_bucket/pdfworkspaces/exampleworkspace --pdfs s3://my_s3_bucket/jakep/gnarly_pdfs/*.pdf --beaker --beaker_gpus 4
- 운영 효과:
- 로컬에서 작업 공간을 준비하면 클러스터에서 4개의 GPU 워커 노드가 자동으로 시작됩니다.
주요 기능 작동
1. 복잡한 문서 처리
- 절차:
- 표나 수식이 포함된 PDF를 업로드합니다.
- 기본 모델 사용
allenai/olmOCR-7B-0225-preview
를 클릭하고 처리 명령을 실행합니다. - 출력 JSONL 파일을 확인하여 표와 수식이 텍스트로 올바르게 구문 분석되고 있는지 확인합니다.
- STH에 주목하세요.:: 인식이 잘 안 되는 경우 조정
--target_longest_image_dim
매개변수를 설정하여 이미지 해상도를 높일 수 있습니다.
2. 높은 처리량 처리
- 절차:
- 멀티노드 환경(예: AWS 또는 Beaker)을 구성합니다.
- 증가
--workers
매개변수를 사용하여 독립형 병렬 처리를 향상시킬 수 있습니다. - 초당 3000개 이상의 토큰을 처리할 수 있도록 처리 속도를 모니터링합니다.
- 최첨단비용은 백만 페이지당 190달러로 상용 API보다 훨씬 저렴합니다.
3. 사용자 지정 개발
- 절차:
- 수정
olmocr/pipeline.py
를 클릭하고 처리 로직을 조정합니다. - 상호 호환성
--model
매개 변수를 사용하여 사용자 지정 모델 경로를 사용합니다. - GitHub에 코드를 제출하고 커뮤니티 개발에 참여하세요.
- 수정
주의
- 하드웨어 요구 사항로컬 작동을 위해서는 GPU가 필요하며, NVIDIA 그래픽 카드가 권장됩니다.
- 네트워크 요구 사항클라우드 처리를 위해서는 AWS에 대한 안정적인 네트워크 연결이 필요합니다.
- 디버깅 팁사용
--stats
문제 해결을 위한 작업 공간 통계를 볼 수 있는 매개변수입니다.
이러한 단계를 통해 단일 PDF 작업이든 대규모 데이터 세트 작업이든 상관없이 olmOCR을 빠르게 익히고 효율적으로 작업을 완료할 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...