看到靈魂調參師 @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()
系統裡面每一個部分都是模塊化的,便於擴展,下面給一個系統圖: