ITPub博客

首页 > 人工智能 > 自然语言 > 调参利器 Fitlog,复旦NLP实验室专用

调参利器 Fitlog,复旦NLP实验室专用

自然语言 作者:AIBigbull2050 时间:2020-04-27 08:39:46 1 删除 编辑
2020-04-27 03:07:28
调参利器 Fitlog,复旦NLP实验室专用

作者 | 邱锡鹏

本文介绍一个复旦NLP实验室内部使用的调参利器fitlog,开源地址:

https://github.com/fastnlp/fitlog

figlog原本是作为fastNLP的一部分开发,后来分为一个单独项目。

这里有个简单的介绍:使用fitlog 辅助 fastNLP 进行科研

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

但实际功能远远多于介绍里的功能,有兴趣的同学可以挖掘下。

下面是开发小组提供的简洁版说明。

1、Tabular显示实验结果,方便不同超参数之间的对比。以下一行是一次实验。

(1.1) 支持group操作,方便查看某种特定数据集或参数的性能

(1.2) 支持排序,谁是最强超参一目了然

(1.3) 支持column顺序、显示自定义,拯救强迫症

调参利器 Fitlog,复旦NLP实验室专用

(1.4) 支持针对某条实验自定义备忘

调参利器 Fitlog,复旦NLP实验室专用

(1.5) 支持前端加入别人的实验performance,再也不用一边看paper一边check是否已经超过sota结果。

调参利器 Fitlog,复旦NLP实验室专用

(1.6) 支持计算平均值、标准差,还有比这个更实用的吗?

调参利器 Fitlog,复旦NLP实验室专用

(1.7) 实验结果不理想?我们支持前端操作删除、隐藏记录

(1.8) 实在有分析需求,无法满足?我们支持导出excel、csv、txt、json等格式,总有一款适合你

(1.9) 还有什么比看到loss快速下降,evaluation快速上升更让人开心的事?

调参利器 Fitlog,复旦NLP实验室专用

2、想要复现实验结果,超参就够了????No, No, No. 作为一线炼丹师,我们深知调参过程有些神来之笔,例如加入Layer normalization带来的神奇效果并不能很容易体现在超参数中,所以fitlog支持在后台为你自动git commit代码(我们借助git进行代码管理,但与开发者自己管理的git不冲突,是并行的),需要回退到某次实验的代码,直接前端点击,回退,搞定。exactly复原结果不是梦(是的,我们甚至可以帮你管理随机数种子,但pytorch等深度学习框架的本身的随机性无法解决)。

3、茫茫的超参,哪个才是重要的?经过一夜的搜索,哪些参数搜索还不够?你可能需要这样的可视化。(每条线是一次实验,最左侧是dev上的性能)

调参利器 Fitlog,复旦NLP实验室专用

4、fitlog是架构无关的,不管tensorflow还是pytorch都可以使用,不管是cv还是nlp也都支持。如果是NLP的任务,配合我们的fastNLP框架,只需要增加三五行代码便可以实现metric,loss的自动记录。

当然fitlog也不是十全十美的,对标其它的类似框架,我们为了轻量级,以下的东西目前没有支持:

  • 不支持保存model输出的图片,但是支持查看训练过程中的文本输出。

  • 不支持除了loss与metric以外的曲线的展示。


https://www.toutiao.com/i6820099036192702989/



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946223/viewspace-2688571/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
SAP虾客(~Suzhou Boy~)

注册时间:2019-08-22

  • 博文量
    1788
  • 访问量
    1223348