独立系ガイド — IBM および Docling プロジェクトとは無関係です。 すべてのコマンドを Docling 2.143.1 で検証済み。
  1. ホーム
  2. VLM と Granite-Docling
VLM パイプライン

Docling の VLM パイプラインと Granite-Docling を解説

VLM パイプラインは専門モデルを連鎖させる代わりに、1 つの視覚言語モデルに各ページの画像を読ませて構造を書き出させます。Docling 2.143.1 には IBM の 2.58 億パラメーターの Granite-Docling から 270 億パラメーターの汎用モデルまで、22 のプリセットがあります。

Docling で検証済み 2.143.1更新日 2026年10月27日9 分で読めます
要点
  • --pipeline vlm で有効化。既定のプリセットは granite_docling(IBM Granite-Docling-258M、Apache-2.0)。
  • pip install "docling[vlm]" でインストール。GPU または Apple Silicon を強く推奨します。
  • 22 のプリセットは DocTags モデル、Markdown を出力する VLM、レイアウト解析モデルを含み、一部は --trust-remote-code が必要です。
  • デジタル生成 PDF と速度重視なら標準パイプライン。数式、特殊なレイアウト、グラフ、標準パイプラインがうまくいかない場合に VLM を試します。

標準パイプラインと VLM パイプライン#

--pipeline standard解析docling-parseレイアウトheron表TableFormerOCR(必要時)autoDoclingDocument--pipeline vlm --vlm-model granite_doclingページ描画画像1 つの視覚言語モデルがページ全体を読むDocTags → layout, text, tables, code, formulasDoclingDocument
出力形式は同じで、エンジンが異なります。VLM パイプラインは複数の専用モデルを 1 つの生成モデルに置き換えます。
標準パイプラインVLM パイプライン
方式パーサー + レイアウトモデル + TableFormer + OCRページ画像ごとに 1 つの視覚言語モデル
PDF 自身のテキストを使うはい——デジタル生成 PDF の文字は正確いいえ——モデルはレンダリングしたページを読む
CPU での速度当サイトのテストで 1 ページ 2.3 秒(OCR オフ)テストでは Granite-Docling が 2 ページの抜粋に 310 秒(モデル読み込み込み)——GPU か Apple Silicon を用意
強み高速、忠実なテキスト、全要素にバウンディングボックス数式、コード、グラフ、特殊なレイアウト。導入するモデルは 1 つ
リスク複雑な表で行が結合されることがある(表のテスト参照)生成系の誤り:テキストの欠落や繰り返し。長いページで起きやすい

実行する#

bashCLI
pip install "docling[vlm]"
docling convert report.pdf --pipeline vlm                       # 既定のプリセット:granite_docling
docling convert report.pdf --pipeline vlm --vlm-model smoldocling
docling convert report.pdf --pipeline vlm --to html_split_page --show-layout
pythonPython
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import VlmConvertOptions, VlmPipelineOptions
from docling.document_converter import DocumentConverter, PdfFormatOption
from docling.pipeline.vlm_pipeline import VlmPipeline

opts = VlmPipelineOptions()
opts.vlm_options = VlmConvertOptions.from_preset("granite_docling")

converter = DocumentConverter(format_options={
    InputFormat.PDF: PdfFormatOption(pipeline_cls=VlmPipeline, pipeline_options=opts)
})
doc = converter.convert("report.pdf").document
print(doc.export_to_markdown())

VlmConvertOptions.list_presets() はすべてのプリセットとそのモデル・説明を返します。CLI が --vlm-model で呼ぶのはまさに from_preset() です。

Granite-Docling-258M の概要#

  • 開発:IBM Research · ライセンス:Apache 2.0 · 公開:2025 年 9 月 17 日。
  • アーキテクチャ:Idefics3 の設計で、視覚エンコーダーは siglip2-base-patch16-512、言語モデルは Granite 165M。
  • 出力:DocTags——レイアウト、テキスト、表、コード、数式、グラフを表す簡潔なマークアップで、DoclingDocument に対応付けられます。
  • 言語:英語。日本語・アラビア語・中国語は実験的とされています。
  • プロンプト:ページ全体は “Convert this page to docling.”、個別の要素は “Convert chart to table.” のような短い指示。
Granite-Docling-258M と前世代モデルの比較IBM がモデルカードで公表したスコア(高いほど良い。OCRBench は 0〜1 に換算)。
SmolDocling-256M-previewGranite-Docling-258M
00.250.50.751Layout F10.86Layout recall0.88Layout precision0.92MMStar0.3OCRBench ÷ 10000.5

出典: ibm-granite/granite-docling-258M model card

データ表を表示
Granite-Docling evals
SmolDocling-256M-previewGranite-Docling-258M
Layout F10.850.86
Layout recall0.840.88
Layout precision0.90.92
MMStar0.170.3
OCRBench ÷ 10000.3380.5

全 22 プリセット#

Docling 2.143.1 の VlmConvertOptions.list_presets() から取得。「リモートコード」のプリセットは --trust-remote-code を付けたときだけ動きます。先にモデルのコードを確認してください。

VLM プリセットごとのモデル規模パラメータ数(10 億単位)。Docling 2.143.1 の各プリセット説明に記載の値。規模の記載がないものは省略。
0102030smoldocling0.26Bgranite_docling0.26Bfalcon_ocr0.30Bnemotron_parse_v3_50.60Bnemotron_parse_v20.90Bglm_ocr0.90Blightonocr1.00Bmineru2_pro1.20Bgranite_vision2.00Bdeepseek_ocr3.00Bqwen3.00Bnanonets_ocr23.00Bdots_ocr3.00Bdots_mocr3.00Bunlimited_ocr3.34Bchandra_ocr25.30Bpixtral12.00Bgemma_12b12.00Bgemma_27b27.00B

VlmConvertOptions.list_presets() から取得。

データ表を表示
VLM プリセットごとのモデル規模
10 億パラメータ
smoldocling0.26B
granite_docling0.26B
falcon_ocr0.30B
nemotron_parse_v3_50.60B
nemotron_parse_v20.90B
glm_ocr0.90B
lightonocr1.00B
mineru2_pro1.20B
granite_vision2.00B
deepseek_ocr3.00B
qwen3.00B
nanonets_ocr23.00B
dots_ocr3.00B
dots_mocr3.00B
unlimited_ocr3.34B
chandra_ocr25.30B
pixtral12.00B
gemma_12b12.00B
gemma_27b27.00B
--vlm-modelモデルサイズ出力備考
granite_doclingibm-granite/granite-docling-258M258MDocTags既定 · MLX 版あり
smoldoclingdocling-project/SmolDocling-256M-preview256MDocTags前身 · MLX 版あり
falcon_ocrtiiuae/Falcon-OCR0.3BMarkdownリモートコード · MLX
glm_ocrzai-org/GLM-OCR0.9BMarkdownMLX
lightonocrlightonai/LightOnOCR-2-1B1BMarkdownMLX
mineru2_proopendatalab/MinerU2.5-Pro-2604-1.2B1.2BMinerU 2 段階方式Transformers・MLX・API
granite_visionibm-granite/granite-vision-3.3-2b2BMarkdownTransformers・vLLM・Ollama・LM Studio
deepseek_ocrdeepseek-ocr:3b3BMarkdownOllama または LM Studio 経由のみ
qwenQwen/Qwen2.5-VL-3B-Instruct3BMarkdownMLX
nanonets_ocr2nanonets/Nanonets-OCR2-3B3BMarkdownMLX
dots_ocrrednote-hilab/dots.ocr3Bボックス付き JSONリモートコード
dots_mocrrednote-hilab/dots.mocr3Bボックス付き JSONリモートコード。Transformers では flash-attn が必要
unlimited_ocrbaidu/Unlimited-OCR3.34B MoEボックス付き Markdown
chandra_ocr2datalab-to/chandra-ocr-25.3Bボックス付き HTMLリモートコード · MLX
pixtralmistral-community/pixtral-12b12BMarkdownMLX
gemma_12bgoogle/gemma-3-12b-it12BMarkdownMLX のみ
gemma_27bgoogle/gemma-3-27b-it27BMarkdownMLX のみ
phi4microsoft/Phi-4-multimodal-instruct—Markdownリモートコード · Transformers・vLLM
got_ocrstepfun-ai/GOT-OCR-2.0-hf—MarkdownTransformers
dolphinByteDance/Dolphin—Markdown
nemotron_parse_v2nvidia/NVIDIA-Nemotron-Parse-2.0—Nemotron Parseリモートコード · Transformers・MLX・vLLM
nemotron_parse_v3_5nvidia/Nemotron-3.5-Parse—Nemotron ParseTransformers・API

「MLX のみ」などの備考は各プリセットの対応推論エンジンの一覧によります。ライセンスはモデルごとに異なるため、商用利用の前にモデルカードを確認してください。

標準と VLM の選び方#

  1. まず標準パイプライン。既定なのには理由があります。高速で、デジタル生成 PDF の文字が正確で、すべての要素に出典情報が付きます。
  2. 結果を目で確認。--to html_split_page --show-layout で各ページと Docling の抽出結果が横に並びます。
  3. うまくいかないページで Granite-Docling を試す。--page-range と組み合わせて数ページで試してから GPU 時間を使いましょう。
  4. 自分の文書で比較する。公開スコアは他人の文書での平均です。自分の文書 10 本のほうが多くを教えてくれます。

画像の説明とグラフの抽出#

視覚モデルを使うのに VLM パイプライン全体は要りません。標準パイプラインから、画像に対してだけ小さな VLM を呼び出せます:

bash
docling convert report.pdf --enrich-picture-description          # 図のキャプションを生成
docling convert report.pdf --enrich-chart-extraction             # 棒・円・折れ線グラフ → 表
docling convert report.pdf --enrich-chart-extraction --chart-extraction-preset granite_vision_v4

2.143.1 のグラフ抽出プリセット:granite_vision_v3_3・granite_vision_v4(既定)・granite_vision_v4_mlx。既定は IBM Granite-Vision-4.1-4B(ibm-granite/granite-vision-4.1-4b)、granite_vision_v3_3 は 2B のグラフ→CSV モデルです。GPU か Apple Silicon を用意してください。プリセット名は 2.143.1 で確認しましたが、CPU のテストマシンではグラフ抽出を実行していません。

よくある質問

Granite-Docling とは?

Granite-Docling-258M は IBM Research が 2025 年 9 月 17 日に Apache 2.0 で公開した小型の視覚言語モデルです。ページ画像を DocTags マークアップに変換し、Docling がそれを DoclingDocument にします。Idefics3 アーキテクチャをベースに、SigLIP2 視覚エンコーダーと Granite 165M 言語モデルを組み合わせています。

Docling で Granite-Docling を使うには?

docling[vlm] をインストールし、docling convert file.pdf --pipeline vlm --vlm-model granite_docling を実行します。Python では VlmPipelineOptions().vlm_options = VlmConvertOptions.from_preset('granite_docling') を設定し、パイプラインクラスに VlmPipeline を指定します。

VLM パイプラインは標準パイプラインより優れている?

常にではありません。標準パイプラインは速く、デジタル生成 PDF に強いです。VLM は複雑なレイアウト・数式・コードで上回ることがあり、モデル 1 つで済むので導入も簡単ですが、GPU なしでは大幅に遅く、ハルシネーションや繰り返しが起こりえます。

SmolDocling の後継は?

Granite-Docling-258M が SmolDocling-256M-preview の後継で、既定の VLM プリセットです。smoldocling プリセットも引き続き使えます。

Mac で VLM パイプラインを動かせる?

はい。多くの DocTags プリセットと一部の Markdown プリセットには MLX 版があり、Apple Silicon では Docling が自動的に使います(例:ibm-granite/granite-docling-258M-mlx)。

出典