olmOCRをローカルにデプロイしてPDF処理を簡単に!ステップバイステップガイド

olmOCRをローカルにデプロイしてPDF処理を簡単に!ステップバイステップガイド

Author

OLMOCR Team

2025年3月1日

olmOCRをローカルにデプロイしてPDF処理を簡単に!ステップバイステップガイド

olmOCR Logo

PDFドキュメントを扱う皆さん、注目です!今回は、言語モデルがあらゆる複雑なレイアウトのPDFを読み解くことを可能にする強力なツール、olmOCRをご紹介します。学術論文から複雑な表まで、あらゆるものを処理できます。さらに、ローカルデプロイに対応しているため、データのセキュリティも万全です!それでは、インストールと使用方法をステップバイステップで見ていきましょう👇


🛠️ 準備:依存パッケージのインストール

まず、システムレベルの依存関係をいくつかインストールします(Ubuntuの場合):

# 必要なパッケージを一括インストール
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools

💡 ヒント:インストール中にフォントのライセンス許諾が表示された場合は、TABキーで<Yes>を選択して承認してください。


🌱 Python環境の作成

condaで環境を管理することをおすすめします:

conda create -n olmocr python=3.11
conda activate olmocr

# リポジトリをクローンしてインストール
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .

⚡ 高速化コンポーネントのインストール

GPUアクセラレーションを使用したい場合は、次の2つのコマンドを実行してください:

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/

🚀 クイックスタート:PDF変換の実践

単一ファイルの変換

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf

バッチ処理

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf

変換結果は./localworkspace/resultsディレクトリ内のJSONLファイルに保存されます。次のコマンドで確認できます:

cat localworkspace/results/output_*.jsonl

👀 比較ビューア

元のPDFと変換結果を視覚的に比較したい場合は、次のコマンドを実行してください:

python -m olmocr.viewer.dolmaviewer localworkspace/results/output_*.jsonl

生成されたdolma_previewsディレクトリ内のHTMLファイルを開くと、次のような比較画面が表示されます👇

比較ビューアの例


🧰 高度な使い方

大規模PDF処理

企業レベルでの大量のPDF処理には、AWSクラスターを利用できます:

# 最初のノードで初期化
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf

# 他のノードをクラスターに参加させる
python -m olmocr.pipeline s3://my_bucket/workspace

全パラメーターの確認

python -m olmocr.pipeline --help

💻 Dockerユーザー向け

公式にDockerfileが提供されているため、イメージを直接利用することで手間を省けます:

FROM allenai/olmocr-inference:latest
# 詳細はプロジェクトドキュメントを参照してください
# リンクはこちら:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference

❓ よくある質問

  1. GPUエラーが発生した場合の対処法は?
    グラフィックボードのドライバーとCUDAのバージョンを確認してください。RTX 4090/L40S/A100/H100などの新しいカードの使用をおすすめします。

  2. 日本語のPDFはサポートされていますか?
    現時点では主に英語のドキュメントに最適化されていますが、--apply_filterパラメーターを使用することで他の言語も試すことができます。

  3. ディスク容量が足りない場合は?
    最低でも30GBの空き容量を確保してください。大きなファイルを処理する場合はSSDの使用をおすすめします。


👏 謝辞

olmOCRはアレン人工知能研究所(AI2)によって開発され、Apache 2.0ライセンスの下で公開されています。開発チームの貢献に感謝します(貢献者一覧)。

ぜひ試してみてください!質問がある場合は、Discordコミュニティで気軽に交流しましょう~🎉