YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

連続バッチ処理

連続バッチ処理がGPUスループットを最適化し、レイテンシを削減する方法を学びましょう。Ultralytics YOLO26を使用して、本番環境のMLタスクで効率を最大化する方法を発見してください。

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

関連概念の区別

モデルデプロイ中にデータがどのように処理されるかをよりよく理解するためには、連続バッチ処理を用語集の他の関連用語と区別することが役立ちます。

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

実際のアプリケーション

連続バッチ処理は、予測不能な大量のリクエストを処理する本番システムにとって不可欠です。その応用例を2つ具体的に示します。

  1. 高スループットテキスト生成: 大規模言語モデル(LLM)をサービスする際、異なるユーザーに対する応答の生成は、出力長に応じて異なる時間を要します。vLLM on Ray Serveのような連続バッチ処理を活用するフレームワークは、新しく生成されたトークンを継続的にストリーミングし、完了した会話を新しいプロンプトと即座に交換できます。この方法は、元々イテレーションレベルスケジューリングに関する研究によって普及したもので、テキスト生成スループットを劇的に向上させます。
  2. 非同期ビデオ分析: 都市の交通カメラネットワーク全体で車両をtrackするなどのビデオ理解タスクでは、フレームが異なる間隔で到着します。継続的なバッチ処理により、リソースが解放された瞬間にobject trackingモデルが受信ビデオフレームを動的に処理できるようになり、スマートシティダッシュボード向けのハードウェアアクセラレーションパイプラインを最適化します。

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

高トラフィックのモデルデプロイメントプラクティスを管理する際、inferenceを反復的にストリーミングすることで、メモリがブロックされるのではなく段階的に解放されるようにし、動的バッチ処理の利点をシミュレートできます。以下の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 Platformは、モデルのトレーニング、監視、および高度に最適化された本番環境へのエクスポートのための堅牢なツールを提供します。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。