コンテンツへスキップ

トレーニングYOLOv8 withClearML: MLOps ワークフローの合理化

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

Ultralytics YOLOv8は、ClearML と簡単に統合でき、物体検出モデルのトレーニングと管理を合理化し、強化します。このガイドでは、ClearML のセットアップ方法、実験の管理方法、モデル管理の自動化方法、効果的なコラボレーション方法について詳しく説明します。

ClearML

ClearML 概要

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

YOLOv8 トレーニングClearML

YOLOv8 とClearML を統合することで、トレーニングプロセスを改善し、機械学習ワークフローに自動化と効率化をもたらすことができます。

インストール

必要なパッケージをインストールするには

インストール

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

インストールプロセスに関する詳細な説明とベストプラクティスについては、YOLOv8 インストールガイドをご覧ください。YOLOv8 に必要なパッケージをインストールする際、何らかの問題が発生した場合は、解決策やヒントについて「よくある問題」ガイドを参照してください。

設定ClearML

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

ClearML SDKをあなたの環境で初期化することから始めます。clearml-init'コマンドはセットアッププロセスを開始し、必要な認証情報の入力を促します。

SDKの初期セットアップ

# Initialize your ClearML SDK setup process
clearml-init

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

使用方法

使い方の説明に入る前に、 Ultralytics が提供するYOLOv8 モデルのラインナップをご確認ください。これは、あなたのプロジェクトの要件に最も適したモデルを選択するのに役立ちます。

使用方法

from clearml import Task
from ultralytics import YOLO

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

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

# Step 3: Loading the YOLOv8 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:YOLOv8 モデルの選択:について model_variant 変数はYOLOv8 モデルの一つである 'yolov8n' に設定されます。この variant は追跡のためにClearML に記録されます。

ステップ3:YOLOv8 モデルのロード:選択されたYOLOv8 モデルは、Ultralytics'YOLO クラスを使用してロードされ、トレーニングの準備をします。

ステップ4:トレーニングの論点を設定する:データセット (coco8.yaml)とエポック数(16)は辞書に整理され、ClearML タスクに接続される。これによって、ClearML UIを介した追跡と潜在的な修正が可能になる。モデルトレーニングプロセスとベストプラクティスの詳細については、我々の YOLOv8 モデル・トレーニング・ガイド.

ステップ5:モデルトレーニングの開始:指定された引数でモデル学習を開始する。トレーニングの結果は results 変数である。

アウトプットを理解する

上記のコード・スニペットを実行すると、次のような出力が期待できる:

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

ClearML 結果ページの表示

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

ClearML 結果ページの主な特徴

  • リアルタイム・メトリックス・トラッキング

    • 損失、精度、検証スコアなどの重要なメトリクスを、発生時に追跡します。
    • タイムリーなモデル性能調整のための即時フィードバックを提供します。
  • 実験比較

    • 異なるトレーニングを並べて比較する。
    • ハイパーパラメータのチューニングと最も効果的なモデルの特定に不可欠。
  • 詳細なログと出力

    • 包括的なログ、メトリクスのグラフ表示、コンソール出力にアクセスできます。
    • モデルの行動と問題解決について理解を深める。
  • 資源利用モニタリング

    • CPU、GPU、メモリなどの計算リソースの使用率を監視します。
    • トレーニングの効率とコストを最適化する鍵
  • モデル成果物管理

    • 学習済みモデルやチェックポイントなどのモデル成果物を表示、ダウンロード、共有できます。
    • コラボレーションを強化し、モデルの展開と共有を合理化します。

ClearML 結果ページがどのようなものか、視覚的なウォークスルーは以下のビデオをご覧ください:



見るんだ: YOLOv8 MLOpsの統合ClearML

の高度な機能ClearML

ClearML には、MLOpsの経験を向上させるいくつかの高度な機能があります。

リモート実行

ClearMLのリモート実行機能は、異なるマシン上での実験の再現と操作を容易にする。インストールされたパッケージやコミットされていない変更のような重要な詳細をログに記録する。タスクがエンキューされると、ClearML エージェントがそれをプルし、環境を再作成して実験を実行し、詳細な結果を報告する。

ClearML エージェントのデプロイは簡単で、以下のコマンドを使用してさまざまなマシンで実行できる:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

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

クローン、編集、エンキュー

ClearMLのユーザーフレンドリーなインターフェースにより、タスクのクローン作成、編集、キューイングが簡単に行える。ユーザーは既存の実験のクローンを作成し、UIからパラメータやその他の詳細を調整し、タスクの実行を開始することができます。この合理化されたプロセスにより、タスクを実行するClearML エージェントが更新された設定を使用することが保証され、反復的な実験とモデルの微調整に理想的です。


クローン作成、編集、エンキューClearML

概要

このガイドでは、ClearML とUltralytics'YOLOv8 を統合するプロセスを説明しました。初期セットアップから高度なモデル管理まですべてをカバーし、機械学習プロジェクトにおける効率的なトレーニング、実験追跡、ワークフローの最適化のためにClearML を活用する方法を発見していただきました。

使い方の詳細については、ClearML の公式ドキュメントをご覧ください。

さらに、Ultralytics の統合ガイドページでは、Ultralytics のその他の統合や機能について調べることができます。このページは、リソースや見識の宝庫です。



作成日:2023-11-29 更新日:2024-05-18
作成者:glenn-jocher(7),abirami-vina(1)

コメント