グリーンチェック
クリップボードにコピーされたリンク

ログUltralytics YOLO MLflow統合を使用した実験

MLflowの統合とロギングにより、Ultralytics YOLO 実験がどのように向上し、コンピュータビジョンアプリケーションの優れたトラッキングが可能になるかをご覧ください。

コンピュータ・ビジョンのプロジェクトはパズルのようなものだと考えることができる。基本的には、データセットの収集、モデルのトレーニング、モデルの配備など、パズルのピースを組み合わせることによって、視覚データを理解するよう機械に教えます。すべてがうまくはまれば、画像やビデオを効果的に分析し、理解することができるシステムができあがります。

しかし、本物のパズルのように、コンピュータビジョンプロジェクトのすべての部分が簡単なわけではありません。実験のトラッキング(設定、構成、データの記録)やロギング(結果とパフォーマンスメトリクスの取得)のような作業には、多くの時間と労力がかかります。これらのステップは、コンピュータビジョンモデルを改善・改良する上で重要ですが、時にはボトルネックのように感じることもあります。

そこで、Ultralytics YOLO モデルとMLflowとの統合が重要になる。のようなモデルは Ultralytics YOLO11は、物体検出、インスタンスのセグメンテーション、画像分類など、幅広いコンピュータビジョンタスクをサポートします。これらの機能は、エキサイティングなコンピュータビジョンアプリケーションの作成を可能にします。MLflow統合のような統合に依存するオプションがあることで、ビジョンエンジニアは細部にとらわれることなく、モデル自体に集中することができます。 

特に、MLflow 統合は、トレーニングプロセス全体を通して様々なメトリクス、パラメータ、および成果物をロギングすることで、プロセスを簡素化します。この記事では、MLflow 統合がどのように機能し、どのような利点があるのか、そしてUltralytics YOLO のワークフローを合理化するためにどのように使用できるのかを探ります。

MLflowとは?

MLflowは、機械学習のライフサイクル全体を合理化し、管理するために設計されたオープンソースのプラットフォーム(Databricks社が開発)です。機械学習モデルの開発、デプロイ、保守のプロセスを網羅する。 

MLflowには以下の主要コンポーネントが含まれます:

  • 実験のトラッキング:このコンポーネントは、モデルの設定、結果、各モデルのトレーニング実行ファイルなどの重要な詳細を記録することに重点を置いています。モデルを比較し、変更がパフォーマンスにどのように影響するかを確認し、最適なモデルを見つけるのに役立ちます。
  • モデルレジストリ:これはモデルのストレージシステムのようなもので、異なるバージョンを追跡し、テスト、ステージング、プロダクションのようなステージごとに整理することができます。
  • プロジェクトのパッケージ化:MLflowは、コード、設定、必要なツールを含む機械学習プロジェクトを簡単にバンドルすることができます。
  • モデルのデプロイメント:MLflowは、学習したモデルをワークステーションやAWSやAzureなどのクラウドプラットフォームに迅速にデプロイするツールを提供し、実世界での使用に備えます。
図1.MLflowの構成要素。

MLflowのコンポーネントは、機械学習プロセスをより簡単かつ効率的に管理します。この統合により、Ultralytics 、MLflow の実験追跡機能を使用して、 YOLO モデルのトレーニング中にパラメータ、メトリクス、成果物を記録することが可能になります。これにより、YOLO モデルの異なるバージョンを追跡し、比較することが簡単になります。

MLflowの統合によりトレーニングが効率化

さて、MLflowとは何かを説明したところで、MLflowとの統合の詳細と、それが提供する機能について説明しよう。 

MLflow統合は、コンピュータ・ビジョン実験の重要な側面を自動的に追跡し、ログに記録することで、トレーニング・プロセスをより効率的かつ整理できるように構築されています。メトリックス、パラメータ、アーチファクトの3つのロギングが可能です。

それぞれの伐採について詳しく見てみよう:

  • メトリクス・ロギング:メトリクスは、トレーニング中のモデルのパフォーマンスを測定する定量的な値です。例えば、accuracy、precision、recall、lossのようなメトリクスは、各エポック(データセットのフルパス)の終了時に追跡されます。 
  • パラメータ・ロギング:パラメータとは、学習率、バッチサイズ(1回の学習ステップで処理するサンプル数)、エポック数など、モデルの学習を開始する前に定義する設定のことです。これらのパラメータはモデルの動作やパフォーマンスに大きく影響します。
  • 成果物のロギング:アーティファクトとは、トレーニング中に生成された出力やファイルのことです。これには、モデルの重み(トレーニング中にモデルが学習する数値)、コンフィギュレーションファイル(トレーニングの設定を保存するファイル)、その他の関連データなどの重要なファイルが含まれます。 
図2.MLflow統合の主なロギング機能。画像は著者による

MLflowとの統合の仕組み

MLflow統合を有効にするためのステップバイステップの手順については、Ultralytics のドキュメントを参照してください。一旦セットアップされると、前述のように、統合はトレーニング実験の主要な詳細を自動的に追跡し、ログに記録します。これにより、手動で追跡する必要がなくなり、モデルの精緻化に集中することができます。

MLflowの統合により、すべてのトレーニング実行が1つの場所に保存されるため、結果の比較や異なる構成の評価が容易になります。ログに記録された結果を比較することで、最もパフォーマンスの高い構成を特定し、その洞察を使用してモデルを強化することができます。これにより、ワークフローがより効率的で、文書化され、再現可能なものになります。

具体的には、各トレーニングセッションは、複数の実行のコンテナとして機能する実験に編成されます。実験内では、関連するすべての実行を表示し、それらのパフォーマンスを並べて比較し、異なる構成間の傾向を分析することができます。 

例えば、Ultralytics YOLOv8 、様々な学習率やバッチサイズをテストしている場合、以下のように、関連するすべての実行が同じ実験にグループ化され、比較や分析が容易になる。

図3.MLflowインテグレーションを使用して実験を見ることができます。

一方、個々の実行レベルでは、MLflow は特定のトレーニングセッションに関する詳細な洞察を提供します。エポックにわたる精度、損失、精度などのメトリクスの表示、使用されたトレーニングパラメータ(バッチサイズや学習率など)の確認、モデルの重み、設定ファイルなどの生成された成果物へのアクセスが可能です。これらの詳細は整理された形式で保存されるため、どのような実行でも簡単に再確認したり再現したりすることができます。

MLflowとの統合を選択する:MLflowが傑出している理由

Ultralytics のドキュメントを読み、利用可能な統合を検討する中で、次のような疑問が浮かぶかもしれません:また、ワークフローにMLflow統合を選択する理由は何でしょうか。

TensorBoardのような統合は、メトリクスを追跡し、結果を視覚化するためのツールも提供するため、MLflow統合を際立たせる独自の品質を理解することが重要です。 

ここでは、MLflowが貴社のYOLO プロジェクトにとって理想的な選択肢となり得る理由を説明します:

  • ユーザーフレンドリーなインターフェース: MLflowのダッシュボードでは、実験の表示、実行の比較、結果の分析が簡単に行え、最高のパフォーマンスを発揮する構成を迅速に特定できます。
  • カスタム・メトリクス・ロギング: ビジョン・エンジニアは、標準的なメトリクスに加えてカスタムメトリクスのログを記録できるため、プロジェクトのニーズに特化したより詳細な分析が可能になります。
  • 多言語ワークフローのサポート:MLflowは、Python 、R、Javaを含む複数のプログラミング言語と互換性があり、多様な機械学習パイプラインへの統合を容易にします。

YOLO11 、MLflow統合の実用的なアプリケーション

MLflowの統合をどのような場合に使用できるかをより包括的に理解するために、X線やCTスキャンの画像から腫瘍を検出するためにYOLO11 。 

このようなシナリオでは、データセットは注釈付き医用画像で構成される。最適な精度を達成するためには、学習率、バッチサイズ、画像前処理技術の調整など、様々な設定を試す必要がある。ヘルスケアの世界では賭け金が高く、精度と信頼性が重要であるため、各実験を手動で追跡することはすぐに手に負えなくなります。

図4. Ultralytics YOLO11 を用いた腫瘍の検出。

MLflow 統合は、すべての実験のパラメータ、メトリクス、および成果物を自動的にロギングすることで、この課題に対処します。例えば、学習率を変更したり、新しい増強戦略を適用した場合、MLflow はこれらの変更をパフォーマンスメトリックスと共に記録します。また、MLflow は学習済みモデルの重みと構成を保存するため、成功したモデルを簡単に再現して展開することができます。 

これは、MLflowの統合がビジョンAIアプリケーションの実験管理を強化する方法の一例に過ぎません。同じ機能が他のコンピュータ・ビジョン・アプリケーションにも適用されます:

  • 自律走行:YOLO11 、歩行者、車両、交通標識をリアルタイムで検知・分類し、自動運転システムの安全性と効率性を向上させることができる。
  • 小売分析:物体検出モデルは、ビデオフィードを通じて店内の動きを分析することで、顧客の行動を監視し、商品の配置を追跡し、在庫を最適化することができます。
  • セキュリティと監視:セキュリティ強化のため、モデルを訓練して異常を検出したり、機密エリアでの活動をリアルタイムで監視したりすることができる。

MLflow統合のメリット

MLflow とYOLO モデルの統合により、機械学習実験の管理がより簡単かつ効率的になります。主要なタスクを自動化し、すべてを整理しておくことで、モデルの構築と改善に集中することができます。主な利点は以下の通りです:

  • 大規模プロジェクトにも対応:このプラットフォームは複数の実験やモデルを効率的に処理するため、大規模なチームや複雑なワークフローに適している。
  • 詳細な実験履歴:プラットフォームは実験の完全な履歴を保持するため、過去の実行を再検討し、以前の設定を分析し、以前の結果から学ぶことができる。
  • オプションの無効化とリセット MLflow のロギングは、不要なときに簡単に無効にでき、設定をデフォルトにリセットできるため、さまざまなワークフロー要件に柔軟に対応できます。

要点

MLflow の統合により、Ultralytics YOLO 実験の管理と最適化がより簡単かつ効率的になります。パラメータ、メトリクス、成果物などの主要な詳細を自動的に追跡することで、プロセスを簡素化し、手作業による実験管理の手間を省きます。 

腫瘍検出のようなヘルスケアソリューションの開発、自律走行システムの改善、リテール分析の強化など、この統合はすべてを整理し、再現可能な状態に保つのに役立ちます。直感的なインターフェイスと柔軟性を備えたMLflowにより、開発者はより優れたモデルの構築に専念し、Vision AIアプリケーションのイノベーションを推進することができます。

私たちのコミュニティに参加し、GitHubリポジトリをチェックしてAIについて学びましょう。また、ソリューションのページでは、製造業におけるコンピュータ・ビジョンや 自動運転車におけるAIのアプリケーションをさらに詳しく調べることができます。

Facebookのロゴツイッターのロゴリンクトインのロゴコピー・リンク・シンボル

このカテゴリの続きを読む

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう