Yolo 深圳
深セン
今すぐ参加
用語集

連続バッチ処理

継続的バッチ処理GPU 最適化し、レイテンシを低減する方法を学びましょう。Ultralytics を活用して、本番環境の機械学習タスクで効率を最大化する手法を発見してください。

連続バッチ処理は、ハードウェア利用率とスループットを最大化するために機械学習(ML)で使用される高度なスケジューリングおよび推論最適化技術である。従来の静的バッチ処理では、推論エンジンは事前に決められた数のリクエストが蓄積されるまで待機し、それらを同時に処理する。これは、システムがバッチ内で最も実行時間が長いリクエストが完了するまでリソースを解放できないため、非効率を招くことが多い。 連続バッチ処理(動的バッチ処理または反復レベルバッチ処理とも呼ばれる)は、アクティブなリクエストが完了するとすぐに新しいリクエストを計算バッチに注入することでこの問題を解決し、GPUのアイドル時間を大幅に削減し、全体的な効率を向上させます。

関連概念の区別

モデル展開時のデータ処理方法をより深く理解するには、連続バッチ処理を用語集内の他の関連用語と区別することが有用です:

  • バッチサイズ: これは、トレーニングまたは推論中に同時に処理されるサンプルの固定数を指します。従来の バッチ処理ワークフロー は静的なサイズに依存しますが、連続バッチ処理では、流入するトラフィックに基づいて 実効バッチサイズが動的に変動します。
  • リアルタイム推論: この概念は、単一の入力が到着した時点で処理し、 即時の予測のための推論レイテンシを最小化することに焦点を当てています。 連続バッチ処理は、高速なリクエストが遅いリクエストを待つことを強制することなく高いスループットを維持することで、 高スループットの静的バッチ処理と低レイテンシのリアルタイム推論の間のギャップを埋めます。

実際のアプリケーション

予測不可能な大量のリクエストを処理する生産システムにおいて、継続的なバッチ処理は極めて重要です。以下にその適用例を具体的に2つ示します:

  1. 高スループットテキスト生成:大規模言語モデル(LLM)をサービス提供する際、異なるユーザーへの応答生成には出力長に応じて時間が変動する。Ray Serve上のvLLMなど、継続的バッチ処理を活用する 大規模言語モデル(LLM)を運用する際、 異なるユーザーへの応答生成には出力長に応じて時間が変動する。 Ray Serve上のvLLMなど 連続バッチ処理を活用するフレームワークは、 新規生成トークンを継続的にストリーミングし、 完了した会話を即座に新しいプロンプトと入れ替えられる。 この手法は反復レベルスケジューリング研究で普及し、 テキスト生成スループットを劇的に向上させる。
  2. 非同期動画解析: 都市の交通カメラネットワークにおける車両追跡などの動画理解タスクでは、フレームが異なる間隔で到着します。 連続バッチ処理により、オブジェクト追跡モデルはリソースが解放されるミリ秒単位で到着する動画フレームを動的に処理でき、 スマートシティダッシュボード向けのハードウェアアクセラレーションパイプラインを最適化します。

ビジョンタスクにおける連続処理

高トラフィックなモデルデプロイメントを管理する場合、ストリーミング推論を反復的に実行することで、メモリがブロックされるのではなく段階的に解放されるため、動的バッチ処理の利点をシミュレートできます。以下のPython 、モデル予測APIとジェネレータパターンを組み合わせて、連続的な画像ストリームを効率的に処理する方法を示しています。

from ultralytics import YOLO

# Load the latest Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")

# Using stream=True acts as a generator, iteratively processing inputs
# to keep memory usage low and throughput high
results = model.predict(source=["img1.jpg", "img2.jpg", "img3.jpg"], stream=True)

# Process each result as soon as it completes
for result in results:
    print(f"Detected {len(result.boxes)} objects in this frame.")

システムレベルのリソーススケジューリングを管理するには、 純粋な処理速度と運用コストのバランスが求められます。大規模な コンピュータービジョン(CV)や言語モデルを展開するチームは、 こうした動的なバッチ処理を管理するために高度なサービングフレームワークへの依存度を高めています。インフラストラクチャの効率化を目指す企業チーム向けに、 Ultralytics 、トレーニング、モニタリング、 高度に最適化された本番環境へのモデルエクスポートを実現する堅牢なツールを提供します。

Ultralytics YOLOパワーアップ

あなたのプロジェクトに高度なAIビジョンを。あなたの目標に合ったライセンスを今すぐ見つけましょう。

ライセンスオプションを見る