{"notes":[{"id":"text-spotting/paddleocr-vl","category":"text-spotting","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"PaddleOCR-VL","subtitle":"まずレイアウト、次に文字","author":"Z. Yuan","paperDate":"2025-10-16","publishedOn":"2026-10-31","world":"external/paddleocr-vl","paperTitle":"PaddleOCR-VL: Boosting Multilingual Document Parsing via a 0.9B Ultra-Compact Vision-Language Model","paperUrl":"https://arxiv.org/abs/2510.14528","bibliography":{"title":"PaddleOCR-VL: Boosting Multilingual Document Parsing via a 0.9B Ultra-Compact Vision-Language Model","authors":["Cheng Cui","Ting Sun","Suyin Liang","Tingquan Gao","Zelun Zhang","Jiaxuan Liu","Xueqing Wang","Changda Zhou","Hongen Liu","Manhui Lin","Yue Zhang","Yubo Zhang","Handong Zheng","Jing Zhang","Jun Zhang","Yi Liu","Dianhai Yu","Yanjun Ma"],"url":"https://arxiv.org/abs/2510.14528","pdfUrl":"https://arxiv.org/pdf/2510.14528v4","codeUrl":"https://github.com/PaddlePaddle/PaddleOCR","preprint":{"id":"2510.14528","submittedOn":"2025-10-16","url":"https://arxiv.org/abs/2510.14528"},"publication":null,"citation":"@misc{textspottingpaddleocrvl2025,\n  title = {{PaddleOCR-VL: Boosting Multilingual Document Parsing via a 0.9B Ultra-Compact Vision-Language Model}},\n  author = {Cheng Cui and Ting Sun and Suyin Liang and Tingquan Gao and Zelun Zhang and Jiaxuan Liu and Xueqing Wang and Changda Zhou and Hongen Liu and Manhui Lin and Yue Zhang and Yubo Zhang and Handong Zheng and Jing Zhang and Jun Zhang and Yi Liu and Dianhai Yu and Yanjun Ma},\n  year = {2025},\n  eprint = {2510.14528},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2510.14528}\n}\n","citationPath":"/content/papers/citations/text-spotting/paddleocr-vl.c7969231dd04.bib"},"thumbnail":{"src":"/content/papers/assets/8ee9dd9a20b760af5b9fa7f40b97755487d35e7d6eab2577db214b267ad05ef7.png","width":1288,"height":555},"locale":"ja","path":"/content/papers/ja/text-spotting/paddleocr-vl.1ecf05ae330f.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"2つの段階","text":"2つの段階","depth":3},{"id":"レイアウト検出と並べ替え","text":"レイアウト：検出と並べ替え","depth":3},{"id":"認識09bの小型モデル","text":"認識：0.9Bの小型モデル","depth":3},{"id":"学習とデータ","text":"学習とデータ","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"omnidocbench-v15","text":"OmniDocBench v1.5","depth":3},{"id":"速度","text":"速度","depth":3},{"id":"その後のバージョン","text":"その後のバージョン","depth":3},{"id":"この論文を読むときの注意点","text":"この論文を読むときの注意点","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[]}],"text":"2025年の時点で、文書解析は大きく二つの道に分かれていました。\n\n一つは**多段式**です。レイアウト検出、テキスト認識、表認識、数式認識にそれぞれ専用のモデルを使い、それらをつないで処理の流れを作ります。正確ですが、部品が多く、継ぎ目も多く、誤りが下流へ次々と伝わります。\n\nもう一つは**エンドツーエンド**です。1つのVLMがページ全体の画像を見て、Markdownを直接書きます。流れは単純ですが、1ページの文書に数千トークンを生成するので、遅いうえにメモリも食います。段組みや図と文章が混在するページでは読み順がよく乱れ、原文にない内容が生まれることもあります。\n\nBaiduのPaddlePaddleチームによるPaddleOCR-VLは、その折衷を選びました。**レイアウトは専用の検出モデルに任せ、各ブロックの内容はごく小さなVLMに任せる**のです。2025年10月16日にarXivへ投稿され、本稿は11月25日のv4に基づきます。コードとモデルは、いずれも公開されています。\n\n## 問題の定義\n\n二つの路線に対する著者らの批判は率直です。\n\n多段式システムは統合が複雑で、誤りが蓄積し、非常に複雑な文書には限界もあります。エンドツーエンドモデルは長い自己回帰生成に頼るため、遅延もメモリも大きくなります。段組みや図文混在のページでは、レイアウト解析が不安定になりやすく、ハルシネーションも起こします。\n\n著者らが求めたのは、多くの言語と要素を扱え、しかも実際にデプロイできるほど小さいシステムです。\n\n## 問題の解決\n\n### 2つの段階\n\n[![PaddleOCR-VLの全体像：左はPDF、PNG、JPGなどの非構造化文書。中央では、まずPP-DocLayoutV2がレイアウト解析を行い、ブロックの位置、カテゴリ、読み順を出力する。次にそれをバッチでPaddleOCR-VL-0.9Bへ渡し、OCR、表、数式、チャートの4種類の指示で認識する。右はMarkdownとJSONの出力](/content/papers/assets/8ee9dd9a20b760af5b9fa7f40b97755487d35e7d6eab2577db214b267ad05ef7.png)](/content/papers/assets/8ee9dd9a20b760af5b9fa7f40b97755487d35e7d6eab2577db214b267ad05ef7.png)\n\n*原論文Figure 2。[**v4 PDFの5ページ**](https://arxiv.org/pdf/2510.14528v4#page=5)から抜粋、CC BY 4.0。*\n\n左から右へ見ていきます。\n\n1. **PP-DocLayoutV2**がページ全体の画像を読み、各ブロックの位置とカテゴリ（テキスト、表、数式、チャートなど）を見つけ、読み順を予測します。\n2. 各ブロックを切り出してバッチで**PaddleOCR-VL-0.9B**に渡し、ブロックのカテゴリに応じた指示を与えます。OCR、表認識、数式認識、チャート認識のいずれかです。\n3. 軽量な後処理が二つの段階の結果を組み立て、MarkdownとJSONを出力します。\n\n### レイアウト：検出と並べ替え\n\nPP-DocLayoutV2は、二つのネットワークをつないだものです。\n\n- **RT-DETR**をベースにした検出モデル。レイアウト要素を見つけ、分類します。\n- 6層Transformerの**ポインターネットワーク**（pointer network）。読み順を決めます。\n\n並べ替えの方法は、一見の価値があります。検出されたブロックは、まず絶対2D位置エンコーディングとカテゴリ埋め込みで表現されます。注意機構にはさらにRelation-DETRの幾何バイアスを加え、2つのブロックの相対位置をモデルが直接考慮できるようにします。次に、ペアごとの関係を出力するヘッドが、すべてのブロックの組について「どちらを先に読むべきか」のスコアを計算し、$N\\times N$の行列を得ます。最後に、決定論的な「勝ち数の累計」によるデコードで、一貫した順序を決めます。\n\n3つのブロックからなるページで試してみましょう。上に見出しが1つあり、その下が左右2段に分かれています。表の数字は、「その行のブロックを、その列のブロックより先に読むべき」確率です（説明用の数字）。\n\n| | 見出し | 左段 | 右段 |\n| --- | --- | --- | --- |\n| 見出し | — | 0.92 | 0.95 |\n| 左段 | | — | 0.81 |\n\nペアごとに1回ずつ比べます。見出しは左段にも右段にも勝って2勝。左段は右段に勝って1勝。右段は0勝です。勝ち数で並べると、見出し → 左段 → 右段になります。\n\nこの方法の利点は、順序が全体の比較から決まるので、どれか1組の判断を誤っても大きく引きずられないことです。しかも独立した小さなモデルなので、単独で学習も評価もできます。\n\n### 認識：0.9Bの小型モデル\n\nPaddleOCR-VL-0.9BはLLaVA型のアーキテクチャで、3つの部分からなります。\n\n- **視覚エンコーダー**：NaViTスタイルで、ネイティブ解像度の入力に対応し、Keye-VLの視覚モデルで初期化しています。著者らによれば、画像を縮小したりタイルに切って変形させたりしなくて済むので、ハルシネーションが少なく、文字の密集した内容でも成績が良くなります。\n- **射影層**：2層のMLPで、隣接する視覚特徴をまとめてから言語モデルに送ります。\n- **言語モデル**：**ERNIE-4.5-0.3B**に3D-RoPEを加えたものです。著者らは、これほど小さな言語モデルを選んだ理由をはっきり説明しています。自己回帰生成は一度に1トークンしか出さないので、デコーダーの大きさがそのまま遅延を決めるからです。\n\nモデル全体で、109言語に対応しています。\n\n### 学習とデータ\n\n学習は2段階です。\n\n1. **アライメントの事前学習**：2,900万組の画像とテキストのペアで、1エポック学習します。最大解像度は1280×28×28です。\n2. **インストラクションチューニング**：270万件のデータで2エポック学習し、最大解像度を2048×28×28に上げます。タスクは4種類で、OCR、表（OTSL形式で出力）、数式（インライン数式と別行立て数式を区別したLaTeX）、チャート（Markdownの表で出力）です。\n\nデータソースは、公開データセット、合成データ、Webから集めたさまざまな文書、そしてチームが長年蓄積してきた内部データです。アノテーションの手順は、ぜひ見ておきたいところです。\n\n1. まずチームの多段式ツールPP-StructureV3で、初期の疑似ラベルを作ります。\n2. 元画像と疑似ラベルを、ERNIE-4.5-VLやQwen2.5-VLのような大型マルチモーダルモデルに一緒に渡し、修正させます。\n3. 最後に**ハルシネーションのフィルタリング**を行い、大型モデルが捏造したおそれのある内容を削除します。\n\n学習データを作る段階でさえ、大型モデルが文字を補うのを防がなければならないのです。\n\nさらに評価エンジンも構築し、テキストを中国語、英語、印刷、手書き、日本語、ラテン文字、絵文字など23カテゴリ、表を20カテゴリに分けました。それに基づいて難しいサンプルを見つけ、狙いを定めてデータを補充しています。\n\n## 考察\n\n### OmniDocBench v1.5\n\nOmniDocBench v1.5（1,355ページ）で、PaddleOCR-VLの総合スコアは92.86、2位のMinerU2.5は90.67です。各サブ指標でも首位です。テキスト編集距離0.035、数式CDM 91.22、表TEDS 90.89、読み順編集距離0.043。\n\nolmOCR-Benchでは総合スコア80.0で、ArXivとヘッダー・フッターの2カテゴリで最高でした。\n\nこれらは、どれも著者ら自身が報告した結果です。その後、DeepSeek-OCR 2の論文がOmniDocBenchの公式成績を引用した際にも、PaddleOCR-VLは同じく92.86で、全モデルの首位でした。\n\n### 速度\n\n著者らはA100 1枚で、512件のPDFを1バッチとして、PDFのパスを入力してから完全なMarkdownを出力するまでのエンドツーエンドの時間を測りました。FastDeployでデプロイした場合、PaddleOCR-VLの1秒あたりの処理ページ数はMinerU2.5より53.1%多く、1秒あたりの出力トークン数は50.9%多くなりました。\n\n小さな言語モデルと、切り出したブロックだけを認識する設計が、速度面でかなり有利に働いています。\n\n### その後のバージョン\n\nPaddleOCR-VLには、その後1.5版（2026年1月）と1.6版（2026年6月）が出ています。OmniDocBench v1.6の公式リーダーボードでは、PaddleOCR-VL-1.6の総合スコアは96.34で、上位に入っています。[OmniDocBench README](https://github.com/opendatalab/OmniDocBench)\n\n### この論文を読むときの注意点\n\n1. **成績の多くは自己申告**。OmniDocBenchの成績は後に公式リーダーボードで照合できますが、ほかの内部評価は独立に検証できません。\n2. **レイアウトを誤ると、後段では取り戻せない**。2段階の設計は、リスクをレイアウト解析に集中させます。ブロックを検出し損ねれば、そこのテキストは認識されません。PP-DocLayoutV2の検出部分は2万件余りの自作サンプルで学習し、その後、検出部分を凍結して並べ替えネットワークだけを学習しています。\n3. **大型モデルがアノテーションに関わっている**。疑似ラベルはERNIE-4.5-VLとQwen2.5-VLで修正し、ハルシネーションのフィルタリングをかけています。フィルタリングでどれだけ捕まえられたかについて、論文は数字を示していません。\n\n## 結論\n\nPaddleOCR-VLの設計は、とても実務的な役割分担です。\n\n1. **レイアウトは検出モデルに任せる**：RT-DETRがブロックを見つけ、ポインターネットワークがペアごとの比較で読み順を決めます。\n2. **内容はごく小さなVLMに任せる**：NaViTの視覚エンコーダーと0.3BのERNIEで、4種類の要素それぞれに専用の指示を与えます。\n3. **成績と速度を両立**：OmniDocBench v1.5で総合92.86、スループットはMinerU2.5より約5割高くなっています。\n\nエンドツーエンドの潮流から振り返ると、この設計は多段式の流れを呼び戻したようなものです。ただし、文字を読む部品は小型VLMに替わっています。一度に読むのは1ブロックだけで、出力も短い。著者らは、これで遅延とハルシネーションのリスクを同時に下げられると考えています。\n","imageSizes":{"/content/papers/assets/8ee9dd9a20b760af5b9fa7f40b97755487d35e7d6eab2577db214b267ad05ef7.png":{"width":1288,"height":555}}}
