机器学习免费跑分神器:集成各大数据集,连接GitHub就能用

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

搞机器学习的小伙伴们,免不了要在各种数据集上,给AI模型跑分。

现在,Papers with Code (那个以论文搜代码的神器) 团队,推出了自动跑分服务,名叫sotabench,以跑遍所有开源模型为己任。

有了它,不用上传代码,只要连接GitHub项目,就有云端GPU帮你跑分;每次提交了新的commit,系统又会自动更新跑分。还有世界排行榜,可以观察各路强手的成绩。

除了支持各大主流数据集,还支持用户上传自己的数据集。

也可以看看,别人的论文结果,到底靠谱不靠谱。

比如说,fork一下Facebook的FixRes这个项目,配置一下评估文件:

然后一键关联,让Sotabench的GPU跑一下ImageNet的图像分类测试。

就能得到这样的结果:

Top-1准确率,Top-5准确率,跟论文的结果有何差距(见注),运行速度,全球排名,全部一目了然。

注:ε-REPR,结果与论文结果差距在0.3%以内时打勾,差距≥0.3%且比论文结果差显示为红叉,比论文结果好显示为勾+

这个免费的跑分神器,发布一天,便受到热烈欢迎:推特点赞600+,Reddit热度270+。

网友纷纷表示:这对开发者社区来说太有用了!

那么,先来看一下sotabench的功能和用法吧。

用法简单,海纳百川

团队说,sotabench就是Papers with Code的双胞胎姐妹:

Papers with Code大家很熟悉了,它观察的是论文报告的跑分。可以用来寻找高分模型对应的代码,是个造福人类的工具。

与之互补,sotabench观察的是开源项目,代码实际运行的结果。可以测试自己的模型,也能验证别家的模型,是不是真有论文说的那么强。

它支持跟其他模型的对比,支持查看速度和准确率的取舍情况。

那么,sotabench怎么用?简单,只要两步。

第一步,先在本地评估一下模型:

在GitHub项目的根目录里,创建一个sotabench.py文件。里面可以包含:加载、处理数据集和从中得出预测所需的逻辑。每提交一个commit,这个文件都会运行。然后,用个开源的基准测试库来跑你的模型。这个库可以是sotabench-eval,这个库不问框架,里面有ImageNet等等数据集;也可以是torchbench,这是个PyTorch库,和PyTorch数据集加载器搭配食用更简单。

一旦成功跑起来,就可以进入下一步。

第二步,连接GitHub项目,sotabench会帮你跑:

点击这个按钮,连到你的GitHub账号,各种项目就显现了。选择你要测试的那个项目来连接。连好之后,系统会自动测试你的master,然后记录官方结果,一切都是跑在云端GPU上。测试环境是根据requirement.txt文件设置的,所以要把这个文件加进repo,让系统捕捉到你用的依赖项。

从此,每当你提交一次commit,系统都会帮你重新跑分,来确保分数是最新的,也确保更新的模型依然在工作。

这样一来,模型出了bug,也能及时知晓。

如果要跑别人家的模型,fork到自己那里就好啦。

目前,sotabench已经支持了一些主流数据集:

列表还在持续更新中,团队也在盛情邀请各路豪杰,一同充实benchmark大家庭。

既支持创建一个新的benchmark,也支持为现有benchmark添加新的实现。

你可以给sotabench-eval或torchbench项目提交PR,也可以直接创建新的Python包。

一旦准备就绪,就在sotabench官网的论坛上,发布新话题,团队会把你的benchmark加进去的:

好评如潮

这样的一项服务推出,网友们纷纷点赞,好评如潮,推特点赞600+。

有网友表示:

太棒了!对刚入门的新手来说,数据集获取、预处理和评估的自动化和标准化很有用。通过分析不同模型及其超参数结果,来评估这些模型,本身是挺困难的一件事,你得在各种论文中查阅大量的非结构化数据。有了这个,这件事就轻松多了。(部分意译)

许多网友对这个项目进行了友好的探讨及建议,而开发人员也在线积极回应。

比如这位网友建议:能在每次提交的时候报告模型的超参数吗?

作者很快回复说:英雄所见略同。下次更新就加上!

并且,他们还考虑在将来的更新中,让使用者把链接添加到生成模型的训练参数中。

传送门

sotabench官网:

https://sotabench.com/

基准测试库通用版:

https://github.com/paperswithcode/sotabench-eval

相关推荐