Yolo 深圳
深セン
今すぐ参加

Ultralytics :あらゆる地域へのコンピュータビジョンモデルの展開

Ultralytics を活用して、コンピュータビジョンモデルをあらゆるリージョンにデプロイする方法をご紹介します。スケーラブルで高速、かつ柔軟なAIデプロイを実現します。

Ultralyticsでコンピュータビジョンプロジェクトをスケールアップ

始める

今週初め、Ultralytics Ultralytics 」Ultralytics 。これは、データ準備やモデル開発からデプロイに至るまでのビジョンAIワークフローの全段階を効率化することで、コンピュータビジョン(CV)システムの開発・リリース期間を短縮することを目的とした、新たなエンドツーエンド環境です。

Ultralytics した主な動機の一つは、機械が画像や動画を分析できるコンピュータビジョンソリューションを、構想段階から実用化に至るまで実現するには、単に強力なモデルを構築するだけでは不十分であるという点にあります。モデルが学習され、検証を通過した後は、アプリケーションが画像を送信し、予測結果を受け取り、実環境において確実に推論を実行できるよう、そのモデルをデプロイする必要があります。

機械学習ライフサイクルのこの段階では、コンピュータビジョンモデルが実験段階を脱し、実用的なシステムを支え始めるようになります。データセットの準備、アノテーション、モデルの学習、テストといった初期段階が順調に進んだとしても、モデルを確実にデプロイする方法がなければ、それらの成果は実を結ぶことはありません。

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

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

Ultralytics 、モデルのエクスポート形式、共有推論サービス、世界各地のリージョンに配置された専用エンドポイントなど、複数のデプロイメントオプションを提供することで、このプロセスを効率化し、自動化します。管理されたインフラストラクチャと組み込みのモニタリング機能により、チームは学習済みのモデルから本番環境向けのコンピュータビジョンシステムへと、容易に移行することができます。

