モデル提供が、トレーニング済みモデルと本番環境の間のギャップを埋める方法を学びましょう。Ultralytics 上Ultralytics Ultralytics デプロイ戦略を探求します。
モデルサービングとは、学習済み機械学習モデルをホストし、その機能をネットワークインターフェースを介してソフトウェアアプリケーションに提供するためのプロセスである。これは、ディスクに保存された静的なモデルファイルと、現実世界のデータを処理する稼働システムとの間の橋渡し役として機能する。 モデルが機械学習(ML)のトレーニングフェーズを完了すると、 画像、テキスト、表形式データなどの入力を受け取り予測を返すことができる 本番環境に統合される必要があります。 これは通常、モデルをアプリケーションプログラミングインターフェース(API)でラップすることで実現され、 ウェブサーバー、モバイルアプリ、IoTデバイスとの通信を可能にします。
モデルサービシングの主な目的は、 予測モデリング機能を効果的に運用することです。 トレーニングが精度と損失の最小化に焦点を当てるのに対し、サービシングは レイテンシー(予測結果が返される速度)やスループット(1秒あたりに処理可能なリクエスト数)といった パフォーマンス指標に重点を置きます。 堅牢なサービングインフラは、 コンピュータービジョン(CV)システムが 高負荷下でも信頼性を維持することを保証します。 これには、Dockerなどのツールを用いた コンテナ化技術が頻繁に採用されます。 コンテナ化ではモデルとその依存関係をパッケージ化し、 異なるコンピューティング環境間で一貫した動作を保証します。
モデルサービングは、データに基づいて即座に意思決定ができるようにすることで、様々な業界におけるユビキタスAI機能を強化します。 データ
モデルを効果的に活用するには、多くの場合、 モデルをONNXのような標準化された形式にエクスポートすることが有益です。 ONNXにエクスポートすることが有益な場合が多く、これにより異なるトレーニングフレームワークとサービングエンジン間の相互運用性が促進されます。以下の例では、サービングエンドポイント内で存在するロジックをシミュレートし、モデルを読み込んで推論を実行する方法を示します。 Python。
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")
サービング戦略の選択は、具体的なユースケースに大きく依存します。オンラインサービングは RESTやgRPCなどのプロトコルを介した即時応答を提供し、 ユーザー向けWebアプリケーションに不可欠です。 一方、バッチサービングは大量のデータをオフラインで処理し、 夜間レポート生成などのタスクに適しています。 インターネット依存なしでプライバシーや低遅延を必要とするアプリケーションでは、 エッジAIがサービング処理をデバイスに直接移行し、 最適化されたフォーマット(例: TensorRT などの最適化されたフォーマットを活用し、 制約のあるハードウェア上でのパフォーマンスを最大化します。多くの組織は Ultralytics 、クラウドAPIやエッジデバイスを含む 様々なエンドポイントへのモデル展開を簡素化しています。
「モデル提供」はモデルデプロイメントや 推論と密接に関連しているものの、これらは別個の概念である。