提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog

近日,復旦大學邱錫鵬教授在知乎上介紹了一個調參利器——fitlog,fitlog原本是作為fastNLP的一部分開發,後來分為一個單獨項目。此外,他還分享了一篇使用fitlog 輔助 fastNLP 進行科研的文章。


關於fitlog的簡潔版說明如下:


  1. Tabular顯示實驗結果,方便不同超參數之間的對比。以下一行是一次實驗。


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


(1.1) 支持group操作,方便查看某種特定數據集或參數的性能


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


(1.4) 支持針對某條實驗自定義備忘


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


(1.5) 支持前端加入別人的實驗performance,再也不用一邊看paper一邊check是否已經超過sota結果。


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


(1.6) 支持計算平均值、標準差,還有比這個更實用的嗎?


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


(1.7) 實驗結果不理想?我們支持前端操作刪除、隱藏記錄


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


2、想要復現實驗結果,超參就夠了????No, No, No. 作為一線煉丹師,我們深知調參過程有些神來之筆,例如加入Layer normalization帶來的神奇效果並不能很容易體現在超參數中,所以fitlog支持在後臺為你自動git commit代碼(我們藉助git進行代碼管理,但與開發者自己管理的git不衝突,是並行的),需要回退到某次實驗的代碼,直接前端點擊,回退,搞定。exactly復原結果不是夢(是的,我們甚至可以幫你管理隨機數種子,但pytorch等深度學習框架的本身的隨機性無法解決)。

3、 茫茫的超參,哪個才是重要的?經過一夜的搜索,哪些參數搜索還不夠?你可能需要這樣的可視化。(每條線是一次實驗,最左側是dev上的性能)


提高深度學習效率!復旦邱錫鵬推薦調參利器—fitlog


4、fitlog是架構無關的,不管tensorflow還是pytorch都可以使用,不管是cv還是nlp也都支持。如果是NLP的任務,配合我們的fastNLP框架,只需要增加三五行代碼便可以實現metric,loss的自動記錄。


當然fitlog也不是十全十美的,對標其它的類似框架,我們為了輕量級,以下的東西目前沒有支持:


  1. 不支持保存model輸出的圖片,但是支持查看訓練過程中的文本輸出。
  2. 不支持除了loss與metric以外的曲線的展示。


原文鏈接:

https://www.zhihu.com/question/384519338/answer/1181186086


《使用fitlog 輔助 fastNLP 進行科研》鏈接:

https://fastnlp.readthedocs.io/zh/latest/tutorials/extend_3_fitlog.html


fitlog開源地址:

https://github.com/fastnlp/fitlog


分享到:


相關文章: