MLflow連携を使ってUltralytics YOLOの実験を記録
UltralyticsのMLflow連携がYOLOのトレーニング実行からメトリクス、パラメーター、成果物を記録し、実験の比較や結果の再現を可能にする仕組みを解説します。
Abirami Vina9 分で読めます
コンピュータービジョンプロジェクトは、パズルのようなものと考えることができます。基本的には、データセットの収集、モデルのトレーニング、デプロイなどのピースを組み合わせて、視覚データを理解するよう機械に教えます。すべてがうまく組み合わさると、画像や動画を効果的に分析し、意味を理解できるシステムが完成します。
しかし、実際のパズルと同じように、コンピュータービジョンプロジェクトのすべての工程が簡単とは限りません。実験管理(設定、構成、データの記録)やログ記録(結果やパフォーマンス指標の取得)などの作業には、多くの時間と労力がかかることがあります。こうした工程はコンピュータービジョンモデルの改善や調整に不可欠ですが、ボトルネックになる場合もあります。
ここで活用できるのが、Ultralytics YOLOモデルとMLflowとの連携です。Ultralytics YOLO11のようなモデルは、物体検出、インスタンスセグメンテーション、画像分類など、幅広いコンピュータビジョンタスクに対応しています。これらの機能により、さまざまなコンピュータビジョンアプリケーションが可能になります。MLflow連携のような統合機能を利用できれば、ビジョンエンジニアは細部にとらわれず、モデルそのものに集中できます。
特にMLflowとの統合により、トレーニングプロセス全体を通じてさまざまなメトリクス、パラメーター、アーティファクトを記録でき、プロセスが簡素化されます。この記事では、MLflowとの統合の仕組みとメリット、Ultralytics YOLOのワークフローを効率化するための活用方法について解説します。
MLflowとは何ですか?#
MLflowは、機械学習のライフサイクル全体を効率化し、管理するために設計されたオープンソースプラットフォームです(Databricksが開発)。機械学習モデルの開発、デプロイ、保守のプロセスを包括しています。
MLflowには、次の主要コンポーネントがあります。
- 実験管理: このコンポーネントは、各モデルのトレーニング実行について、モデル設定、結果、ファイルなどの重要な詳細を記録します。モデルを比較し、変更がパフォーマンスに与える影響を確認し、最適なモデルを見つけるのに役立ちます。
- モデルレジストリ: モデルのストレージシステムのようなもので、さまざまなバージョンを追跡し、テスト、ステージング、本番環境などの段階ごとに整理できます。
- プロジェクトのパッケージ化: MLflowを使うと、コード、設定、必要なツールを含む機械学習プロジェクトを簡単にまとめられるため、チームや環境をまたいで共有し、一貫性を保って使用できます。
- モデルのデプロイ: MLflowは、トレーニング済みモデルをワークステーションやAWS、Azureなどのクラウドプラットフォームにすばやくデプロイするツールを提供し、実環境で使える状態にします。

図1. MLflowのコンポーネント。
MLflowのコンポーネントにより、機械学習プロセスの管理がより簡単かつ効率的になります。この統合を通じて、Ultralyticsでは、YOLOモデルのトレーニング中にパラメーター、メトリクス、アーティファクトを記録するMLflowの実験管理機能を利用できます。これにより、異なるバージョンのYOLOモデルを簡単に追跡して比較できます。
MLflowインテグレーションでトレーニングを効率化#
MLflowについて説明したところで、MLflow連携の詳細と利用できる機能を見ていきましょう。
MLflowインテグレーションは、コンピュータービジョンの実験における重要な項目を自動的に追跡・記録することで、トレーニングプロセスをより効率的かつ体系的にするよう設計されています。主に、メトリクス、パラメーター、アーティファクトの3種類のログ記録に対応しています。
それぞれのログ記録の種類を詳しく見てみましょう。
- メトリクスの記録: メトリクスは、トレーニング中のモデルの性能を測定する定量値です。たとえば、精度、適合率、再現率、損失などのメトリクスが、各エポック(データセット全体を一巡する処理)の終了時に記録されます。
- パラメーターの記録: パラメーターは、モデルのトレーニング開始前に設定する値です。学習率、バッチサイズ(1回のトレーニングステップで処理するサンプル数)、エポック数などがあります。これらのパラメーターは、モデルの動作や性能に大きく影響します。
- アーティファクトの記録: アーティファクトは、トレーニング中に生成される出力やファイルです。モデルの重み(トレーニング中にモデルが学習する数値)、設定ファイル(トレーニング設定を保存するファイル)、その他の関連データなど、重要なファイルが含まれます。

図2. MLflowインテグレーションの主なログ記録機能。画像提供:著者。
MLflowインテグレーションの仕組み#
MLflowインテグレーションを有効にする手順は、Ultralyticsのドキュメントで確認できます。設定が完了すると、前述のとおり、インテグレーションがトレーニング実験の重要な詳細を自動的に追跡・記録します。これにより手動での追跡が不要になり、モデルの改善に集中できます。
MLflowインテグレーションを使用すると、すべてのトレーニング実行が1か所に保存されるため、結果の比較やさまざまな設定の評価が容易になります。記録された結果を比較することで、最も高い性能を発揮する設定を特定し、その知見をモデルの改善に活用できます。これにより、ワークフローの効率が高まり、記録が整備され、再現性も確保されます。
具体的には、各トレーニングセッションが実験として整理されます。実験は複数の実行をまとめるコンテナーとして機能します。実験内では、関連するすべての実行を確認し、性能を並べて比較し、異なる設定間の傾向を分析できます。
たとえば、Ultralytics YOLOv8でさまざまな学習率やバッチサイズを試す場合、以下に示すように、関連するすべての実行が同じ実験にまとめられるため、比較や分析が容易になります。

図3。MLflowインテグレーションを使用して実験を表示できます。
一方、個々の実行レベルでは、MLflowによって特定のトレーニングセッションに関する詳細な分析情報が得られます。エポックごとの精度、損失、適合率などのメトリクスを確認し、使用したトレーニングパラメーター(例:バッチサイズや学習率)を確認できるほか、モデルの重みや設定ファイルなど、生成されたアーティファクトにもアクセスできます。これらの詳細は整理された形式で保存されるため、任意の実行を簡単に再確認または再現できます。
MLflowインテグレーションを選ぶ理由:際立つ特長#
Ultralyticsのドキュメントを読み、利用可能なインテグレーションを確認するなかで、MLflowインテグレーションの特長や、ワークフローに採用する理由が気になるかもしれません。
メトリクスの追跡や結果の可視化に使えるツールを提供するTensorBoardなどのインテグレーションもあるため、MLflowインテグレーションならではの特長を理解することが重要です。
YOLOプロジェクトにMLflowが最適な選択肢となり得る理由は次のとおりです。
- 使いやすいインターフェース: MLflowのダッシュボードでは、実験の表示、実行の比較、結果の分析を簡単に行えるため、最も高い性能を発揮する設定をすばやく特定できます。
- カスタムメトリクスの記録: ビジョンエンジニアは、標準的なメトリクスに加えて独自のメトリクスも記録できるため、プロジェクトのニーズに応じた詳細な分析が可能です。
- 多言語ワークフローへの対応: MLflowはPython、R、Javaなど複数のプログラミング言語に対応しており、多様な機械学習パイプラインに統合できます。
Ultralytics YOLO11とMLflowインテグレーションの実用例#
MLflowインテグレーションをどのような場面で利用できるか、より具体的に理解するために、X線画像やCTスキャン画像から腫瘍を検出するようUltralytics YOLO11をトレーニングする医療分野のAIアプリケーションを考えてみましょう。
このようなシナリオでは、データセットに注釈付きの医療画像を使用します。最適な精度を得るには、学習率やバッチサイズの調整、画像の前処理手法など、さまざまな設定を試す必要があります。医療分野ではリスクが高く、精度と信頼性が重要となるため、各実験を手作業で追跡するのはすぐに困難になります。

図4. Ultralytics YOLO11による腫瘍の検出。
MLflowインテグレーションは、すべての実験のパラメーター、メトリクス、アーティファクトを自動的に記録することで、この課題に対応します。たとえば、学習率を変更したり新しい拡張手法を適用したりすると、MLflowはその変更を性能メトリクスとともに記録します。また、トレーニング済みモデルの重みと設定も保存するため、成功したモデルを簡単に再現してデプロイできます。
これは、MLflowインテグレーションがビジョンAIアプリケーションの実験管理を強化する一例にすぎません。同じ機能は、以下を含む他のコンピュータービジョンアプリケーションにも活用できます。
- 自動運転: Ultralytics YOLO11を使用すると、歩行者、車両、交通標識をリアルタイムで検出・分類でき、自動運転システムの安全性と効率を高められます。
- 小売分析: 物体検出モデルを使用して、店舗内の映像から顧客の行動を監視し、商品の陳列状況を追跡し、在庫を最適化できます。
- セキュリティと監視: モデルをトレーニングして、異常を検出したり、機密性の高いエリアのリアルタイムの活動を監視したりすることで、セキュリティを強化できます。
MLflowインテグレーションのメリット#
MLflowをYOLOモデルと連携させることで、機械学習実験の管理がより簡単かつ効率的になります。重要なタスクを自動化し、すべてを整理して管理できるため、モデルの構築と改善に集中できます。主なメリットを紹介します。
- 大規模プロジェクトにも対応: 複数の実験やモデルを効率的に処理できるため、大規模なチームや複雑なワークフローにも適しています。
- 詳細な実験履歴: 実験の履歴を完全に保持するため、過去の実行を再確認したり、以前の設定を分析したり、過去の結果から学んだりできます。
- 無効化とリセットのオプション: 必要に応じてMLflowのログ記録を簡単に無効化でき、設定をデフォルトにリセットすることもできるため、さまざまなワークフローの要件に柔軟に対応できます。
重要なポイント#
MLflowインテグレーションを利用すると、Ultralytics YOLOの実験管理と最適化をより簡単かつ効率的に行えます。パラメーター、メトリクス、アーティファクトなどの重要な詳細を自動的に追跡することで、プロセスを簡素化し、実験を手作業で管理する煩雑さを解消します。
腫瘍検出などの医療ソリューション、自動運転システムの改善、小売分析の強化など、どのような取り組みにおいても、このインテグレーションは情報を整理し、再現性を保つのに役立ちます。直感的なインターフェースと柔軟性を備えたMLflowを活用することで、開発者はより優れたモデルの構築や、ビジョンAIアプリケーションのイノベーション推進に集中できます。
AIについて知るには、コミュニティに参加し、GitHubリポジトリをご覧ください。また、ソリューションページでは、製造業におけるコンピュータービジョンや自動運転車におけるAIの活用例もご覧いただけます。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










