記事検索

検索ワードを入力してください。
Sky Tech Blog
【MLOps】Hydra, Optuna, MLflowを​活用した​MLOpsの​実践

【MLOps】Hydra, Optuna, MLflowを​活用した​MLOpsの​実践

AIモデルの作成における学習管理に活用できるMLOpsの関連パッケージ(Hydra、OPTUNA、MLflow)について説明します。Hydra、OPTUNA、MLflowそれぞれについて、特徴や使用方法を紹介します。

AIモデルの作成において、学習は欠かせない工程ですが、きちんと学習の管理はできていますでしょうか?

ローカルに保存されたフォルダを探している…
毎回手動でパラメータを入力して学習を進めてる…
という方は、ぜひ読んでいってください。

背景

私は業務として、パラメータやデータ・使用するモデルを変えながら最適なAIモデルの探索を行っております。

その中で、

  • パラメータの打ち間違い
  • 学習間のラグ
  • 使用データ忘れ

などがありました。

これらの問題に対しMLOpsを使用すると、

  • 自動パラメータ探索
  • 自動学習
  • 自動記憶

をすることができることがわかり、本内容を記事にするに至りました。

MLOpsとは?

MLOpsとは、機械学習のモデルのライフサイクル全体を効率的に管理・運用するための手法や文化全般を指します。
例えば、モデルのバージョン管理、ハイパーパラメータ管理、自動学習などです。
MLOps関連パッケージとしては、以下のようなものがあります。

Hydra

HydraはFacebook(現Meta)が提供しているハイパーパラメータ管理パッケージです。

使用方法

1 pip install hydra-coreでインストール
2 ymlファイルを記述
3 実行関数にhydraのデコレータを実装

こちらを実行すると、タイムスタンプフォルダに使用ymlファイルが保存されます。

OPTUNA

OPTUNAはハイパーパラメータ探索用パッケージです。

使用方法

1 pip install hydra-optuna-sweeperでインストール
2 ymlファイルに追記
3 指標にするパラメータをreturnとして記載

以上を実行することで、paramとして指定するだけで自動的にパラメータ探索ができます。

MLflow

MLflowは学習管理用パッケージです。

使用方法

1 pip install mlflowでインストール
2 mlflow uiでMLflowを建てる(規定値・ポート番号5000)
3 学習コードにMLflowの起動とパラメータの保存を実装

以上を実行すると、自動で学習結果を保存してくれます。

使用した​感想

私は使用して以下のような感想を持ちました。

  • 最適なパラメータの探索が楽になる
  • GPUの無駄がない
  • 打ち間違えの心配がない
  • 後から学習の結果を確認しやすい

実際の実装例等、各パッケージサイト上に多数記載がありますので、ぜひ活用していただけると幸いです。

最後まで読んでいただきありがとうございます。


XFacebookLINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム