For the complete documentation index, see llms.txt. This page is also available as Markdown.

並列 HTTP API

Roboflow Inference の並列 HTTP サーバーを実行して、推論リクエストを非同期に処理し、スループットを高めてレイテンシを下げます。

並列処理を使って複数のモデルを並列に実行できます。これは、推論リクエストを非同期で処理する Roboflow Inference のバージョンです。

Inference Parallel は、コアモデル(CLIP と SAM)をサポートしない点を除いて、Roboflow Inference と同じ機能をサポートします。

Inference Parallel では、前処理、自動バッチ処理、推論、後処理がすべて別々のスレッドで実行され、サーバーの FPS スループットが向上します。同じモデルへの個別のリクエストは、許容される範囲でオンザフライにバッチ化されます。 $MAX_BATCH_SIZE、その後のレスポンス処理は独立して行われます。画像は Python の SharedMemory モジュールを介して渡され、スループットが最大化されます。

これらの変更により、最大で 76% の高速化 が、ある測定対象のワークロードで得られました。

並列処理で Inference を実行する方法

まず、並列サーバーをビルドします:

./inference/enterprise/parallel/build.sh

次に、サーバーを実行します:

./inference/enterprise/parallel/run.sh

ターミナルに、サーバーが実行中で使用可能であることを示すメッセージが表示されます。

Docker Hub にコンテナが公開されています:

docker pull roboflow/roboflow-inference-server-gpu-parallel:latest

固定タグを pull している場合は、 $TAG 変数を run.sh で一致するように変更してください。

ベンチマーク

さまざまなモデルで Inference Parallel の性能を評価し、 Roboflow Universeと、同じハードウェア、つまり 8 コアと 1 GPU を搭載したコンピューター上の Inference Server 0.9.5.rc と比較しました。インスタンスセグメンテーションの指標は "mask_decode_mode": "fast" をリクエストボディ内で設定しました。リクエストは並列度 1000 で同時に送信されました。

Workspace
モデル
モデルタイプ
分割
0.9.5.rc FPS
0.9.5.parallel FPS

senior-design-project-j9gpp

nbafootage/3

物体検出

学習

30.2 fps

44.03 fps

niklas-bommersbach-jyjff

dart-scorer/8

物体検出

学習

26.6 fps

47.0 fps

geonu

water-08xpr/1

インスタンスセグメンテーション

検証

4.7 fps

6.1 fps

university-of-bradford

detecting-drusen_1/2

インスタンスセグメンテーション

学習

6.2 fps

7.2 fps

fy-project-y9ecd

cataract-detection-viwsu/2

分類

学習

48.5 fps

65.4 fps

hesunyu

playing-cards-ir0wr/1

分類

学習

44.6 fps

57.7 fps

並列処理を有効にした Inference は、すべてのテストでより高い FPS を達成しました。一部のモデルでは、FPS の向上が 10 FPS を超えました。

最終更新

役に立ちましたか?