Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実験管理 - 結局、重要なのは何なの?-

chu majin
March 14, 2025
690

実験管理 - 結局、重要なのは何なの?-

2025.3.13に行われた

書籍『目指せメダリスト!Kaggle実験管理術 着実にコンペで成果を出すためのノウハウ』の出版イベントKaggle GMに学ぶ実験管理 ~2025 spring~で登壇した資料です!

[本のリンクは以下です。私のインタビュー記事も載っています。urlが全部表示されてしまう…]

https://www.amazon.co.jp/%E7%9B%AE%E6%8C%87%E3%81%9B%E3%83%A1%E3%83%80%E3%83%AA%E3%82%B9%E3%83%88%EF%BC%81Kaggle%E5%AE%9F%E9%A8%93%E7%AE%A1%E7%90%86%E8%A1%93-%E7%9D%80%E5%AE%9F%E3%81%AB%E3%82%B3%E3%83%B3%E3%83%9A%E3%81%A7%E6%88%90%E6%9E%9C%E3%82%92%E5%87%BA%E3%81%99%E3%81%9F%E3%82%81%E3%81%AE%E3%83%8E%E3%82%A6%E3%83%8F%E3%82%A6-%E9%AB%99%E6%A9%8B-%E6%AD%A3%E6%86%B2/dp/4798187453

chu majin

March 14, 2025
Tweet

Transcript

  1. © 2025 MLCaT Co.,LTD All Rights Reserved. 1 目指せメダリスト Kaggle

    実験管理術 出版イベント 実験管理 - 結局、重要なのは何なの?- chumajin 出版おめでとうございます !!
  2. © 2025 MLCaT Co.,LTD All Rights Reserved. 2 自己紹介 NLP

    NLP NLP Table Image 2X (Competitions / Notebooks) Grandmaster
  3. • 株式会社MLCaT 代表 : 中 真人 (chumajin) AIコンサル・プログラミング教育 • 趣味

    : 海外旅行 → 最近はギリシャとクロアチアに。 • 長い間、製造業でエンジニア経験 • 某社でpython初心者教育を行い、 口コミで300人以上受講 • Udemy講師デビュー © 2025 MLCaT Co.,LTD All Rights Reserved. 3 自己紹介 今のところセールにはしない予定 19800円 から 2480円のクーポンはこちら(2025/4/4まで) →
  4. © 2025 MLCaT Co.,LTD All Rights Reserved. 6 データ収集 前処理・特徴エンジニアリング

    モデル学習・評価 改良 最終モデル保存 課題定義 モデルの推論形態・インフラ設計 CI/CD 構築 再学習パイプライン構築 モニタリングとアラート モデルのバージョン管理・リリース戦略 A/Bテストやオンライン実験管理 運用・メンテナンス 2. システム化フェーズ 1. モデル構築フェーズ ※ ChatGPTによる見解です
  5. © 2025 MLCaT Co.,LTD All Rights Reserved. 7 データ収集 前処理・特徴エンジニアリング

    モデル学習・評価 改良 最終モデル保存 課題定義 モデルの推論形態・インフラ設計 CI/CD 構築 再学習パイプライン構築 モニタリングとアラート モデルのバージョン管理・リリース戦略 A/Bテストやオンライン実験管理 運用・メンテナンス 推論 + Sub Kaggle ※ ChatGPTによる見解です 2. システム化フェーズ 1. モデル構築フェーズ
  6. © 2025 MLCaT Co.,LTD All Rights Reserved. 8 【重要なこと】実験管理は方法であって、目的ではない !!

    2.システム化フェーズ 安定稼働して運用することが目的 1. モデル構築フェーズ 精度の高い機械学習モデル の構築が目的 管理するコード / 前処理 / 特徴エンジニアリング手法 / ハイパラが変化 使用するデータセットが時系列的に変化 使用するモデルのweightが時系列的に変化 精度が時系列的に変化 精度が工夫ごとに変化 使用するモデルが工夫ごとに変化 基本大きな変化なし 基本大きな変化なし(LLMコンペでは最近必要かも) フェーズによって管理するものが違うので、目的もツールも様々
  7. 使用するモデルのweightが時系列的に変化 基本大きな変化なし(LLMコンペでは最近必要かも) © 2025 MLCaT Co.,LTD All Rights Reserved. 9

    【重要なこと】実験管理は方法であって、目的ではない !! 2.システム化フェーズ 安定稼働して運用することが目的 1. モデル構築フェーズ 精度の高い機械学習モデル の構築が目的 管理するコード / 前処理 / 特徴エンジニアリング手法 / ハイパラが変化 使用するデータセットが時系列的に変化 精度が時系列的に変化 精度が工夫ごとに変化 使用するモデルが工夫ごとに変化 基本大きな変化なし フェーズによって管理するものが違うので、目的もツールも様々
  8. © 2025 MLCaT Co.,LTD All Rights Reserved. 10 データ収集 前処理・特徴エンジニアリング

    モデル学習・評価 改良 最終モデル保存 課題定義 モデルの推論形態・インフラ設計 CI/CD 構築 再学習パイプライン構築 モニタリングとアラート モデルバージョン管理と安全なデプロイ A/Bテストなどによるオンライン検証 運用・メンテナンス 2.システム化フェーズ 1.モデル構築フェーズ 推論 + Sub Kaggle ※ ChatGPTによる見解です
  9. © 2025 MLCaT Co.,LTD All Rights Reserved. 12 One Note

    × Google colab(codeはurl管理)はかなりお気に入り 大会ごとにタブができている Log,idea,postprocess, Expごとの結果, --- baselineの更新 --- などページのタイトル
  10. © 2025 MLCaT Co.,LTD All Rights Reserved. 13 One Note

    × Google colab(codeはurl管理)はかなりお気に入り コードはurl管理(ワンクリックでgoogle colabへ → 次頁) プリントスクリーンで 結果を適当に貼る
  11. © 2025 MLCaT Co.,LTD All Rights Reserved. 14 One Note

    × Google colab(codeはurl管理)はかなりお気に入り ドライブにコピーして複製。 CFG変えて流すなど
  12. © 2025 MLCaT Co.,LTD All Rights Reserved. 15 One Note

    × Google colab(codeはurl管理)はかなりお気に入り ドライブにコピーして インスタンス容易に生成 ドライブにコピーして インスタンス容易に生成
  13. © 2025 MLCaT Co.,LTD All Rights Reserved. 16 exp model

    score privateScore publicScore preprocess kfold seed cv lr awp pretrainexp pseudo Comment colab url 1 deberta v3 large 0.4486 0.44 0.442103 Metric + Chapter 4 2022 old multi 1.00E-05 1.00E-05 ncatkag5 https://colab.resear 12 roberta large 0.4562 0.445857 0.451925 Metric + Chapter 4 2022 old multi 4.00E-06 3.00E-06 ncatkag3 https://colab.resear 17 deberta v3 large 0.4502 0.441898 0.443049 none 4 2022 old multi 1.00E-05 1.00E-05 ncatkag3 https://colab.resear 18 deberta base 0.4516 0.44048 0.439348 none 4 2022 old multi 5.00E-05 1.00E-05 20 deberta v3 large 0.4485 0.440275 0.441282 Metric 15 2022 old multi 1.00E-05 1.00E-05 ncatkag3 https://colab.resear 29 google/electra-large-discriminator 0.4546 0.443169 0.449393 Metric 4 2022 old multi 2.00E-05 9.00E-06 ncatkag2 https://colab.resear 30 deberta v1 xlarge 0.4522 0.44201 0.44228 Metric 4 2022 old multi 2.00E-05 5.00E-06 ncatkag6 https://colab.resear 33 deberta v2 xlarge 0.454 0.442475 0.443199 Metric 4 2022 old multi 7.00E-06 ncatkag3 https://colab.resear 102 deberta base 0.4483 0.438663 0.438586 Metric + Chapter 4 2022 old multi 1.00E-05 4.00E-06 100 ncatkag4 https://colab.resear 114 google/electra-large-discriminator 0.4516 0.441886 0.44578 Metric + Chapter 4 2022 old multi 6.00E-06 3.00E-06 110 ncatkag6 https://colab.resear 123 deberta v3 large 0.4467 0.437852 0.440221 Metric + Chapter 4 2022 old multi 8.00E-06 9.00E-07 120 地味にけっこう効いた ncatkag2 https://colab.resear 131 deberta v1 large 0.4515 0.44128 0.44307 Metric + Chapter 4 2022 old multi 4.00E-05 3.00E-05 code間違えている ncatkag1 https://colab.resear 161 deberta v3 large 0.4472 0.438295 0.440066 Metric + Chapter 4 2022 old multi 1.00E-05 1.00E-05 fb1 + com ncatkag2 https://colab.resear 163 deberta base 0.4505 0.439008 0.440294 Metric + Chapter 4 2022 old multi 3.00E-05 1.00E-05 fb1 + com ncatkag3 https://colab.resear 164 google/electra-large-discriminator 0.4544 0.441455 0.445485 Metric + Chapter 4 2022 old multi 2.00E-05 9.00E-06 fb1 + com ncatkag4 https://colab.resear 185 deberta base 0.4455 Metric + Chapter 10 2022 new 3.00E-05 1.00E-05 KD leakかも ncatkag2 https://colab.resear 190 deberta base 0.4508 Metric + Chapter 10 2022 new 3.00E-05 1.00E-05 KD 無し ncatkag1 https://colab.resear 200 deberta v3 large 0.4471 Metric + Chapter 4 2022 old multi 0.00001 0.00001 fb1 only 123の代替え ncatkag1 https://colab.resear 201 deberta base 0.4503 Metric + Chapter 4 2022 old multi 0.00003 0.00001 fb1 only 102の代替え ncatkag2 https://colab.resear 202 electra 0.455 Metric + Chapter 4 2022 old multi 0.00002 0.000009 fb1 only 114の代替え ncatkag3 https://colab.resear 210 deberta v3 large pretrain Metric + Chapter 4 2022 old multi 0.00001 fb1 only ncatkag1 https://colab.resear 211 deberta base Metric + Chapter 4 2022 old multi 0.00003 fb1 only ncatkag6 https://colab.resear 212 electra Metric + Chapter 4 2022 old multi 0.00002 fb1 only ncatkag4 https://colab.resear 214 deberta v3 large 0.4467 Metric + Chapter 4 2022 old multi 0.000008 0.0000009 210 fb1 only 161の代替え ncatkag1 https://colab.resear Excelも使用 (チーム組んだら、スプレッドシートに) CV, public Score, preprocess, kfold, seed, lr, AWP lr, pretrainexp, pseudo, comment, codeのurlなど多種をメモしている
  14. 17 © 2025 MLCaT Co.,LTD All Rights Reserved. 1. モデル構築フェーズ

    精度の高い機械学習モデル の構築が目的 管理するコード / 前処理 / 特徴エンジニアリング手法 / ハイパラが変化 精度が工夫ごとに変化 使用するモデルが工夫ごとに変化 基本大きな変化なし(LLMコンペでは最近必要かも) 2度手間ですが、 OneNote, Excel両方に記載している ちょっとしたまとめ
  15. © 2025 MLCaT Co.,LTD All Rights Reserved. 19 1. CV

    v.s. LBの関係から気づきを得る 2. Lossの推移から気づきを得る 【重要なこと2】 実験管理で違和感に気づくことができる
  16. © 2025 MLCaT Co.,LTD All Rights Reserved. 20 1. CV

    v.s. LBの関係から気づきを得る 2. Lossの推移から気づきを得る 【重要なこと2】 実験管理で違和感に気づくことができる
  17. © 2025 MLCaT Co.,LTD All Rights Reserved. 21 実験を点ではなく、線で考える -

    cvとlbの関係 1 - AMEX 13 th / team gold cma ensembleは オーバーフィッティング(金圏外) 最終的にはLGBM Stackingで金メダル。 オーバーフィッティング気味 (cvの切り方がそろっていなかった) 線から外れたものは、leakage/over fittingしている可能性あり (pseudo labelや、知識蒸留を使ったときなどの判定に使える) 単なるExcel 妙だな…
  18. © 2025 MLCaT Co.,LTD All Rights Reserved. 22 実験を点ではなく、線で考える -

    cvとlbの関係 2 - CNN SegFormer 初め、CNNをやっていたが、Transformer系の SegFormerを使用したら、cvは良いが、lbが悪く 線から外れた… 火山コンペ 6 th solo gold ※ Segmentationタスクで、publicは16% ※ 本コンペではSegFormerの使用が許可されていた CNN + SegFormerの アンサンブル アンサンブルしたら、直線に乗った → publicのところだけSegFormerは ノイズが乗ってたと推測 単なるExcel 実験管理により 現象面まで推察できた 事例 妙だな…
  19. © 2025 MLCaT Co.,LTD All Rights Reserved. 23 Single modelの不安定さがわかる例

    - cvとlbの関係 3 - 精度良 Single modelは cv / LBの ばらつきがでかい Ensembleすると cv / LBが安定する Feedback3 competition 18 th / silver solo データセットやタスクによって 違うかもしれないが、 仕事でもアンサンブル推奨派 単なるExcel
  20. © 2025 MLCaT Co.,LTD All Rights Reserved. 24 1. CV

    v.s. LBの関係から気づきを得る 2. Lossの推移から気づきを得る 【重要なこと2】 実験管理で違和感に気づくことができる
  21. © 2025 MLCaT Co.,LTD All Rights Reserved. 25 とんでもない外れ値のために、train lossが爆発している

    LEAP competition 通常は0.15とかそのオーダー たまに、1e22~23クラスのlossが現れている… Lossのフィルターをかけたが、 精度は上がらず。でも、なんか気持ち悪い Pytorch lightning + WandB Regression系のLoss 妙だな…
  22. © 2025 MLCaT Co.,LTD All Rights Reserved. 28 WandB MLflow

    Notion OneNote Excel / スプレッドシート TensorBoard Git/Github Slack Discord すぐー 〇 〇 penguin46 〇 〇 〇 tk 〇 〇 〇 〇(チーム) Masaya 〇(チーム) 〇 〇 Masaki AOTA 〇 〇(チーム) 〇(チーム) 〇(チーム) カレーちゃん 〇 〇 〇 〇 chumajin 〇(仕事) 〇 〇 kami 〇 〇 〇 〇 ・ WandBとMLflow だと、WandB派が多い (仕事ではけっこうMLflow使っている人いる気がする) ・ NotionとOneNoteだと、Notion派が多い ・ Excel / スプレッドシートも多数派 Kaggle実験管理本に記載のあったツール ※ 書いていないだけで使用している可能性あり Kaggler Tool
  23. © 2025 MLCaT Co.,LTD All Rights Reserved. 29 Kaggle実験管理本に記載のあったツール ※

    書いていないだけで使用している可能性あり 実験メモ 〇 〇 〇 〇 〇 〇 〇 〇 すべての人において、実験メモ(日記というワードもちらほら)に関する記述があった ・ (実験管理は目的じゃない !! ) 管理することが目的にならないことは大事. 管理したまま放置せずに、1つ1つこだわりを持つことが重要。 ・ 方法は自分に合ったものを選べば良い。ただし、何でも試してみることは重要 WandB MLflow Notion OneNote Excel / スプレッドシート TensorBoard Git/Github Slack Discord すぐー 〇 〇 penguin46 〇 〇 〇 tk 〇 〇 〇 〇(チーム) Masaya 〇(チーム) 〇 〇 Masaki AOTA 〇 〇(チーム) 〇(チーム) 〇(チーム) カレーちゃん 〇 〇 〇 〇 chumajin 〇(仕事) 〇 〇 kami 〇 〇 〇 〇 Kaggler Tool
  24. 1. 実験管理は方法であって、目的ではない !! • フェーズによって、目的・管理項目が異なる 2. 実験管理をすることによって気づきが得ることができる! 3. Kaggleでのインタビュアーの使用トレンドは以下の通り。 •

    WandBとMLflow だと、WandB派が多い • NotionとOneNoteだと、Notion派が多い • Excel / スプレッドシートも多数派 4. 実験メモに関する記述は、全てにおいて共通。 • 管理することが目的にならないことは大事。 管理したまま放置せずに、1つ1つこだわりを持つ姿勢が重要 • 方法は自分に合ったものを選べば良い。ただし、何でも試してみることは重要 © 2025 MLCaT Co.,LTD All Rights Reserved. 30 まとめ 実験管理 - 結局、重要なのは何なの?-