YOLO Vision Shenzhen
深セン
今すぐ参加

Ultralytics PlatformでYOLOモデルをより速く学習

データからデプロイまでのプロセスを加速するために構築されたエンドツーエンド環境であるUltralytics Platformを使用して、YOLOモデルをより速くトレーニングする方法をご覧ください。

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

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

先週、UltralyticsはUltralytics Platformを発表しました。これは、チームがコンピュータビジョンモデルを構築、トレーニング、デプロイする方法を簡素化するために設計された統合ワークスペースです。複数のツールを使いこなす代わりに、このプラットフォームはすべてを1か所に集約します。Vision AIモデルを使ったアイデアからデプロイまでのプロセスが手間なく行えるようになります。 

コンピュータビジョンはさまざまな産業の中核を急速に担いつつあるため、これは極めて重要です。製造検査、小売分析、自律航法などのアプリケーションを駆動しています。

これらのビジョン対応アプリケーションを信頼性の高いシステムに変えるには、モデルのトレーニングの質が重要です。モデルトレーニングでは、ラベル付けされたデータから学習することで、モデルがパターンを認識し、正確な予測を行うことができるようになります。一般的に、適切にトレーニングされたモデルは、より優れたモデル性能と、実世界アプリケーションにおけるより信頼性の高い結果をもたらします。

しかし、コンピュータービジョンモデルのトレーニングは常に簡単ではありません。それは、環境設定、適切な計算リソースの選択、ハイパーパラメータのチューニング、複数のトレーニング実験の追跡など、様々な側面で構成されています。これらのステップが異なるツールやシステムに分散している場合、トレーニングワークフローはすぐに複雑になり、管理が困難になります。

Ultralytics Platformは、トレーニングプロセス全体を単一の統合ダッシュボードに集約することで、この問題を解決します。クラウド、ローカル、またはGoogle Colabで作業しているかどうかにかかわらず、トレーニングジョブを1か所で設定、実行、監視できます。 

図1. Ultralytics Platform内でのモデル学習の様子 (出典)

本記事では、Ultralytics Platformがモデルトレーニングをどのように効率化し、ビジョンAIプロジェクトで優位性をもたらす理由を探ります。早速始めましょう!

コンピュータビジョンモデルはモデルトレーニングを通じてデータから学習します

Ultralytics Platformでのモデルトレーニングの仕組みを詳しく説明する前に、まず一歩引いて、モデルトレーニングとは何か、そしてそれに何が含まれるのかを見ていきましょう。

モデルトレーニングとは、コンピュータービジョンモデルが視覚データを解釈することを学習するプロセスです。画像や動画を分析し、内部パラメータを徐々に調整して、オブジェクトdetect、画像classify、インスタンスsegmentなどのビジョンタスクを正確に実行します。時間とともに、モデルは自身が参照するデータから直接パターンを学習することで改善されます。

トレーニングの品質はデータセットに大きく依存します。データセットは、教師が生徒をトレーニングするために使用するフラッシュカードのセットのように考えることができ、各例がモデルが何をdetectすべきかを学習するのに役立ちます。

一般的なコンピュータービジョンデータセットには、通常JPGやPNGなどの形式の画像と、各画像の内容を記述するアノテーションが含まれます。これらのアノテーションは、多くの場合JSONまたはTXTファイルとして保存され、モデルが効果的に学習するために必要なラベルとコンテキストを提供します。

しかし、トレーニングは単にモデルにデータを供給するだけではありません。データセットの準備から、適切なモデルの選択、トレーニングプロセスの構成まで、いくつかの重要なステップが含まれます。次に、これらのステップのいくつかについて詳しく見ていきましょう。

データセットの準備方法の展望

データセットがあればすぐにモデルのトレーニングを開始できると思われるかもしれませんが、まず、データセットの分割など、いくつかの手順を踏む必要があります。

一般的に、データセットはトレーニングセット、バリデーションセット、テストセットの3つの部分に分割されます。トレーニング画像はモデルにデータ内のパターンを学習させるために使用され、バリデーションセットはトレーニング中のパフォーマンスを監視し、微調整するのに役立ちます。 

テストセットは最後に、モデルが完全に新しい、未知のデータに対してどの程度うまく機能するかを評価するために使用されます。この設定は、モデルがデータを単に記憶するだけでなく、実世界のシナリオに汎化できることを保証するのに役立ちます。

学習に適したモデルの選択

トレーニング前のもう一つの重要なステップは、使用するモデルを選択することです。多くの場合、これは事前学習済みモデルを選択することを意味します。Ultralytics YOLOモデルのようなモデルは、すでに大規模なデータセットでトレーニングされており、一般的な視覚パターンを学習しているため、強力な出発点となります。

これらのモデルを使用することは、既存の知識に基づいてモデルを特定のタスクに適応させる転移学習の一例です。このアプローチは、特に限られたデータで作業する場合に、トレーニングを高速化し、結果を改善するのに役立ちます。

これらのモデルは異なるサイズで提供され、それぞれが速度と精度のトレードオフを提供します。小さいモデルはより高速で効率的ですが、大きいモデルはより高い精度を提供する傾向があるものの、より多くの計算を必要とします。

ビジョンモデルのトレーニングパラメータ設定

準備されたデータセットがあり、モデルを選択したら、次のステップはモデルがどのように学習するかを設定することです。

コンピュータービジョンモデルは、データの処理方法、ウェイトの更新方法、および時間経過による改善方法を決定する一連のパラメータを使用してトレーニングされます。これらの設定は、トレーニング速度と最終精度の両方に直接影響を与え、強力な結果を達成するために不可欠です。

最も一般的に使用されるトレーニングパラメータをいくつかご紹介します。

  • エポック: モデルがトレーニング中にデータセット全体を何回処理するかを表します。エポック数を増やすことで、モデルはデータからパターンを学習する機会が増えます。
  • バッチサイズ: これは、単一の学習ステップで一緒に処理される画像の数です。バッチサイズを大きくすると学習が高速化されますが、より多くのメモリが必要になります。
  • 画像サイズ: トレーニング中に使用される入力画像の解像度を指定します。高解像度はdetect精度を向上させる可能性がありますが、計算コストが増加します。
  • 学習率: これは、トレーニング中にモデルが内部パラメータを更新する速度です。値が高すぎたり低すぎたりすると、トレーニングが不安定になる可能性があります。
  • オプティマイザ: これは、各トレーニングイテレーション中に計算された誤差に基づいて、モデルのパラメータを更新する役割を担うアルゴリズムです。

Ultralytics YOLOベースのワークフローでは、これらの設定は通常、yamlファイルで定義されます。このファイルは、データセットのパス、クラス名、およびデータの分割方法を指定します。これは、モデルにデータセットをどのように解釈するかを伝える中央設定として機能します。

分断されたワークフローからUltralytics Platformによる統合されたエクスペリエンスへ

データセットの準備からモデルの選択、トレーニングパラメーターの設定まで、コンピュータービジョンモデルのトレーニングに関わる主要なステップについて説明しました。実際には、このプロセスはさらに進み、実験の追跡、複数のトレーニング実行の比較、そして時間の経過とともにモデルを継続的に改良することを含みます。

これらのステップは、単一の場所で処理されることはめったにありません。データセットは1つのツールで準備され、トレーニング実行は別の環境で実行され、実験の追跡は個別に管理されます。プロジェクトが成長するにつれて、この断片化は複雑さを増し、イテレーションを遅らせ、すべてを整理しておくことをより困難にします。

Ultralytics Platformは、トレーニングワークフロー全体を単一の環境に統合することで、この複雑さを解消します。ツール間を切り替える代わりに、データセットの管理、トレーニングの設定、実験の実行、結果の監視をすべて一箇所で行うことができます。

次に、Ultralytics Platformがどのようにモデルトレーニングをよりスマートにするかについて掘り下げてみましょう。 

Ultralytics Platformがサポートするトレーニングオプション

実世界のアプリケーションでは、コンピュータビジョンモデルのトレーニングには柔軟な環境が求められることがよくあります。データセットのサイズ、モデルの複雑さ、利用可能なハードウェアに応じて、クラウド、ローカルマシン、または外部のノートブック環境でトレーニングを実行することを選択できます。

