iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
AI & Data

然後模型就死在 Jupyter Notebook 了 (ಥ﹏ಥ)系列 第 15

[Day 15] ML 實驗管理 — 翻開覆蓋的陷阱卡~ 記帳小本本!

  • 分享至 

  • xImage
  •  

All life is an experiment. The more experiments you make the better. — Ralph Waldo Emerson

前言

不知大家是否曾經在 Notebook 中搗鼓了一番之後,發現之前的結果好像比較好,但 ctrl+z 還有 Undo Delete Cells 按到極限了還是回不到當時的狀態,只好從頭開始,祈禱可以重新得到一樣的成果。
這真的是很痛苦的經驗,事實上,在開發 ML 模型時,我們一定會進行大量的實驗,例如:

  • 使用不同的訓練、測試集
  • 使用不同的模型、超參數
  • 使用不同的程式碼 (包括只是想快速試試看結果如何的小修改)
  • 在不同環境執行相同的程式碼 (例如使用不同版本的 Tensorflow、Pytorch)

而這些實驗可能會產生截然不同的結果,追蹤、管理這些資訊很快就會變得很棘手,特別是當你想比較這些實驗並找出最佳配置的時候,這時候就需要導入 ML 實驗管理,所以今天就來談談這個主題吧。

實驗管理

實驗管理是 MLOps 的其中一環,它在整體生命週期的角色如下圖:
https://ithelp.ithome.com.tw/upload/images/20231011/20141304PPV1k5bhny.png
*圖片來源:ML Experiment Tracking: What It Is, Why It Matters, and How to Implement It

可以看到它主要會被使用於將模型開發至達到預期表現的迭代流程中,而與它概念很類似的模型管理則是在模型部署為產品後才會開始,主要用來調度各種模型版本來使產品保持正常運作。

回到實驗管理,一言以蔽之,它要做的就是紀錄每次實驗時所有我們關心的相關訊息,其中可能包含了:

  • 不同版本的演算法/程式碼
  • 使用的資料集
  • 超參數
  • 實驗結果

也就是說,最好要能記錄以下項目:

  • 再現結果所需的資訊

    如果資料是從網路上抓的,要注意可再現性的部份!

  • 實驗結果 (最好有整體的 metric 或分析結果)
  • 或許還需要:資源監控、可視化、模型錯誤分析

那麼實際上該怎麼做呢? 以下為可以利用的工具:

總而言之,就算只是用文字檔,開始試著做實驗管理吧!!
終於結束了 Modeling 的部分,明天一起前進到機器學習產品生命週期的"上"一個步驟吧~
/images/emoticon/emoticon25.gif

參考資料


上一篇
[Day 14] Audit perfomance — 模型也要期末稽核༼ಢ_ಢ༽
下一篇
[Day 16] Data! — 資料就是我的超能力
系列文
然後模型就死在 Jupyter Notebook 了 (ಥ﹏ಥ)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言