YOLO Vision Shenzhen
深セン
今すぐ参加

Ultralytics Platform: あらゆるリージョンにコンピュータービジョンモデルをデプロイ

スケーラブルで高速かつ柔軟なAIデプロイのために、Ultralytics Platformを使用してコンピュータービジョンモデルを任意の地域にデプロイする方法を学びましょう。

コンピュータビジョンプロジェクトの導入をお考えですか?

ライセンスについて詳しく見る

今週初め、UltralyticsはUltralytics Platformを立ち上げました。これは、データ準備からモデル開発、デプロイメントまで、ビジョンAIワークフローのあらゆる段階を効率化することで、コンピュータービジョン(CV)システムの出荷を高速化するために設計された新しいエンドツーエンド環境です。

Ultralytics Platform開発の主要な動機の1つは、機械が画像やビデオを分析できるようにするコンピュータビジョンソリューションをアイデアから影響を与えるものにするには、強力なモデルを構築するだけでは不十分であるということです。モデルがトレーニングされ、検証に合格したら、アプリケーションが画像を送信し、予測を受け取り、実世界の環境で確実に推論を実行できるようにデプロイする必要があります。

機械学習ライフサイクルのこの段階では、コンピュータービジョンモデルは実験段階を超え、実用的なシステムを動かし始めます。データセットの準備、アノテーション、モデルトレーニング、テストといった初期のステップがスムーズに進んだとしても、モデルをデプロイする信頼できる方法がなければ、その結果は意味をなしません。

多くのコンピュータービジョンプロジェクトにおける現実として、デプロイメントはワークフローの中で最も複雑なステップの一つとなり得ます。 

チームは、Inference APIの設定、コンピューティングリソースの管理、レイテンシ削減のためのユーザーに近い場所へのモデルデプロイ、そしてシステムが本番環境で稼働した後のパフォーマンス監視を必要とすることがよくあります。

Ultralytics Platformは、モデルエクスポートフォーマット、共有推論サービス、グローバルリージョンにわたる専用エンドポイントなど、複数のデプロイメントオプションを提供することで、このプロセスを合理化および自動化します。マネージドインフラストラクチャと組み込みの監視機能により、チームはトレーニング済みモデルから実稼働可能なコンピュータビジョンシステムへと容易に移行できます。

図1. Ultralytics Platformを使用したモデルデプロイの様子 (出典)

本記事では、Ultralytics Platformの専用エンドポイントを使用して、コンピュータービジョンモデルをあらゆる地域にデプロイする方法を探ります。早速始めましょう!

CVモデルのデプロイメントとは?

Ultralytics Platformを使用して深層学習モデルをデプロイする方法について深く掘り下げる前に、コンピュータービジョンモデルのデプロイが実際に何を意味するのかをよりよく理解しましょう。

コンピュータビジョンモデルのデプロイとは、学習済みモデルを実世界で利用可能にするプロセスです。モデルはトレーニング環境でのみ実行されるのではなく、アプリケーションが画像や動画を送信し、予測を受け取れるように設定されます。 

例えば、モデルは画像内のオブジェクトをdetectしたり、画像segmentationを実行したり、倉庫内のアイテムを識別したり、ビデオ映像内のパターンを認識したりするかもしれません。ほとんどの実際のシステムでは、これはAPIまたは推論エンドポイントを介して行われます。 

アプリケーションが画像をモデルに送信すると、モデルはそれを処理し、ミリ秒単位で予測を返します。これにより、Ultralytics YOLOのようなコンピュータビジョンモデルがリアルタイムアプリケーションを可能にします。

モデルはユースケースに応じて異なる環境にデプロイできます。一部はクラウド(クラウドプラットフォーム経由)で動作し、多くのアプリケーションからアクセスできますが、その他はオンプレミスカメラ、ロボット、高速なローカル予測を必要とする組み込みシステムなどのエッジデバイスで動作します。

Ultralytics PlatformでのAIモデルのデプロイオプション

Ultralytics Platformは、特にモデルのデプロイメントに関して、コンピュータービジョンコミュニティが直面する多くの課題に対処しますが、アプリケーションのニーズに応じて、推論を実行するための柔軟な方法を提供します。 

プラットフォームで利用可能なモデル展開オプションを簡単に見ていきましょう。

  • モデルのエクスポート: モデルはONNX、TensorRT、CoreML、TFLiteを含む17種類の異なる形式にエクスポートでき、Raspberry PiやNVIDIA Jetsonのようなエッジデバイス、モバイルアプリ、Dockerコンテナ、カスタムインフラストラクチャなど、幅広い環境でモデルを実行できるようになります。
  • 共有推論: このプラットフォームでは、マネージド共有推論サービスを通じて予測を実行でき、モデルを迅速にテストするのに最適です。 
  • 専用エンドポイント: モデルを独自のAPI URLを持つ独立したサービスとして簡単にデプロイでき、43のグローバルリージョンで実行可能です。本番環境のデプロイメント向けに、組み込みのオートスケーリング、モニタリング、ヘルスチェックを備えています。

専用エンドポイントを使用した展開

Ultralytics Platform上で事前学習済みモデルやカスタムトレーニングされたコンピュータービジョンモデルを本番環境で実行する最もスケーラブルな方法の1つは、専用エンドポイントを利用することです。専用エンドポイントを使用すると、トレーニング済みモデルを独自のサービスとしてデプロイできるため、アプリケーションは画像を送信し、API経由で予測を受け取ることができます。

モデルをトレーニング環境またはローカルノートブックでのみ実行する代わりに、エンドポイントとしてデプロイすることで、実際のアプリケーションからアクセス可能になります。例えば、倉庫システムは物体検出のために荷物の画像を送信したり、スマートカメラはビデオフレームを分析したり、ロボットシステムは予測を使用してアクションをガイドしたりできます。

各専用エンドポイントはシングルテナントサービスとして実行されます。これは、モデルを実行するインフラストラクチャが他のユーザーと共有されないことを意味します。これにより、より予測可能なパフォーマンスが提供され、本番環境でのモデルの動作を監視しやすくなります。

専用推論エンドポイントの機能の理解

専用エンドポイントは、モデルのホスト型サービスと考えることができます。Ultralytics Platformは、アプリケーションのエントリーポイントとして機能するユニークなエンドポイントURLを提供します。 

アプリケーションがそのURLにリクエストを送信する際、画像と、信頼度閾値や画像サイズなどのオプションパラメータ、および認証用のAPIキーを含めます。

このサービスは、あなたのモデルを使用して画像に対して推論を実行し、予測を構造化された応答で返します。この設定により、開発者は標準的なウェブツールを使用してコンピュータービジョンモデルを実システムに統合できます。 

アプリケーションは、Python、JavaScript、cURL、またはその他のHTTPクライアントを使用してリクエストを送信できるため、モデルをダッシュボード、ロボットシステム、またはクラウドアプリケーションに簡単に接続できます。エンドポイントは独立して動作するため、スケーリング、監視、グローバル展開もサポートし、チームが信頼性の高い本番環境のコンピュータービジョンシステムを構築するのに役立ちます。

マルチリージョンデプロイメントによりリアルタイム推論が向上

Ultralytics Platformの専用エンドポイントの主な利点は、43のグローバル地域にモデルをデプロイできることです。これらの地域は、北米、南米、ヨーロッパ、アジア太平洋、中東およびアフリカを含む世界の複数の地域にわたります。

図2. Ultralytics Platformは世界43地域をサポート (出典)

アプリケーションが実行されている場所に近い地域にモデルをデプロイすることで、アプリケーションが画像を送信して予測を受け取るまでの時間であるレイテンシーを削減できます。また、データ処理を発生源に近い場所で行うことで、組織がデータプライバシーおよびデータレジデンシー要件を満たすのにも役立ちます。 

低遅延は、ロボットシステム、モノのインターネット (IoT) デバイス、産業検査パイプライン、スマートシティインフラストラクチャなど、リアルタイム推論に依存する多くのコンピュータービジョンアプリケーションにとって重要です。

例えば、アプリケーションが主にヨーロッパで使用されている場合、モデルをヨーロッパのリージョンにデプロイすることで、遠隔地のリージョンでモデルを実行する場合と比較して、応答時間を大幅に改善できます。 

Ultralytics Platformを使って任意のリージョンにデプロイする方法

特定の地域にモデルをデプロイするのは簡単で、通常数分しかかかりません。プラットフォームがインフラストラクチャのセットアップを処理するため、開発者はモデルをアプリケーションに統合することに集中できます。関連する手順を見ていきましょう。

ステップ1: モデルをトレーニングまたはアップロードする

デプロイする前に、プロジェクトで利用可能なトレーニング済みモデルが必要です。これはUltralytics Platformで直接トレーニングされたモデルであるか、他の場所でトレーニングされた後にアップロードされたモデル、または「Explore」タブで見つかるコミュニティプロジェクトからクローンされたモデルです。このタブでは、他のユーザーが共有する公開プロジェクトをワンクリックで自分のアカウントにコピーできます。

モデルの準備が整ったら、プロジェクト内でそのモデルページを開いて続行してください。

