Yolo 深圳
深セン
今すぐ参加

Ultralytics コンピュータビジョンモデルの導入をいかに簡素化するのか

Ultralytics 、テストから本番環境対応のAPIに至るまで、コンピュータビジョンモデルのデプロイに必要なあらゆる要素をどのように統合しているかをご覧ください。

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

始める

Ultralytics 長年にわたりコンピュータビジョンコミュニティと連携し、誰もがビジョンAIを容易に活用できるモデルやツールをUltralytics Ultralytics 、データセットの管理やアノテーションから、モデルのトレーニング、検証、デプロイに至るまで、コンピュータビジョン開発のワークフロー全体を単一の統合環境に集約することで、さらなる進化を遂げています。

特に、コンピュータビジョンモデルの導入をより容易にできることを大変嬉しく思っています。コンピュータビジョンが実世界のアプリケーションへと浸透し続けている一方で、制御された環境以外での画像や動画の分析は、依然として複雑な課題となっています。 

条件が予測可能なテスト環境とは異なり、実環境では照明条件の変化、入力の変動、予測不可能なワークロードなどが発生するため、デプロイはビジョンワークフローにおいて最も困難な工程の一つとなっています。

デプロイメントとは、単にモデルを利用可能にするだけではありません。実世界のデータを処理できるプロセスを構築し、利用が拡大しプロジェクトがスケールしても、すべてが円滑に動作するように確保する必要があります。 

また、チームはtrack 、長期にわたって信頼性を維持する必要があります。そのため、テスト、統合、デプロイ、監視の各段階で異なるAIツールを切り替える必要が生じることが多く、これがモデル開発の遅延や不必要な複雑さを招く原因となります。

ワークフローは断片化してしまうことがよくあります。Ultralytics 、このプロセスを一元化し、簡素化します。

単一の環境内で、モデルのサービング、テスト、モニタリングを標準でサポートしています。チームは、ブラウザベースの推論機能を使用してモデルを検証し、共有推論サービスを通じてアプリケーションに統合し、パフォーマンス監視機能を備えた専用エンドポイントにデプロイすることができます。

図1.Ultralytics Platform内のデプロイメントページの画面(出典

この記事では、Ultralytics テストや統合から本番環境へのデプロイモニタリングに至るまでコンピュータビジョンモデルのデプロイメントをどのように再定義しているかについて解説しますさっそく見ていきましょう!

コンピュータビジョンモデルの導入概要

機械学習のライフサイクルにおいて、モデルのデプロイメントとは、モデルが実験段階から実運用段階へと移行する段階を指します。ディープラーニングや畳み込みニューラルネットワークを用いて構築されたコンピュータビジョンモデルの場合、これは一般的に、画像や動画をリアルタイムで処理できるようにすることを意味します。

これらのモデルはデプロイされると、新しいデータを取り込みます。通常、そのデータはサイズ変更、正規化、フォーマット調整などの前処理ステップを経ます。その後、処理されたデータはモデルに渡され、モデルはトレーニング中に学習したパターンを適用して、高精度な予測を生成します。

ユースケースに応じて、これにはさまざまなコンピュータビジョンタスクが含まれる場合があります。例えば、Ultralytics Ultralytics YOLO 、物体検出、画像分類、インスタンスセグメンテーション、姿勢推定、およびオリエンテッド・バウンディングボックス(OBB)検出など、幅広いビジョンタスクに対応しています。

実運用においてこれを有効に活用するためには、多くの場合、モデルを前処理と推論の両方を効率的に処理できるシステムに統合する必要があります。そこで、デプロイメントインフラが不可欠となります。

本番環境では、通常、モデルへのアクセスはREST APIやモデル提供システムを通じて行われます。これらのインターフェースにより、アプリケーションはプログラム的にデータを送信し、予測結果を受け取ることが可能となり、リアルタイムの視覚理解に依存する外部アプリケーション、IoTデバイス、またはロボットシステムとの統合が容易になります。

従来のコンピュータビジョン導入ツールの限界

コンピュータビジョンモデルのデプロイメントは、一見単純そうに見えますが、実際にはこれまでかなり異なる形をとってきました。一般的な構成を考えてみましょう。まず、カメラやセンサーからデータを取得し、それをモデルに送信して推論を行い、その結果を予測値としてアプリケーションに返すという流れです。

実際には、これらの各ステップは、多くの場合、別々のツールやサービスによって処理されています。あるシステムがデータ収集を担当し、別のシステムがモデルの提供を管理し、さらにスケーリング、監視、ロギングには別のツールが使用されることもあります。これらのコンポーネントを連携させ、確実に稼働させ続けることは、すぐに複雑化してしまう可能性があります。

利用が増えるにつれ、この複雑さは増していきます。インフラの管理、依存関係の処理、そしてエンドツーエンドのパイプライン全体でのパフォーマンスの一貫性を維持することは、開発の足を引っ張り、コンピュータビジョンモデルを実際のアプリケーションに展開することをより困難にしてしまいます。

Ultralytics 、これらのコンポーネントを単一の統合環境に集約します。これにより、大規模な環境においてもパフォーマンスと信頼性を確保しつつ、導入ワークフロー全体をより一貫性のある方法で管理できるようになります。

Ultralytics が提供するモデル展開オプション

Ultralytics 、モデルのデプロイプロセスを一元化するだけでなく、モデルのデプロイや活用方法にも柔軟性をもたらします。

コンピュータビジョンモデルの導入におけるさまざまな段階をサポートするため、本プラットフォームでは4つのオプションを提供しています。具体的には、即時推論が可能なブラウザベースのテスト、開発向けのAPIを介した共有推論、世界各地のリージョンにわたるスケーラブルな本番環境展開のための専用エンドポイント、および外部インフラやエッジデバイス上でモデルを実行するためのモデルエクスポートです。

それでは、これらの各オプションがどのように機能するのか、詳しく見ていきましょう。

[予測] タブを使用して、モデルをすばやく検証する

モデルを本番環境に移行する前に、未見のデータに対してどのようなパフォーマンスを発揮するかを把握しておくことが重要です。Ultralytics 「Predict」タブが組み込まれており、設定やインフラ、依存関係なしに、ブラウザ上で直接推論を実行することができます。

「Predict」タブを使用すると、モデルの検証を迅速かつインタラクティブに行うことができます。画像をアップロードしたり、あらかじめ読み込まれているサンプルを使用したり、ウェブカメラで入力をキャプチャしたりすることができ、データが提供されるとすぐに推論が自動的に実行されます。 

結果は即座に表示され、視覚的なオーバーレイ、信頼度スコア、詳細な出力結果が提供されるため、モデルの挙動を明確に把握できます。

図2. 「Predict」タブを使用したモデル検証の例(出典

つまり、数回クリックするだけで、単一のインターフェース内でさまざまな入力を試したり、パラメータを調整したり、パフォーマンスを評価したりすることができ、その後すぐに本番環境へ移行できます。

テストや軽い用途での共有推論の実行

モデルを学習させ、「Predict」タブを使って検証したとしましょう。次のステップとして、そのモデルをアプリケーションやワークフローに組み込み始めることが一般的です。 

Ultralytics 、インフラの構築やサーバーの管理を行う代わりに、シンプルなREST APIを通じてモデルにデータを送信し、予測結果を受け取ることができる共有型推論サービスを提供します。

裏側では、共有推論はいくつかの主要リージョンをまたぐマルチテナントシステム上で実行され、リクエストは利用可能な最も近いサービスに自動的にルーティングされます。これにより、応答性の高いパフォーマンスを維持しつつ、異なる場所にいるユーザーがモデルに一貫してアクセスできるようになります。

標準的なHTTPリクエストを使用して入力を送信し、構造化された出力を取得できるため、モデルをアプリケーション、スクリプト、または自動化ワークフローに簡単に連携させることができます。この構成は、開発、テスト、システム連携、あるいはよりスケーラブルな本番環境への移行前の簡易的な利用に最適な選択肢です。

専用のエンドポイントを通じてモデルをグローバルに展開する

モデルが本番環境での運用準備が整ったら、実世界のトラフィックを大規模かつ確実に処理できる必要があります。Ultralytics 、専用のエンドポイントを通じてこれをサポートしており、モデルは世界43のリージョンでシングルテナント型サービスとして実行されます。エンドユーザーに近い場所にデプロイすることで、レイテンシを低減し、異なるロケーション間でも一貫したパフォーマンスを維持できます。

各エンドポイントは、割り当てられた独自のコンピューティングリソースと、推論リクエスト用の固有のURLを使用して動作します。このレベルの制御により、軽量なユースケースから、より多くの計算リソースを必要とする高負荷で高スループットのアプリケーションに至るまで、パフォーマンスの要件に応じてデプロイメントを容易に調整できます。

図3.Ultralytics を使用すると、世界43のリージョンにモデルを展開できます(出典

ただし、専用エンドポイントは、流入トラフィックに応じてリソースを調整するオートスケーリング機能を備えており、変動するワークロードに自律的に対応するように設計されています。需要が高まる時期にはスケールアップし、利用が減少すればスケールダウンします。デフォルトで「スケール・トゥ・ゼロ」機能が有効になっているため、アイドル状態のエンドポイントは自動的にシャットダウンされ、新しいリクエストが到着すると再起動します。これにより、手動での操作を必要とせずにリソースの使用を最適化できます。

Ultralytics を使って、モデルを簡単にエクスポートできます

今日、スマートフォンやカメラ、組み込みシステムなどのデバイス上でモデルを直接実行するアプリケーションが増えるにつれ、エッジAIの重要性はますます高まっています。モデルをローカルで実行することで、画像や動画ストリームなどの機密データを外部サーバーに送信することなく、デバイス上で直接処理できるため、データプライバシーの要件への対応にも役立ちます。

このようなケースでは、モデルUltralytics 実行する必要があるため、モデルのエクスポートはデプロイプロセスにおいて極めて重要な要素となります。Ultralytics YOLO 、多くのPython PyTorchを使用してトレーニングされ、その後、ONNX、TensorRT、CoreML、OpenVINOなど、17種類以上の異なる形式にエクスポートすることができます。 

このように幅広いフォーマットに対応しているため、高性能なグラフィックス処理ユニット(GPU)からモバイル機器や組み込みデバイスに至るまで、多様なハードウェアとの互換性が確保されています。さらに、エクスポート機能により、特定の環境に合わせたパフォーマンスの調整が可能になります。 

フォーマットによっては、TensorRT GPU 向上TensorRT ONNX OpenVINOによるCPU 最適化など、モデルの推論速度を向上させることができます。FP16やINT8などの量子化オプションを利用することで、モデルのサイズをさらに縮小し、スループットを向上させることができ、これは特にエッジ環境での展開において有用です。

Ultralytics 、エクスポート機能がワークフローに直接組み込まれているため、わずか数回のクリックで最適化されたモデルを素早く生成できます。チームは、余分な負担をかけることなく、トレーニングから外部システムでのモデル実行へとスムーズに移行できます。

図4.Ultralytics におけるエクスポート形式の一例。

適切なモデル展開オプションの選択

Ultralytics の各デプロイメントオプションは、初期テストから本番環境での運用に至るまで、ワークフローの各段階に対応しています。以下に、それぞれのオプションをいつ使用すべきかについて概要を説明します:

  • 「予測」タブ:これは通常、トレーニングや微調整の直後に、ブラウザベースの推論機能を使って新しいデータに対するモデルの性能を検証したい場合に使用します。
  • 共有推論:この段階では、モデルをAPIを通じてアプリケーションに統合できるため、開発中に実際の操作をテストすることが可能になります。
  • 専用エンドポイント:これらは本番環境へのデプロイに使用され、モデルに安定したパフォーマンス、専用リソース、およびグローバルなリージョン間でスケールできる機能が必要です。
  • モデルのエクスポート:プラットフォーム外でモデルを実行する必要がある場合、エクスポート機能を利用することで、エッジデバイス、モバイルアプリ、またはカスタムインフラストラクチャへのデプロイが可能になります。

チームは多くの場合、これらの段階を順を追って進め、検証から統合、そして最終的に本番環境へのデプロイへと、すべてプラットフォーム内で一貫して行います。

Ultralytics による展開済みモデルの監視

デプロイは極めて重要ですが、ビジョンパイプラインはそこで終わりではありません。モデルが本番環境で稼働し始めた後は、長期にわたり安定したパフォーマンスを維持するために、継続的な監視が不可欠です。

Ultralytics 、ビジョンAIモデルの経時的な挙動をチームが明確に把握できる組み込みのモニタリングツールが備わっており、より体系的な機械学習運用(MLOps)ワークフローを支援します。

「デプロイ」ページには、総リクエスト数、アクティブなデプロイ数、応答遅延、エラー率などの主要な指標を追跡するダッシュボードが含まれています。これらの分析データは、チームが利用パターンを把握し、システムの応答性を評価し、さまざまなワークロードにおいて低遅延のパフォーマンスを確保するのに役立ちます。

図5.Ultralytics を使えば、デプロイされたモデルの監視が簡単に行えます。(出典

各専用エンドポイントは、個別のデプロイメントビューを通じて詳細な可観測性を提供します。これには、ログ、モデルの健全性ステータス、およびリアルタイムのパフォーマンスデータへのアクセスが含まれます。ログを活用することで、問題のデバッグ、リクエストの失敗原因の追跡、および依存関係やインフラストラクチャに関連する潜在的な問題の特定を行うことができます。

本番環境が進化するにつれ、入力データの変化、スケーリングの需要、利用パターンの変化といった要因が、モデルの精度や堅牢性に影響を及ぼす可能性があります。パフォーマンス指標を継続的に監視することで、チームはdetect 、ボトルネックを特定し、モデルの最適化やリソースの調整といった是正措置を講じることで、一貫性があり信頼性の高いモデル提供を維持することができます。

コンピュータビジョンモデルの展開におけるスケーラビリティの確保

従来、コンピュータビジョンシステムの拡張とは、本来一体として機能するよう設計されていないワークフローやフレームワークを無理やり組み合わせることを意味していました。データパイプライン、トレーニングループ、デプロイメントインフラ、監視システムは、しばしば別々の場所に存在しており、各段階で摩擦が生じていました。

真の課題は、単にモデルを構築することではなく、それを稼働し続けさせることにある。データを本番環境へ移行し、新たな入力データに適応し、増大する需要に対応し、ペースを落とすことなく継続的に改善していくことだ。

Ultralytics 特長は、こうした一連のプロセスが組み込まれている点にあります。各段階を独立したステップとして扱うのではなく、それらを連続したループとして結びつけ、同じ環境内でモデルの開発、デプロイ、監視、更新を行うことができます。

この変化は、チームの拡張方法を一変させます。もはやツールやインフラの調整が重要なのではなく、システムが拡大する中で勢いを維持することが重要となるのです。

主なポイント

コンピュータビジョンモデルなどの機械学習モデルを実世界のアプリケーションに導入するには、信頼性が高く、拡張性があり、管理しやすいものである必要があります。Ultralytics 、モデルサービング、デプロイ、モニタリングなどのさまざまな機能を単一の統合環境に統合することで、このプロセスを簡素化します。柔軟なデプロイオプションと組み込みツールにより、チームは実験段階から本番環境への移行をより迅速かつ複雑さを軽減して行うことができます。

詳細については、当社のコミュニティをご覧いただき、GitHubリポジトリをご確認ください。ソリューションページでは、医療分野でのAI活用や 物流分野でのコンピュータビジョンなど、さまざまな活用事例をご紹介しています。ライセンスプランをご確認の上、今すぐ開発を始めましょう! 

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

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