YOLO26とClearMLによるトレーニング:MLOpsワークフローの合理化

MLOpsは、現実の環境における機械学習モデルの作成とデプロイのギャップを埋めるものです。効率的なデプロイ、スケーラビリティ、継続的な管理に重点を置き、モデルが実用的なアプリケーションで十分に機能するようにします。

Ultralytics YOLO26はClearMLと容易に統合でき、物体検出モデルのトレーニングと管理を合理化・強化します。本ガイドでは、ClearMLのセットアップ、実験の管理、モデル管理の自動化、そして効果的なコラボレーション方法を詳しく説明し、統合プロセスを順を追って解説します。

ClearML

ClearML MLOps platform dashboard

ClearMLは、機械学習ワークフローの自動化、監視、オーケストレーションを行うために巧みに設計された革新的なオープンソースのMLOpsプラットフォームです。主な機能には、実験の完全な再現性を実現するためのすべてのトレーニングおよび推論データの自動ログ記録、データ可視化と分析を容易にする直感的なWeb UI、高度なハイパーパラメータ最適化アルゴリズム、そしてさまざまなプラットフォームへの効率的なデプロイを実現する堅牢なモデル管理が含まれます。

ClearMLを用いたYOLO26のトレーニング

YOLO26とClearMLを統合してトレーニングプロセスを改善することで、機械学習ワークフローの自動化と効率化を実現できます。

インストール

必要なパッケージをインストールするには、以下のコマンドを実行します:

インストール
# Install the required packages for YOLO26 and ClearML
pip install ultralytics clearml

インストールプロセスに関する詳細な手順やベストプラクティスについては、YOLO26インストールガイドを必ずご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、一般的な問題ガイドで解決策やヒントを参照してください。

ClearMLの設定

必要なパッケージをインストールしたら、次はClearML SDKを初期化して設定します。これには、ClearMLアカウントのセットアップと、開発環境とClearMLサーバー間でシームレスに接続するために必要な認証情報の取得が含まれます。

まず、環境内でClearML SDKを初期化します。clearml-initコマンドでセットアッププロセスが開始され、必要な認証情報の入力が求められます。

SDKの初期セットアップ
# Initialize your ClearML SDK setup process
clearml-init

このコマンドを実行した後、ClearML設定ページにアクセスします。右上の「Settings」を選択し、「Workspace」セクションに移動して「Create new credentials」をクリックします。Jupyter NotebookとローカルPython環境のどちらでClearMLを設定するかに応じて、「Create Credentials」ポップアップに表示される認証情報を使用して、指示通りにセットアップを完了してください。

使用方法

使用方法の説明に入る前に、Ultralyticsが提供する様々なYOLO26モデルを必ずご確認ください。これにより、プロジェクトの要件に最も適したモデルを選択することができます。

使用方法
from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolo26_task")

# Step 2: Selecting the YOLO26 Model
model_variant = "yolo26n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLO26 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

コードの理解

上記のコードスニペットで示された手順を理解しましょう。

ステップ 1: ClearMLタスクの作成: 新しいタスクがClearMLで初期化され、プロジェクト名とタスク名が指定されます。このタスクがモデルのトレーニングを追跡および管理します。

ステップ 2: YOLO26モデルの選択: model_variant変数にYOLO26モデルの1つである'yolo26n'が設定されます。このバリアントは追跡のためにClearMLにログ記録されます。

ステップ 3: YOLO26モデルの読み込み: 選択したYOLO26モデルがUltralyticsのYOLOクラスを使用して読み込まれ、トレーニングの準備が整います。

ステップ 4: トレーニング引数の設定: データセット(coco8.yaml)やエポック数(16)などの主要なトレーニング引数が辞書形式で整理され、ClearMLタスクに関連付けられます。これにより、ClearML UIを介した追跡や変更が可能になります。モデルのトレーニングプロセスとベストプラクティスの詳細な理解については、YOLO26モデルトレーニングガイドを参照してください。

ステップ 5: モデルトレーニングの開始: 指定された引数を使用してモデルトレーニングが開始されます。トレーニングプロセスの結果はresults変数にキャプチャされます。

出力の理解

上記のコードスニペットを実行すると、次のような出力が得られます:

  • 新しいClearMLタスクが作成されたことを示す確認メッセージと、そのタスクの一意のID。
  • スクリプトコードが保存されたことを知らせる情報メッセージで、コードの実行がClearMLによって追跡されていることを示します。
  • トレーニングの進行状況を監視し、詳細なログを表示できるClearML結果ページへのURLリンク。
  • YOLO26モデルと指定されたデータセットのダウンロード進行状況、続いてモデルアーキテクチャとトレーニング設定の概要。
  • TensorBoard、自動混合精度(AMP)、データセット準備など、様々なトレーニングコンポーネントの初期化メッセージ。
  • 最後にトレーニングプロセスが開始され、モデルが指定されたデータセットで学習するにつれて進行状況が更新されます。トレーニング中に使用されるパフォーマンスメトリクスの詳細な理解については、パフォーマンスメトリクスに関するガイドをお読みください。

ClearML結果ページの表示

コードスニペットの出力にあるClearML結果ページへのURLリンクをクリックすると、モデルのトレーニングプロセスの包括的なビューにアクセスできます。

ClearML結果ページの主な機能

  • リアルタイムメトリクス追跡

    • 損失、精度、検証スコアなどの重要なメトリクスを発生と同時に追跡します。
    • モデルパフォーマンスを迅速に調整するための即時フィードバックを提供します。
  • 実験の比較

  • 詳細なログと出力

    • 包括的なログ、メトリクスのグラフ表示、およびコンソール出力にアクセスします。
    • モデルの動作と問題の解決策をより深く理解できます。
  • リソース利用状況の監視

    • CPU、GPU、メモリを含む計算リソースの利用状況を監視します。
    • トレーニングの効率とコストを最適化するために重要です。
  • モデルアーティファクト管理

    • トレーニング済みモデルやチェックポイントなどのモデルアーティファクトを表示、ダウンロード、共有します。
    • コラボレーションを強化し、モデルデプロイと共有を効率化します。

ClearML結果ページの外観の視覚的なウォークスルーについては、以下のビデオをご覧ください:



Watch: YOLO26 MLOps Integration using ClearML

ClearMLの高度な機能

ClearMLは、MLOps体験を強化するためのいくつかの高度な機能を提供します。

リモート実行

ClearMLのリモート実行機能は、異なるマシン間での実験の再現と操作を容易にします。インストールされているパッケージやコミットされていない変更などの重要な詳細をログに記録します。タスクがキューに入れられると、ClearML Agentがそれを取り出し、環境を再構築して実験を実行し、詳細な結果を報告します。

ClearML Agentのデプロイは簡単で、以下のコマンドを使用して様々なマシンで行うことができます:

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

このセットアップは、クラウドVM、ローカルGPU、ラップトップに適用可能です。ClearML Autoscalersは、AWS、GCP、Azureなどのプラットフォームでのクラウドワークロードの管理を支援し、エージェントのデプロイを自動化してリソース予算に基づいてリソースを調整します。

クローン、編集、キューイング

ClearMLの使いやすいインターフェースにより、タスクのクローン作成、編集、キューイングが簡単に行えます。ユーザーは既存の実験をクローンし、UIを通じてパラメータやその他の詳細を調整し、タスクをキューに入れて実行できます。この合理化されたプロセスにより、タスクを実行するClearML Agentが更新された設定を使用することが保証されるため、反復的な実験やモデルのファインチューニングに最適です。


Cloning, Editing, and Enqueuing with ClearML

データセットバージョン管理

ClearMLは、YOLO26のトレーニングワークフローとシームレスに統合できる強力なデータセットバージョン管理機能も提供しています。この機能により、以下のことが可能になります:

  • コードとは別にデータセットをバージョン管理する
  • 各実験でどのデータセットバージョンが使用されたかを追跡する
  • 最新のデータセットバージョンに簡単にアクセスしてダウンロードする

ClearML用にデータセットを準備するには、以下の手順に従ってください:

  1. データセットを標準のYOLO構造(画像、ラベルなど)で整理します。

  2. 対応するYAMLファイルをデータセットフォルダのルートにコピーします。

  3. ClearML Dataツールを使用してデータセットをアップロードします:

    cd your_dataset_folder
    clearml-data sync --project YOLO26 --name your_dataset_name --folder .

このコマンドにより、トレーニングスクリプトで参照可能なバージョン管理されたデータセットがClearML内に作成され、再現性とデータへの容易なアクセスが保証されます。

まとめ

本ガイドでは、UltralyticsのYOLO26とClearMLを統合するプロセスを順を追って解説しました。初期セットアップから高度なモデル管理に至るまで、機械学習プロジェクトにおける効率的なトレーニング、実験の追跡、ワークフローの最適化にClearMLを活用する方法を習得しました。

使用方法の詳細については、ClearMLの公式YOLOv8統合ガイドをご覧ください。これはYOLO26のワークフローにも適用されます。

さらに、Ultralytics統合ガイドページにアクセスして、Ultralyticsのその他の統合や機能を探求してください。ここにはリソースや洞察が豊富に詰まっています。

FAQ

Ultralytics YOLO26をClearMLと統合するプロセスは何ですか?

Ultralytics YOLO26をClearMLと統合するには、MLOpsワークフローを合理化するための一連の手順が必要です。まず、必要なパッケージをインストールします:

pip install ultralytics clearml

次に、以下のコマンドを使用して環境内でClearML SDKを初期化します:

clearml-init

その後、ClearML設定ページから取得した認証情報を使用してClearMLを設定します。モデル選択やトレーニング設定を含むセットアップ全体の詳細な手順は、YOLO26モデルトレーニングガイドで確認できます。

機械学習プロジェクトでUltralytics YOLO26とClearMLを使用する利点は何ですか?

Ultralytics YOLO26でClearMLを使用すると、実験の追跡が自動化され、ワークフローが合理化され、堅牢なモデル管理が可能になるため、機械学習プロジェクトが強化されます。ClearMLは、リアルタイムのメトリクス追跡、リソース利用状況の監視、実験を比較するための使いやすいインターフェースを提供します。これらの機能は、モデルのパフォーマンスを最適化し、開発プロセスをより効率的にするのに役立ちます。利点と手順の詳細については、MLOps統合ガイドをご覧ください。

YOLO26とClearMLの統合中に発生する一般的な問題をトラブルシューティングするにはどうすればよいですか?

YOLO26とClearMLの統合中に問題が発生した場合は、一般的な問題ガイドで解決策やヒントを参照してください。典型的な問題には、パッケージのインストールエラー、認証情報のセットアップ、または設定に関する問題があります。このガイドでは、これらの一般的な問題を効率的に解決するための手順ごとのトラブルシューティング方法を提供しています。

YOLO26モデルトレーニングのためにClearMLタスクを設定するにはどうすればよいですか?

YOLO26トレーニング用のClearMLタスクの設定には、タスクの初期化、モデルバリアントの選択、モデルの読み込み、トレーニング引数の設定、そして最後にモデルトレーニングの開始が含まれます。以下に簡略化した例を示します:

from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolo26_task")

# Step 2: Selecting the YOLO26 Model
model_variant = "yolo26n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLO26 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

これらの手順の詳細な内訳については、使用ガイドを参照してください。

YOLO26トレーニングの結果はClearMLのどこで確認できますか?

ClearMLを使用してYOLO26トレーニングスクリプトを実行した後、ClearML結果ページで結果を確認できます。出力にはClearMLダッシュボードへのURLリンクが含まれており、そこでメトリクスの追跡、実験の比較、リソース使用状況の監視が可能です。結果の表示と解釈方法の詳細については、ClearML結果ページの表示のセクションを確認してください。

コメント