Ultralytics Platformは、これらのニーズに対応するため、以下のトレーニングオプションをサポートしています。

  • クラウドトレーニング: Ultralyticsが管理するクラウドGPU上でトレーニングが実行されます。このオプションは、大規模なデータセットや、かなりの計算リソースを必要とするより複雑なモデルに最適です。
  • ローカル学習: このオプションは、お使いのマシンで利用可能なハードウェアを使用し、迅速な実験、設定のテスト、または小規模なデータセットでの作業に最適です。よりスケーラブルなワークロードの場合、学習はAWSやGCPなどの独自のクラウド環境でも実行できます。
  • Google Colab: Ultralytics Platformを使用すると、Google Colabのホスト型ノートブック環境でトレーニングを実行でき、ローカルマシンを構成することなく、柔軟なブラウザベースのワークフローを実現します。

Ultralytics Platformでのクラウド trainを探る

コンピュータービジョンプロジェクトにおいて、モデルをローカルまたはノートブック環境でトレーニングすることは、常に容易ではありません。

例えば、ローカルトレーニングでは、パフォーマンスは完全にハードウェアに依存し、計算能力を制限し、実験を遅らせる可能性があります。効率的なトレーニングにはGPUが不可欠ですが、すべてのセットアップでそれらに確実にアクセスできるわけではありません。 

Google Colabのようなノートブック環境は、クラウドベースのGPUを提供することで代替手段となりますが、セッションは一時的なことが多く、長時間のトレーニング実行を中断する可能性があります。データセットが拡大し、ワークフローが複雑になるにつれて、これらの制限はすぐにボトルネックとなり、トレーニングが遅く、信頼性の低いものになる可能性があります。

Ultralytics Platformは、クラウド学習オプションでこれに対応します。これにより、Pythonの依存関係やPyTorchのようなフレームワークが事前に設定されたすぐに利用できる環境が提供されるため、追加のセットアップなしで学習を開始できます。

単一のダッシュボードから、トレーニングジョブを起動し、リアルタイムで進捗を監視できます。これにより、インフラストラクチャの管理に時間を費やすことなく、モデルの改善に集中しやすくなります。

それでは、Ultralytics Platformでのクラウドトレーニングの開始方法を見ていきましょう。

ステップ1: ベースモデルを選択する

最初のステップは、トレーニング実行のためのベースモデルを選択することです。事前学習済みのUltralytics YOLOモデルを選択するか、コミュニティモデルをクローンするか、または独自の事前学習済み重みをアップロードしてカスタム要件を満たすことができます。

このプラットフォームは、Ultralytics YOLO26Ultralytics YOLO11Ultralytics YOLOv8Ultralytics YOLOv5を含むすべてのUltralytics YOLOモデルをサポートしており、それぞれnano (n)、small (s)、medium (m)、large (l)、extra-large (x)といった異なるサイズバリアントで利用可能です。異なるモデルバリアントは速度と精度のトレードオフを提供するため、性能と計算要件に合ったモデルを選択できます。

これらのモデルは、Ultralytics YOLOユーザーがすでに慣れ親しんでいる、object detection、インスタンスsegmentation、画像分類、oriented bounding box (obb) detection、および姿勢推定を含む、さまざまなコンピュータービジョンタスクをサポートしています。

カスタム要件がある場合は、独自の事前学習済みモデルウェイトをアップロードすることもできます。これにより、ゼロから始めるのではなく、プラットフォーム内でオブジェクトdetectモデルなどの既存のモデルの学習を継続したり、ファインチューニングしたりできます。これは、すでに他の場所でモデルを学習している場合や、モデルをより特定のユースケースに適応させたい場合に特に役立ちます。

ステップ2: データセットを選択する

次のステップは、training用のdatasetを選択することです。Ultralytics Platformでは、COCO datasetのような既存のdatasetを使用したり、コミュニティからdatasetをクローンしたり、特定のアプリケーションに合わせて独自のカスタムdatasetをアップロードしたりできます。

このプラットフォームは、Ultralytics YOLOやCOCOといった一般的なアノテーション形式をサポートしており、プラットフォーム上で直接カスタムデータにアノテーションを付ける予定がある場合は、生画像のアップロードも処理できます。

