1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI A10 GPU に3種類のOCRモデルを一発デプロイする

1
Posted at

はじめに

OCRモデルをGPU上で動かすには、NVIDIAドライバー、Docker、vLLMなどのセットアップが必要です。

今回は、次のTerraformスタックを使い、OCI Resource ManagerからA10 GPUへOCRモデルをデプロイします。

GitHub:

このツールでは、モデルを認証付きのOpenAI互換APIとして公開できます。

対応構成

項目 内容
リージョン 東京、大阪
OS Ubuntu 24.04 LTS
GPU VM.GPU.A10.1 / VM.GPU.A10.2
API vLLM OpenAI互換API
認証 sk-で始まるAPIキー

A10.1ではTP=1、A10.2ではTP=2が自動設定されます。

1スタックにつき1モデルをデプロイします。複数モデルを利用する場合は、モデルごとにスタックを作成します。

選択できるOCRモデル

モデル 特徴
zai-org/GLM-OCR 図、チャート、スクリーンショットに強い
baidu/Unlimited-OCR 表や長文書の構造化に強い
rednote-hilab/dots.mocr 文書レイアウトやMarkdown化に向く

結局、どれがおすすめ?

実データによる比較では、OCRモデルは大きく2系統に分かれました。

図・チャート・スクリーンショット

GLM-OCRがおすすめです。

図中の数値、グラフの軸、SmartArt内の文字などを読み取れます。

グラフ
チャート
画面キャプチャ
テキスト層のない提案スライド

このような資料が多い場合は、まずGLM-OCRを選びます。

表・長文書

Unlimited-OCRがおすすめです。

表をHTML形式で保持しやすく、行と列の関係を後段のRAGでも利用できます。

帳票
一覧表
長文書
表を含むスクリーンショット

表構造を重視する場合に適しています。

文書レイアウト

dots.mocrは、見出しや文書構造をMarkdown化したい場合の候補です。

ただし、図やチャートでは内容を十分に取得できない場合があるため、図主体の資料にはGLM-OCRを使う方が安全です。

実運用でのおすすめ構成

万能な1モデルはありません。

現実的には、次の2モデルを分けて利用します。

図・チャート・スクショ
  → GLM-OCR

表・長文書
  → Unlimited-OCR

文書レイアウトの抽出を比較したい場合に、dots.mocrを追加する構成がおすすめです。

デプロイ手順

1. Resource Managerを開く

GitHubのREADMEにあるDeploy to Oracle Cloudボタンを押します。

2. OCI環境を選択する

次の項目を指定します。

  • コンパートメント
  • 可用性ドメイン
  • VCN
  • パブリック・サブネット
  • SSH公開鍵

3. GPUとモデルを選択する

検証用途なら、まず次の構成で十分です。

Shape: VM.GPU.A10.1
Boot Volume: 200 GB
API Port: 80

続けて、利用するOCRモデルとsk-で始まるAPIキーを入力します。

4. Applyする

Terraform Applyを実行すると、次の処理が自動実行されます。

A10インスタンス作成
  ↓
NVIDIAドライバー設定
  ↓
Docker設定
  ↓
OCRモデル取得
  ↓
vLLM API起動

ドライバーのインストールが必要な場合、インスタンスは途中で再起動します。再起動後も初期化処理は継続されます。

初期化状況を確認する

SSH接続後、次のコマンドで確認します。

sudo journalctl -u ocr-deployer-init.service -f

vLLMのログはこちらです。

sudo docker logs -f ocr-vllm

APIを確認する

Resource Managerの出力からパブリックIPを確認します。

curl -sS \
  -H 'Authorization: Bearer sk-your-api-key' \
  http://<PUBLIC_IP>:80/v1/models

モデル一覧が返れば、デプロイ完了です。

選択したHugging FaceモデルIDが、そのままAPIのモデル名になります。

注意点

OCI側のSecurity ListまたはNSGで、APIポートへのIngressを許可する必要があります。

Source CIDR: 利用元IP/32
Protocol: TCP
Port: 80

SSHの22番ポートも、管理元IPだけに制限します。

また、デフォルトではHTTPで公開されます。本番環境では、NSGによるアクセス制限に加え、TLS、リバースプロキシ、またはAPI Gatewayを利用してください。

まとめ

no.1-oci-a10-ocr-deployerを使うと、OCI A10 GPU上にOCRモデルを簡単にデプロイできます。

モデル選択は、次の基準で考えると分かりやすいです。

図・チャート・スクショ → GLM-OCR
表・長文書             → Unlimited-OCR
文書レイアウト         → dots.mocr

実運用では、GLM-OCRとUnlimited-OCRを別スタックで起動し、資料の種類によって振り分ける構成が最も実用的です。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?