All life is an experiment. The more experiments you make the better. — Ralph Waldo Emerson
不知大家是否曾經在 Notebook 中搗鼓了一番之後,發現之前的結果好像比較好,但 ctrl+z
還有 Undo Delete Cells
按到極限了還是回不到當時的狀態,只好從頭開始,祈禱可以重新得到一樣的成果。
這真的是很痛苦的經驗,事實上,在開發 ML 模型時,我們一定會進行大量的實驗,例如:
而這些實驗可能會產生截然不同的結果,追蹤、管理這些資訊很快就會變得很棘手,特別是當你想比較這些實驗並找出最佳配置的時候,這時候就需要導入 ML 實驗管理,所以今天就來談談這個主題吧。
實驗管理是 MLOps 的其中一環,它在整體生命週期的角色如下圖:
*圖片來源:ML Experiment Tracking: What It Is, Why It Matters, and How to Implement It
可以看到它主要會被使用於將模型開發至達到預期表現的迭代流程中,而與它概念很類似的模型管理則是在模型部署為產品後才會開始,主要用來調度各種模型版本來使產品保持正常運作。
回到實驗管理,一言以蔽之,它要做的就是紀錄每次實驗時所有我們關心的相關訊息,其中可能包含了:
也就是說,最好要能記錄以下項目:
如果資料是從網路上抓的,要注意可再現性的部份!
那麼實際上該怎麼做呢? 以下為可以利用的工具:
總而言之,就算只是用文字檔,開始試著做實驗管理吧!!
終於結束了 Modeling 的部分,明天一起前進到機器學習產品生命週期的"上"一個步驟吧~