AIで開発する

OCRiaがB200 GPUで推論速度を10倍に向上させた方法

OCRia-1は、混合精度量子化、DFlash2を用いた投機的デコーディング、そして深いカーネル最適化を組み合わせて、レイテンシを削減し、毎秒2800トークンの処理速度を実現しました。

GPUからドキュメントへの高速データ処理のイラスト
この記事用に生成されたイラスト

英語の原文から自動翻訳されました。

OCRia-1を開発したエンジニアリングチームは、単一のNVIDIA B200 GPU上で、トークン生成速度を約毎秒285トークンから毎秒2800トークンへとほぼ10倍に向上させた方法を詳細に説明しました。2026年11月3日に公開されたこの技術的な解説によると、このパフォーマンスの飛躍は単一のブレークスルーによるものではなく、推論スタック全体におけるメモリボトルネックと計算オーバーヘッドの体系的な削減によって達成されました。

何が起きたか

レイテンシは、文書解析ワークフローにおいて長年の主要な制約条件でした。高密度のページでは長い構造化出力が必要となるためです。OCRiaチームは、自社の推論パイプラインが計算バウンド(compute-bound)ではなく、メモリ帯域幅バウンド(memory-bandwidth-bound)であることを特定しました。つまり、GPUは数学的な演算を実行するよりも、モデルの重みや状態データを移動させることに多くの時間を費やしていたのです。これを解決するために、彼らは次の3つのコア領域に焦点を当てました。各デコードステップ中に移動されるデータの量を減らすこと、1回のフォワードパスでより多くのトークンを生成すること、そして各ステップに関連するCPUおよびGPUのオーバーヘッドを最小限に抑えることです。

結果として得られた最適化戦略は、量子化などの確立された手法と、投機的デコーディングおよびカスタムカーネル開発の新規実装を組み合わせたものでした。推論プロセスのすべての段階を厳密にプロファイリングすることで、チームは冗長なメモリ転送を排除し、メタデータ準備を簡素化しました。これらの変更により、システムは同時リクエストをより効率的に処理できるようになり、精度を犠牲にすることなく、ベンチマークへの迅速な反復対応とエンドユーザーへのより速い結果提供が可能になりました。

仕組み

高速化の基盤は、ワークロード認識型量子化にあります。均一な精度低下を適用する代わりに、チームは混合精度を使用し、敏感な層は高い精度のまま維持しつつ、他の層はFP8またはNVFP4へ圧縮しました。彼らはアクティベーション認識型量子化を採用しており、これはターゲットタスクに対して圧縮が事実上非可逆的(lossless)であることを保証するために、分布内データを使用してスケーリング係数を校正します。注目すべき点として、視覚的精度を保持するためにビジョンエンコーダは量子化されずに残されており、サイズと忠実性のバランスを取るためのターゲットを絞ったアプローチを示しています。

1ステップにつき1トークンしか生成できない自己回帰型の制限を克服するために、チームはDFlash2というドローターモデルを用いた投機的デコーディングを実装しました。この小型モデルは複数の将来のトークンを並列で予測し、大型のターゲットモデルがそれらを1回のフォワードパスで検証します。DFlash2は局所畳み込みと候補セレクターを使用することで、12トークンを超える受容率を達成し、スループットを大幅に向上させます。誤った投機は最終的な出力分布に影響を与えずに破棄されるため、このプロセスは数学的に非可逆的であることが保証されています。

さらなる利得は、エンジンレベルでの深い最適化からもたらされました。チームはGated Delta Networksにおける状態管理を最適化するためにReplaySSMを適応させ、拒否された投機トークンのロールバックコストを削減しました。また、SiLU活性化と量子化など連続するオペレーションを融合(フュージョン)し、中間結果を高帯域幅メモリに書き込むのではなく、高速なGPUレジスタ内に保持するようにしました。CPU側では、異なるキャッシュグループ間で冗長な計算を避けるためにメタデータ構築をリファクタリングし、1デコードステップあたりのGPU起動回数を数百回からわずか1回に削減しました。

主要な詳細

  • パフォーマンス向上: 単一のB200 GPUでのトークン生成速度が、約毎秒285トークンから約毎秒2800トークンに増加しました。
  • 量子化戦略: BF16、FP8、NVFP4を使用した混合精度であり、精度を維持するためにアクティベーション認識型校正を採用しています。
  • 投機的デコーディング: DFlash2を使用しています。これはブロック拡散ドローターモデルであり、1パスあたり12トークン以上の受容率を達成します。
  • カーネル最適化: カスタムCUDAカーネルにより、ReplaySSM検証時間がレイヤーあたり72~80 µsから23~24 µsに短縮されました。
  • CPU効率: メタデータ構築が最適化され、ステップあたり約290回必要だったGPU起動回数が1回にまで削減されました。
  • 利用可能性: OCRia-1は現在LlamaParseで利用可能であり、汎用性のある最適化はvLLMに貢献される予定です。

なぜ重要なのか

ドキュメントAI製品を構築するエンジニアにとって、このケーススタディは、慎重なソフトウェア最適化なしにはハードウェアの生のパワーだけでは不十分な場合が多いことを浮き彫りにしています。大規模モデルにおける計算バウンドからメモリバウンドへの操作の移行は、データ移動の削減が、計算ユニットを追加することよりも頻繁に大きな影響を持つことを意味します。ルーフラインモデルを理解し、ワークロードが帯域幅によって制限されているのか、計算によって制限されているのかを特定することは、チームが量子化やカーネルフュージョンなど適切な最適化を優先できるようにするため重要です。リソースを盲目的にスケールアップするのではなく、正しい方向へ注力できます。

投機的デコーディングの使用は、自己回帰生成の逐次的なボトルネックを打破するための実践的な道筋を示しています。複数のトークンを並列で検証することで、開発者は長いドキュメントを扱うユーザーに対するインタラクティブ性とスループットを大幅に向上させることができます。ただし、これにはドローターモデルがターゲットモデルとよく整合していることを確認するための慎重な実装が必要であり、受容率が低い場合は利点が相殺されてしまいます。OCRiaチームがDFlash2で成功を収めたことは、専門的なドローターアーキテクチャへの投資が相当なリターンをもたらすことを示しています。

最後に、プロファイリングと漸進的な改善への強調は、システムエンジニアリングにおいて測定がいかに重要であるかを浮き彫りにしています。多くの利得は、オペレーションのフュージョンやメタデータ処理の改良といった、小さく複合的な最適化からもたらされました。これらの変更は個々では控えめなものですが、総合的には追加スループットの60%以上に寄与しました。このアプローチは、開発者がハイレベルのフレームワーク設定を超え、推論エンジンの実装詳細に深く潜り込み、隠れたパフォーマンスを引き出すよう促しています。

あなたができること

  • 最適化戦略を選択する前に、推論パイプラインをプロファイリングして、メモリ帯域幅バウンドなのか計算バウンドなのかを判断してください。
  • アクティベーション認識型校正を用いた混合精度量子化を実装し、顕著な精度損失なくメモリ使用量を削減してください。
  • フォワードパスごとに複数のトークンを生成するために、軽量なドローターモデルを用いた投機的デコーディングを検討してください。
  • 連続するカーネルオペレーションをフュージョンし、高帯域幅メモリへの書き込みを最小限に抑えてデータをレジスタ内に保持してください。
  • 共有構造体をキャッシュし、冗長なGPU起動を削減することで、CPU側のメタデータ準備を最適化してください。
  • vLLMなどのオープンソース推論エンジンに汎用性のある最適化を貢献し、より広いコミュニティの利益につなげてください。
  • #inference optimization
  • #quantization
  • #speculative decoding
  • #llm performance
  • #document ai

Bytechapストアのツール

続きを読む

AIで開発する

SageMakerでのシーケンスレベル知識蒸留によるエージェント型AIのコスト削減

Amazon Web Servicesは、最先端の教師モデルを模倣するより小さく低コストな学生モデルを訓練するために、シーケンスレベル知識蒸留を使用する方法について詳しく説明しています。これにより、品質を犠牲にすることなく本番環境のコストを削減します。

すべての記事