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の無駄がない
- 打ち間違えの心配がない
- 後から学習の結果を確認しやすい
実際の実装例等、各パッケージサイト上に多数記載がありますので、ぜひ活用していただけると幸いです。
最後まで読んでいただきありがとうございます。