アップロードされると、データセットは、検証、正規化、ラベル解析、統計生成を含む自動処理が行われます。これにより、クラス分布やデータセット構造を含むデータへの即時的な可視性が得られ、すべてがトレーニングの準備が整っていることを確認するのに役立ちます。

データセットはトレーニング実行にも自動的にリンクされるため、各モデルにどのデータが使用されたかを追跡し、実験全体で一貫性を維持できます。

ステップ3: トレーニングパラメータを設定する

データセットを選択した後、モデルの学習方法を制御するトレーニングパラメータを設定できます。これには、エポック数、バッチサイズ、画像サイズ、トレーニングログの実行名が含まれます。これらのパラメータの多くは、トレーニング期間とモデルの最終的なパフォーマンスの両方に影響を与えます。

より制御されたトレーニングのために、プラットフォームでは学習率、オプティマイザの種類、色の拡張設定、その他のトレーニングオプションなどの高度なパラメータも調整できます。これらの設定により、トレーニングプロセスを微調整し、モデルの精度と安定性を向上させることができます。

ステップ4: GPUを選択する

次に、トレーニング実行用のGPU構成を選択できます。適切なGPUの選択は、データセットのサイズ、バッチサイズ、画像解像度、モデルの複雑さなどの要因に依存します。適切なバランスを見つけることで、必要以上の計算リソースを使用せずに、トレーニングを効率的に保つことができます。

Ultralytics Platformは、異なるレベルのVRAM(GPU上のメモリ)と計算能力を持つ22種類のGPUオプションを提供し、小規模なタスクから大規模なワークロードまですべてをサポートします。

これを使用することで、軽量モデルのトレーニングであろうと、大規模で複雑なデータセットの作業であろうと、ハードウェアを特定のニーズに合わせることができます。詳細については、UltralyticsのPlatformトレーニングドキュメントページで利用可能なGPUのリストをご確認ください。

図2. Ultralytics Platformで利用可能なGPUオプションの一部 (出典)

ステップ5: クラウドトレーニングを開始する

モデル、データセット、トレーニングパラメータ、および計算オプションを選択したら、トレーニングの実行は迅速です。ダッシュボードから、ワンクリックでトレーニングを開始でき、プラットフォームが環境を初期化し、選択したGPUでジョブを実行することで残りの処理を管理します。

トレーニングが開始されると、プラットフォーム内で直接進捗状況を監視できます。トレーニングタブでは、パフォーマンスメトリクス、損失曲線、システム使用状況、ライブトレーニングログなどの主要なメトリクスをリアルタイムで確認できます。

ローカルでの訓練やUltralytics PlatformでのGoogle Colabの使用について詳しく知るには、公式のUltralytics Platformドキュメント内でさらに多くのチュートリアルを探索できます。

Ultralytics Platform上でのモデルの評価と比較

トレーニングが完了すると、次のステップは、モデルのパフォーマンスを評価することです。Ultralytics Platformでは、プロジェクト内で複数のトレーニング実行を比較でき、さまざまな実験がどのように機能するかを明確に把握できます。

モデルを開発する際、結果を改善するために、学習率、バッチサイズ、モデルサイズなどの異なる設定でトレーニングが複数回繰り返されることがよくあります。これらの各実行はわずかに異なるモデルを生成するため、それらを比較することが不可欠です。

プロジェクトは、モデルと実験がまとめて整理される中心的なハブとして機能します。異なるツールやビューを切り替えることなく、進捗をtrackし、結果を確認し、集中力を維持できます。

この統合されたビューから、精度、再現率、およびmAP(mean average precision)などの主要なパフォーマンスメトリクスを分析し、モデルが異なるクラスでどのように機能するかを理解できます。また、トレーニング実行を並べて比較し、どの構成が最良の結果をもたらすかを特定することも可能です。 

これらのメトリクスを補完するために、「予測」タブを使用して、訓練済みモデルをsample_imagesやデータで迅速にテストし、パフォーマンスを視覚的に検証し、潜在的な問題を特定することができます。

これらの洞察に基づいて、最もパフォーマンスの高いモデル(通常「best.pt」チェックポイントとして保存されます)を選択し、さらなる評価、モデルを使用した推論の実行、またはプラットフォームを介したモデルデプロイメントといった次の段階に進むことができます。

図3. Ultralytics Platformでメトリクスを閲覧する例 (出典)

Ultralytics Platform内でのトレーニングコストの見積もり

クラウドで物体detectモデルをトレーニングすると、特に高性能GPUにアクセスする場合、計算コストが発生します。これをより便利にするため、Ultralytics Platformはトレーニング開始前にコスト見積もりを提供します。

これにより、予想される使用量が明確になり、トレーニングジョブを開始する前にワークロードを計画し、予算を管理し、予期せぬ費用を回避するのに役立ちます。トレーニングを開始する前に推定コストを確認する方法は次のとおりです。

学習時間はどのように推定されるか

コストを正確に見積もるには、プラットフォームはまず、単一のトレーニングエポックにかかる時間を計算します。これは、データセットサイズ、モデルサイズ、画像解像度、バッチサイズ、選択されたGPUの速度などの要因に依存します。

これらの入力を使用して、エポックあたりの推定時間を決定し、それを完全なトレーニング実行にスケーリングします。総所要時間は、すべてのエポックにわたる時間とわずかな起動オーバーヘッドを組み合わせて計算されます。

オーバーヘッドには、環境の初期化、datasetsの読み込み、GPUの準備などのタスクが含まれ、推定値がtrainingループだけでなく、完全なtrainingプロセスを反映していることを保証します。

トレーニングコストはどのように計算されるか

総トレーニング時間が推定されると、プラットフォームは、選択されたGPUの時間料金を使用してそれをコストに変換します。

トレーニング期間とGPUの価格設定を組み合わせることで、実行が開始される前に、そのコストがどれくらいになるかを明確に見積もることができます。

事前に可視化することで、トレーニングパラメータの調整や別のGPUの選択など、セットアップの調整が容易になり、パフォーマンスとコストをより効果的にバランスさせることができます。

図4. Ultralytics Platform内でのモデルトレーニングの設定とコストの見積もり (出典)

モデルトレーニングにUltralytics Platformを使用する主な利点

これまで、コンピュータービジョンモデルの学習における主要なステップと、それらがUltralytics Platform上でどのように統合されるかについて説明してきました。 

これらの主要機能以外にも、トレーニングワークフローを強化する追加機能があります。モデルトレーニングにUltralytics Platformを使用する主な利点のいくつかをご紹介します。

  • 組み込みの実験再現性: すべてのtraining実行は、モデル、データセット、パラメータ、計算設定を含む完全な構成とともに自動的にログに記録されます。これにより、実験を再検討し、結果を確実に再現することが容易になります。
  • 時間経過によるトレーニングの洞察:最終結果を見るだけでなく、エポックごとのパフォーマンスの変化をtrackすることで、トレーニング中のモデルの挙動をより深く理解するのに役立ちます。
  • 運用オーバーヘッドの削減: 環境設定、依存関係管理、インフラストラクチャをバックグラウンドで処理することで、プラットフォームはモデル開発により集中し、セットアップにかかる手間を減らすことができます。
  • 一元化された実験管理: プロジェクトは、モデル、データセット、およびtraining実行を管理するための一元的な場所として機能し、ワークフローが複雑になるにつれて実験を構造化するのに役立ちます。

主なポイント

学習は、機械学習モデルのライフサイクルにおいて最も重要な段階の一つです。モデルが視覚データをどれだけ正確に認識し、解釈できるかを決定します。 

トレーニングデータの設定、監視、実験比較、コスト推定を1つの環境に統合することで、Ultralytics Platformは高性能なコンピュータービジョンモデルの構築とデプロイ準備のプロセスを効率化します。

コンピュータービジョンについて詳しく知るには、成長中のコミュニティGitHubリポジトリをご覧ください。ビジョンソリューションの構築をご検討の場合は、当社のライセンスオプションをご覧ください。ソリューションページで、製造業におけるコンピュータービジョン農業におけるAIの利点について詳しく知ることができます。

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

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