tl;dr docker-composeを叩くだけでさくっと認証付きのMLflowサーバーを立てられるようにしました こちらからどうぞ: ymym3412/mlflow-docker-compose みなさん機械学習の実験をしていますか? 学習に使ったハイパーパラメーターやデータ、Train/Valデータのロス、、Testデータでの各種評価指標、これらを人手で管理しておくのは非常に大変です。 モデルの開発や比較実験に集中していると「あれ、この最高精度のモデルはどんな条件で実験したものだっけ...」となることもあり、再現性が失われてしまうことにもつながります。 この機械学習にまつわる課題を解決するひとつの枠組みが実験管理と呼ばれるもので、学習時に使用したハイパーパラメーターやTrain Loss、Test データでの評価結果などを記録して管理しておくものです。 代表的なものでいうとMLflo
はじめにこんにちは、Strategic AI Group(SAIG)の山野です。 今回は、機械学習の実験管理をテーマにMLflowについて紹介します。 1. 実験管理の必要性モデル開発では、様々な条件で大量の実験を時には複数人で回していくことがありますが、徐々に管理し切れなくなり、後から(必要に迫られて)もう一度その実験を再現しようと思ってもできなくて困る、ということがあります。 つまり、実験が終わって数ヶ月後に「あの実験てどのような条件で実施してどのような結果出たんだっけ? +再現できる?」と聞かれても困らない状態を作れれば良いです。PoCが終わってプロダクション化のフェーズで、PoCの実験について確認されるケースが意外とあったりします。 管理すべき情報は、前処理・学習・評価それぞれで以下があります。 前処理 元データ <-> 前処理コード <-> 加工済データ 学習 加工済みデータ(学
AI Labの岩崎(@chck)です、こんにちは。今日は実験管理、広義ではMLOpsの話をしたいと思います。 MLOpsはもともとDevOpsの派生として生まれた言葉ですが、本稿では本番運用を見据えた機械学習ライフサイクル(実験ログやワークフロー)の管理を指します。 https://www.slideshare.net/databricks/mlflow-infrastructure-for-a-complete-machine-learning-life-cycle 参考記事のJan Teichmann氏の言葉を借りると、 エンジニアがDevOpsによって健全で継続的な開発・運用を実現している一方、 多くのデータサイエンティストは、ローカルでの作業と本番環境に大きなギャップを抱えている クラウド含む本番環境でのモデルのホスティングが考慮されないローカルでの作業 本番のデータボリュームやス
機械学習をやっている人なら誰もが遭遇したであろうこの光景 (※写真はPyTorchのLanguage ModelのExampleより) Pythonのargparseでシェルから引数を受け取りPythonスクリプト内でパラメータに設定するパターンは、記述が長くなりがちな上、どのパラメータがmodel/preprocess/optimizerのものなのか区別がつきにくく見通しが悪いといった課題があります。 私は実験用のパラメータ類は全てYAMLに記述して管理しています。 YAMLで記述することでパラメータを階層立てて構造的に記述することができ、パラメータの見通しがぐっとよくなります。 preprocess: min_df: 3 max_df: 1 replace_pattern: \d+ model: hidden_size: 256 dropout: 0.1 optimizer: algo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く