図1.Ultralytics を使用したモデルのデプロイの概要(出典

この記事では、Ultralytics 専用エンドポイントを使用して、コンピュータビジョンモデルを任意のリージョンにデプロイする方法について解説します。さっそく始めましょう!

CVモデルのデプロイとは何ですか?

Ultralytics を使用してディープラーニングモデルをデプロイする方法について詳しく説明する前に、まずコンピュータビジョンモデルのデプロイが具体的に何を意味するのか、しっかりと理解しておきましょう。

コンピュータビジョンモデルのデプロイメントとは、学習済みのモデルを実際の運用環境で利用可能にするプロセスを指します。モデルを単なる学習環境でのみ実行するのではなく、アプリケーションから画像や動画を送信し、その見返りとして予測結果を受け取れるように設定します。 

例えば、モデルは画像detect 、画像のセグメンテーションを行ったり、倉庫内の品目を特定したり、動画映像のパターンを認識したりすることがあります。実世界のシステムのほとんどでは、これらはAPIや推論エンドポイントを通じて行われます。 

アプリケーションがモデルに画像を送信すると、モデルがそれを処理し、数ミリ秒以内に予測結果を返します。これこそが、 Ultralytics YOLO のようなコンピュータビジョンモデルが、リアルタイムアプリケーションを実現できる理由です。

モデルは、ユースケースに応じてさまざまな環境に展開できます。クラウド(クラウドプラットフォーム経由)で実行され、多数のアプリケーションからアクセスできるものもあれば、オンプレミスのカメラ、ロボット、あるいは高速なローカル予測を必要とする組み込みシステムなどのエッジデバイス上で実行されるものもあります。

Ultralytics PlatformにおけるAIモデルのデプロイメントオプション

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

このプラットフォームで利用可能なモデル展開オプションの概要は以下の通りです:

  • モデルのエクスポート: ONNX、TensorRT、CoreML、TFLite17種類の形式でエクスポートできるため、RaspberryNVIDIA エッジデバイス、モバイルアプリ、Dockerコンテナ、カスタムインフラストラクチャなど、幅広い環境でモデルを実行することが可能です。
  • 共有推論:このプラットフォームでは 、管理された共有推論サービスを通じて予測を実行できるため、モデルの迅速なテストに最適です 
  • 専用エンドポイント: 独自のAPI URLを持つ独立したサービスとしてモデルを簡単に デプロイでき、43のグローバルリージョンで実行可能です。本番環境向けのデプロイには、自動スケーリング、モニタリング、ヘルスチェック機能が組み込まれています。

専用エンドポイントを使用したデプロイ

Ultralytics 、事前学習済みモデルやカスタム学習済みコンピュータビジョンモデルを本番環境で実行する最も拡張性の高い方法の一つが、専用エンドポイントの利用です。専用エンドポイントを使用すると、学習済みモデルを独立したサービスとしてデプロイできるため、アプリケーションはAPIを介して画像を送信し、予測結果を受け取ることができます。

モデルをトレーニング環境やローカルのノートブックだけで実行するのではなく、エンドポイントとしてデプロイすることで、実際のアプリケーションから利用できるようになります。例えば、倉庫システムが荷物の画像を送信して物体検出を行ったり、スマートカメラが動画フレームを分析したり、ロボットシステムが予測結果に基づいて動作を制御したりすることが可能になります。

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

専用推論エンドポイントの機能について

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

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

このサービスは、お客様のモデルを使用して画像の推論を実行し、構造化されたレスポンスとして予測結果を返します。この仕組みにより、開発者は標準的なWebツールを使用して、コンピュータビジョンモデルを実際のシステムに組み込むことができます。 

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

マルチリージョン展開により、リアルタイム推論の性能が向上します

Ultralytics の専用エンドポイントの主な利点は、43のグローバルリージョンにモデルを展開できる点です。これらのリージョンは、北米、南米、ヨーロッパ、アジア太平洋、中東・アフリカなど、世界のさまざまな地域を網羅しています。

図2.Ultralytics は世界43地域に対応しています(出典

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

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

たとえば、アプリケーションが主にヨーロッパで利用されている場合、モデルをヨーロッパのリージョンにデプロイすることで、遠く離れたリージョンでモデルを実行する場合と比べて、応答時間を大幅に短縮できます。 

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

特定のリージョンへのモデルのデプロイは簡単で、通常は数分で完了します。プラットフォームがインフラストラクチャの設定を自動的に行うため、開発者はモデルをアプリケーションに統合することに集中できます。それでは、その手順を見ていきましょう。

ステップ1:モデルの学習またはアップロード

デプロイを行う前に、プロジェクト内にトレーニング済みのモデルを用意する必要があります。これには、Ultralytics 直接トレーニングされたモデル、外部でトレーニング後にアップロードされたモデル、あるいは「Explore」タブにあるコミュニティプロジェクトからクローンしたモデルが含まれます。「Explore」タブでは、他のユーザーが共有している公開プロジェクトをワンクリックで自分のアカウントにコピーすることができます。

モデルの準備ができたら、プロジェクト内のモデルページを開いて、次の手順に進んでください。

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

モデルの「デプロイ」タブに移動します。プラットフォームのこのセクションでは、デプロイの設定と実行を行うことができます。

そのページには、リージョン一覧と、世界中の利用可能なデプロイ先を表示するインタラクティブマップが表示されます。このプラットフォームは、ユーザーの所在地からの遅延を測定し、それに応じてリージョンを並べ替えることで、最適なリージョンを選択できるよう支援します。

図3.Ultralytics レイテンシー順に並べ替えた地域(出典

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

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

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

地域を選択し、設定を確認したら、「デプロイ」をクリックできます。

その後、プラットフォームはデプロイ環境を準備し、モデルイメージを取得してサービスを起動し、エンドポイントが利用可能であることを確認するためにヘルスチェックを実行します。このプロセスには通常、1~2分ほどかかります。

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

図4. 展開済みのエンドポイントの例(出典

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

エンドポイントが稼働している状態で、REST API 、Authorizationヘッダーに指定されたAPIキーを使用して、モデルへの画像送信を開始できます。エンドポイントは各リクエストを処理し、検出されたオブジェクト、バウンディングボックス、またはその他のタスク固有の出力などの予測結果を返します。

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

デプロイ済みのエンドポイントにおけるモデルのパフォーマンスとメトリクスの監視

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

Ultralytics 、デプロイ済みのエンドポイントのパフォーマンス状況をチームが把握できる監視ツールが組み込まれています。プラットフォームの「Deploy」ページは監視ダッシュボードとして機能し、稼働中のすべてのエンドポイントを一元的に表示するとともに、track 健全性や使用track 役立つ主要な指標を提供します。

本プラットフォームを使用して監視できる指標の一部を以下に示します:

  • P95レイテンシ:この指標は 、推論リクエストに対するサーバー側の応答時間の95パーセンタイルを測定するものです。これにより、ほとんどの推論リクエストに要する時間を把握し、パフォーマンスの低下箇所を特定することができます。
  • エラー率: 選択した監視期間内に失敗した、またはエラーを返したリクエストの割合を示します。 エラー率を監視することで、チームはデプロイや受信リクエストに関するdetect 迅速にdetect 。
  • リクエスト総数:この 指標、選択した期間(例:過去24時間)にデプロイされたエンドポイント全体で処理された推論リクエストの総数を示します。これにより、チームはトラフィックのレベルや、モデルがどの程度の頻度で使用されているかを把握することができます。

これらの指標に加え、このプラットフォームではエンドポイントのヘルスチェックやデプロイメントログも提供しています。ヘルスチェックではエンドポイントが正常に応答しているかどうかを確認でき、ログでは最近のリクエストやシステムの動作に関する詳細な情報を確認できます。

主なポイント

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

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

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

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