看到灵魂调参师 @Justin ho 的朋友圈顺手转了下,结果被报道了 https://mp.weixin.qq.com/s/ChYLuxGxsQK0g6MImimSDQ
不过我们确实观察到了相似的结论。AutoML使用大概15倍於单次训练的代价,得到的结果可能比手调的要好。这个主要是对于CV而言,尤其是detection模型,预计GluonCV里面模型很快赢来一大波提升。
但更一般的AutoML还是比较难。例如Tabular数据的,很多时候手工设计的特征还是挺好。
AutoGluon取了一个巧,我们目前只支持GluonCV和GluonNLP里面的任务,和额外的Tabular数据(因为一个小哥之前有过经验)。所以我们可以把以前的很有经验东西放进去来减小搜参空间,从而提升速度。
当然AutoGluon还是早期项目,我本来想是让团队再开发一些时间再公开。还有太多有意思的应用、演算法、硬体加速可以做的。非常欢迎小伙伴能一起贡献。
AutoGluon 这个项目是我在产假期间开始做的,所以对她的感情像我的女儿一样。第一个commit基本上包含了 AutoGluon 这个项目的整体设计。个人认为从 API 角度,AutoGluon 是调参工具里面设计最为精巧的,可以通过加几行代码,就可以轻松地将已有的 python 代码转化为可以搜索的主函数,并且开始搜索:
@ag. args(
batch_size=128,
lr=ag.Real(1e-4, 1e-2))
def train_fn(args, reporter=None):
print(args.lr, args.batch_size)
reporter(epoch=0, accuracy=0.9)
myscheduler = ag.scheduler.FIFOScheduler(train_fn, num_trials=25)
myscheduler.run()
系统里面每一个部分都是模块化的,便于扩展,下面给一个系统图: