提高深度学习效率!复旦邱锡鹏推荐调参利器—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


分享到:


相關文章: