数百万件のPDFを処理する方法と、Gemini 2.0がすべてを変える理由
(sergey.fyi)- PDFをテキストチャンクへ変換する過程は、大規模なRAGシステムを構築する際に最も厄介な問題の一つである
- オープンソースと商用ソリューションの両方が存在するが、精度・拡張性・コスト効率の面で満足のいく結果を得るのは難しい状況である
- 例: NVIDIAのnv-ingestは、複数のサービスをKubernetesクラスタとして構成する必要があり、GPUリソースを多く消費する複雑な方式である
- 一部の商用サービスも、コストに対して精度が不十分だったり、大規模文書に適用するには価格が天文学的に上昇したりする問題がある
Gemini Flash 2.0の登場
- 大規模モデル(LLM)をOCR・PDF変換などに活用しようとする試みはあったが、実際のコスト削減効果は乏しく、予測不能なエラーも多かった
- 例: GPT-4oがテーブルに不要なセルを追加する事例が報告されている
- Gemini Flash 2.0は、1.5 Flashバージョンと比べて著しく向上した精度とコスト効率を示すと評価されている
- 内部テストの結果、ほぼ完璧なOCR精度を達成しつつ、コストは非常に低い
- Googleの開発者体験(Developer Experience)はOpenAIよりやや劣ると評価されることもあるが、合理的な価格は大きな強みである
コストと精度の比較
- PDFをMarkdown形式に変換する際、Gemini Flash 2.0はページあたりの処理コストの面で優れている
- 2.0 Flash: 約6,000ページ/$1
- 2.0 Flash Lite: 約12,000ページ/$1 (テスト前)
- 1.5 Flash: 約10,000ページ/$1
- AWS Textract: 約1,000ページ/$1
- OpenAI 4o-mini: 約450ページ/$1 など
- テーブル抽出の精度を見ると、Reducto独自モデルが0.90で最も高く、Gemini 2.0 FlashとAnthropic Sonnetは0.84程度だった
- Geminiが誤っているように見える事例の大半は構造的な書式の問題であり、実際の数値を誤認識するケースは少なかった
- そのほかのテキスト抽出は、ほぼ完璧に近い動作を示す
文書分割(Chunking)とLLM活用
- RAGパイプラインで活用するには、抽出したテキストを意味単位で分割する工程が必要である
- 大規模LLMを使うと、テキストの境界をより自然に見つけられるという研究結果がある
- ただし、これまではコストが高すぎて、実際の大規模文書セットに適用するのは難しかった
- Gemini Flash 2.0のおかげで、LLMベースのチャンク分割を大規模文書にも低コストで適用できるようになった
- 例: 1億ページ規模のPDFコーパスを約$5,000で処理可能である
- 簡単な例のプロンプト:
OCR the following page into Markdown. Tables should be formatted as HTML.
Do not sorround your output with triple backticks.Chunk the document into sections of roughly 250 - 1000 words. Our goal is
to identify parts of the page with same semantic theme. These chunks will
be embedded and used in a RAG pipeline.Surround the chunks with <chunk> </chunk> html tags.
Bounding Boxの問題
- PDFでテキスト位置情報(例: Bounding Box)を維持できれば、ユーザーに正確な根拠を提示できる
- Markdownへ変換すると位置情報が失われる点は大きな欠点である
- 一部の研究では、LLMが画像・文書内の空間的理解も可能であることを示す例があったが、現在のGeminiモデルは正確なBounding Boxを提供できていない
- Googleが追加学習やFine-tuningを通じて文書レイアウトデータを強化すれば、解決できる可能性がある
理由と重要性
- 低コストで高精度なPDF抽出・分割ソリューションは、大規模文書インデキシングパイプラインを簡素化し、拡張性を高める中核要素である
- parsing、chunking、bounding boxの問題が解決されれば、LLMベースの文書処理ははるかに容易になる見込みである
- 今後、完成度の高いオープンソースライブラリが次々に登場すると見られ、これはさまざまな企業や開発者が容易に活用できる基盤となるだろう
- GoogleのAI Startupクレジットプログラムに関する情報を知っている人がいれば、連絡してほしいとのこと
注釈
- [1] Reducto vs Gemini vs 元のPDFを比較したサンプル画像を添付している
- [2] Gemini Flash 2.0のコスト計算: 入力画像コスト$0.00009675、400トークンあたり$0.0000525の出力コストに基づき、およそ6,379ページ/$1と算定している
2件のコメント
コストや性能の面では、エージェントチャンク化がかなり効果を発揮しそうですね
LLM対応フォーマットへ変換する市場の競争は激しいですね。