ステップ2: デプロイタブを開く

モデルの「デプロイ」タブに移動します。このプラットフォームのセクションでは、デプロイメントを構成し、起動できます。

そのページでは、利用可能な世界中のデプロイメント場所を示す地域テーブルとインタラクティブマップが表示されます。プラットフォームは、あなたの場所からのレイテンシを測定し、それに応じて地域をソートして、最適な地域を選択するのに役立ちます。

図3. Ultralytics Platformにおけるレイテンシでソートされたリージョン (出典)

ステップ3: デプロイリージョンを選択する

ユーザーまたはアプリケーションの所在地に基づいてリージョンを選択してください。リクエスト元に近い場所にモデルをデプロイすることで、応答時間を大幅に短縮できます。

ステップ4: エンドポイントをデプロイする

リージョンを選択し、設定を確認した後、「デプロイ」をクリックできます。

その後、プラットフォームはデプロイ環境を準備し、モデルイメージをプルし、サービスを開始し、エンドポイントが準備完了であることを確認するためのヘルスチェックを実行します。このプロセスは通常、約1〜2分かかります。

デプロイメントが完了すると、プラットフォームは、アプリケーションが推論リクエストを送信するために使用できる一意のエンドポイントURLを生成します。

図4. デプロイされたエンドポイントの例 (出典)

ステップ 5: 推論リクエストの送信を開始する

エンドポイントが稼働していれば、アプリケーションは、提供されたREST APIエンドポイントとAuthorizationヘッダーで渡されるAPIキーを使用して、モデルに画像を送信し始めることができます。エンドポイントは各リクエストを処理し、detect されたオブジェクト、バウンディングボックス、その他のタスク固有の出力などの予測を返します。

モデルのデプロイに関する詳細については、公式のUltralytics Platformドキュメントをご確認ください。

デプロイされたエンドポイントのモデルパフォーマンスとメトリクスの監視

コンピュータービジョンモデルがデプロイされたら、そのパフォーマンスを監視することは、システムの信頼性と堅牢性を維持する上で重要な部分となります。十分にトレーニングされたモデルであっても、迅速に応答し続け、受信リクエストを適切に処理し、正確な予測を提供することを保証するために、本番環境で監視する必要があります。

Ultralytics Platformは、デプロイされたエンドポイントがどのように動作しているかをチームに可視化する組み込みの監視ツールを提供します。プラットフォームのデプロイページは監視ダッシュボードとして機能し、すべての実行中のエンドポイントと、システムの状態と使用状況を追跡するのに役立つ主要なメトリクスを一元的に表示します。

Platformを使用して監視できるメトリクスをいくつかご紹介します。

  • P95レイテンシ: このメトリックは、推論リクエストに対する95パーセンタイルのサーバー側応答時間を測定します。これは、ほとんどの推論リクエストにかかる時間に関する洞察を提供し、パフォーマンスの低下を特定します。
  • エラー率: 選択された監視期間内に失敗した、またはエラーを返したリクエストの割合を表します。エラー率を監視することで、チームはデプロイや受信リクエストに関する問題を迅速に検出できます。
  • 総リクエスト数:このメトリックは、選択された期間(例:過去24時間)にデプロイされたエンドポイント全体で処理された推論リクエストの総数を示します。これは、チームがトラフィックレベルとモデルの使用頻度を理解するのに役立ちます。

これらのメトリクスに加えて、プラットフォームはエンドポイントのヘルスチェックとデプロイメントログも提供します。ヘルスチェックはエンドポイントが正しく応答しているかを示し、ログは最近のリクエストとシステムアクティビティに関する詳細情報を提供します。

主なポイント

コンピュータービジョンモデルのデプロイは、訓練済みモデルを実世界のアプリケーションを動かすシステムに変えるための重要なステップです。Ultralytics Platformを使用すると、チームは世界43地域の専用エンドポイントを通じてモデルを簡単にデプロイし、APIを通じてリアルタイム推論を実行し、単一環境からパフォーマンスを監視できます。柔軟なデプロイオプション、組み込みの監視機能、スケーラブルなインフラストラクチャを組み合わせることで、このプラットフォームは開発者が訓練済み機械学習モデルから信頼性の高いコンピュータービジョンアプリケーションへとより迅速に移行するのを支援します。

成長を続ける私たちのコミュニティに参加しませんか?AIについてもっと知りたい方は、GitHubリポジトリをご覧ください。コンピュータビジョンソリューションの構築にご興味のある方は、ライセンスオプションをご確認ください。医療におけるコンピュータビジョンの利点や、物流におけるAIがどのように貢献しているかをご覧ください。

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

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