モデルサービングがトレーニング済みモデルとプロダクションの間のギャップをどのように埋めるかを学びましょう。Ultralytics PlatformでのUltralytics YOLO26のデプロイメント戦略を探ります。
モデルサービングとは、トレーニング済みの機械学習モデルをホストし、その機能をネットワークインターフェースを介してソフトウェアアプリケーションで利用できるようにするプロセスです。これは、ディスクに保存された静的なモデルファイルと、実世界のデータを処理するライブシステムとの間の橋渡し役を果たします。モデルが 機械学習 (ML)のトレーニングフェーズを完了すると、画像、テキスト、表形式データなどの入力を受け取り、予測を返すことができる本番環境に統合される必要があります。これは通常、モデルを アプリケーションプログラミングインターフェース (API)でラップすることで実現され、ウェブサーバー、モバイルアプリ、またはIoTデバイスとの通信を可能にします。
モデルサービングの主な目標は、予測モデリング機能を効果的に運用することです。トレーニングが精度と損失の最小化に焦点を当てる一方で、サービングはレイテンシ(予測が返される速さ)やスループット(1秒あたりに処理できるリクエスト数)などのパフォーマンスメトリクスに焦点を当てます。堅牢なサービングインフラストラクチャは、コンピュータービジョン (CV)システムが重い負荷の下でも信頼性を維持することを保証します。これはしばしば、モデルとその依存関係をパッケージ化して異なるコンピューティング環境間で一貫した動作を保証するコンテナ化(Dockerなどのツールを使用)のような技術を伴います。
モデルサービングは、データに基づいて即座に意思決定ができるようにすることで、様々な業界におけるユビキタスAI機能を強化します。 データ
モデルを効果的に提供するためには、異なるトレーニングフレームワークとサービングエンジン間の相互運用性を促進する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のようなプロトコルを介して即時応答を提供し、ユーザー向けウェブアプリケーションに不可欠です。対照的に、バッチサービングは、大量のデータをオフラインで処理し、夜間レポート生成のようなタスクに適しています。インターネット依存なしでプライバシーまたは低レイテンシを必要とするアプリケーションの場合、エッジAIはサービングプロセスをデバイスに直接移動させ、TensorRTのような最適化されたフォーマットを利用して、制約のあるハードウェアでのパフォーマンスを最大化します。多くの組織は、Ultralytics Platformを活用して、これらのモデルをクラウドAPIやエッジデバイスを含む様々なエンドポイントへのデプロイを簡素化しています。
密接に関連していますが、「モデルサービング」はモデルデプロイメントおよび推論とは異なります。

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