九章雲極DataCanvas DAT面世:端到端AutoML,把AI建模效率提升一百倍

語言: CN / TW / HK

給定一個數據集,如何找到一套高效解決問題的 AI 算法加超參數?對於機器學習開發者來説,這是需要耗費大量時間來完成的工作。不過近幾年來出現的自動機器學習工具 AutoML,用 AI 的方式讓構建 AI 的模型選擇、調參工作變成了全自動。

10 月 22 日,在 「2021 年數智化高峯論壇」上,九章雲極 DataCanvas 發佈的自動機器學習工具(DataCanvas AutoML Toolkit,DAT)又將 AutoML 的範圍拓展到了機器學習任務的全流程。

「從工具形態上來看,AutoML 目前已經具備獨立部署的條件了,」九章雲極 DataCanvas 資深架構師楊健説道。「實用化的框架會對這一領域帶來基礎支撐,其意義類似於 TensorFlow 和 PyTorch 之於深度學習——我們認為 AutoML 正需要這樣的工具來促進應用的鋪開。」

而且,九章雲極 DataCanvas 還希望通過完全開源的形式對社區作出更多貢獻。

讓端到端的 AutoML 成為可能

神經網絡設計是一項極為耗時的工作,其對專業知識的要求讓開發的門檻一直難以降低,而有了 AutoML 方法,神經網絡也可以設計神經網絡。

常規 AutoML 工具針對機器學習算法,面向超參數優化、特徵工程等任務,這類工具今天看已不能滿足企業的需求。近幾年人們陸續的一些定位為端到端的 AutoML 工具,提升了很多工作的效率,在機器學習社區也獲得了可觀的影響力。

但九章雲極 DataCanvas 認為,這還不是真正意義上的端到端自動建模——在機器學習的任務流程中,人們還要面臨數據不均衡、數據漂移、模型泛化、大規模數據建模等問題的挑戰。

如果 AutoML 工具不能自動化地解決這些問題,就很難成為工業界 AI 建模的核心。「在企業智能化轉型的過程中,自動化意味着脱胎換骨的改造,應用 AI 不僅意味着使用新技術,還觸及到了企業的管理模式、技術架構、運營體系。要想轉型,我們需要做很多努力。」楊健説道。

DAT 被設計成技術棧的形式,分清了層次和框架,提供了很多開箱即用的工具,可處理結構化、非結構化數據,如果無法滿足需求,用户可以使用底層框架自由構建出符合業務需求的算法。

在這裏,工程師們把 AutoML 的過程抽象成由一系列 Step 組成的實驗,通過數據管道串聯,一個實驗的 Step 可以組裝,數據不均衡、數據漂移等問題都有專門的 Step 去處理,而且隨時可以針對不同場景的挑戰擴展 Step。

DAT 的工具棧可以分為三層:首先是最底層的 AutoML 框架 Hypernets、機器學習和深度學習框架,中間是 AutoML 工具如 DeepTables、最上層是應用工具:HyperGBM、HyperDT、HyperKeras、Cooka。

DataCanvas · GitHub

  • https://github.com/DataCanvasIO/Hypernets

  • https://github.com/DataCanvasIO/HyperGBM

  • https://github.com/DataCanvasIO/HyperKeras

  • https://github.com/DataCanvasIO/DeepTables

機器學習框架 Hypernets 到輕量級、圖形化的自動建模系統

Cooka,當前的 AutoML 不僅可以參與建模過程,還能將自動生成的 AI 模型更快投入到實踐中。

整個 DAT 工具棧以面向任務分類,可以同時滿足結構化數據的建模和非結構化數據(CV、NLP)的建模,覆蓋了從數據工程師、AI 開發者、AutoML 工具開發者、再到非技術背景人員的廣大範圍。

這套工具無需綁定特定的雲服務或硬件,只需要電腦設置好 Python 等環境就可以上手,也支持大規模數據和集羣計算。

DAT 的目標是打造 AutoML 的全方位能力,並不只針對某一個建模的場景和目標,目前市面上還沒有哪個產品和 DAT 的定位是完全重合的。

節約百倍開發時間

作為一個高度獨立且開源的產品,DAT 相對其他 AutoML 工具有很大優勢。

首先是使用最好的技術,九章雲極 DataCanvas 內置了幾種對高維空間非常有效的搜索算法,包括蒙特卡洛樹搜索、強化學習算法、進化算法,並引入了元學習(Meta-learning)方法來加速搜索過程,利用歷史搜索和評估結果來更準確和高效的指導搜索方向,減少搜索迭代次數。

在 AutoML 的實際應用過程中,真正消耗算力的部分是模型評估。一個基本的搜索過程是:從搜索空間中採樣、評估樣本效果、反饋給搜索算法指導下次採樣的方向,然後重複這個過程直到找到滿意的樣本。

「我們引入了很多方法來降低評估成本,比如低保真預熱、同路徑數據鏈路緩存、模型訓練的 Pruning 等等。HyperGBM 通常只需要人工單次訓練時間的 10 倍左右的時間就可以完成整個 AutoML 的過程,從總成本上看大大優於人工建模。」楊健説道。

DAT 在 notebook 中的可視化運行圖。

在實際環境中,機器學習模型經常會遭遇「概念漂移」的挑戰:AutoML 在靜態數據下表現很好,但實際應用場景下,數據是實時產生的,特徵也在不斷髮生變化。如何在這樣的情況下保持足夠高的判斷水準?

在 DAT 中,這個問題也是可以被自動處理的,其引入了一個半監督學習方法——對抗驗證(Adversarial Validation),這一思想來自於 GAN。通過這種半監督的方法,我們不需要看到真實結果(y-true)就可以評估是否發生了數據漂移,哪些特徵發生了漂移,然後對它們做相應的處理。

在傳統機器學習建模過程中,開發者需要反覆實驗,進行特徵處理、模型選擇、調參等等工作,訓練一個實用化模型至少要幾十到上百次的反覆訓練。相比人力,AutoML 帶來的效率提升可以達到上百倍。手工建模需要數週數月的時間,AutoML 可以在一天以內完成。如果一個實習生從零開始學習使用 DAT 構建算法,只需要兩個星期時間就能提交結果,很多工作只需要幾十行代碼。

而且使用 DAT 完成的效果更穩定。「手工建模的質量取決於個人的能力,有很大的不確定性,AutoML 的算法不會有這樣的問題。」楊健説道。

對陣 Kaggle 大師,獲得數據競賽冠軍

如果像自動駕駛一樣把 AutoML 的自動化程度進行分級的話,它的發展速度相對更快:Level 2 可以對應 XGboost 這樣的機器學習包,Level 3 對應自動化調參的算法優化工具,Level 4 可以實現端到端自動化建模,對應如今的 DAT;而 AutoML 最終的目標是完全不依賴領域專家的建模,甚至是根據數據變化自我進化的系統。

由於 DAT 是開源的,人們可以自行安裝使用、感受 AutoML 的能力:其中的兩個工具 DeepTables 和 HyperGBM 和谷歌 AutoML Tables 同樣能解決結構化數據建模問題,在幾個公開數據集的測試上看 Google AutoML Tables 要比 DAT 慢一個量級,而且谷歌的工具是雲服務的一部分,需要先付費。

AutoML 自動生成的算法除了能夠節省開發時間,實際工作的準確度如何?早在 DeepTables 工具剛剛構建完成時,九章雲極 DataCanvas 的開發人員就參加了著名機器學習競賽平台 Kaggle 的 Categorical Feature Encoding Challenge II 比賽,測試了自動機器學習算法的水平,並獲得了成功。

「我們希望用這個機會驗證 DeepTables 的實際水平,」楊健説道。「整個比賽經歷 3 個多月的時間,有來自全球的將近 1200 個團隊,還有好幾個 Kaggle 的 Grand Master level 的大神,像 Bojan Tunguz、Sergey Yurgenson 等,」

九章雲極 DataCanvas 的方案比較簡單,主要就是為了驗證 DeepTables,數據沒有做太多處理,調用了 DT 內部網絡架構的幾個參數,作為 AutoML 工具 DT 內部預置了很多網絡架構,可以任意地組裝和排列。

團隊最終選出了 4 種不同的網絡組合,再融合在一起,獲得了很好的結果。需要注意的是,比賽存在 Public 和 Private 兩個榜單,這意味着參賽模型需要有足夠的泛化能力——經過太多調參的模型會趨向於過擬合,在 Kaggle 大部分競賽中都會出現 Public 榜上排名前幾十名的方案,在 Private 榜上集體排名下降的情況。

DeepTables 在比賽中兩個榜單都排到了第一名——這意味着使用 AutoML 自動生成的算法,性能超越了眾多 Grand Master 手動調出的水平。

速度更快,性能更好,應用門檻還更低,這讓人們沒有理由不去嘗試 AutoML。

九章雲極 DataCanvas 表示,未來還希望進一步降低門檻,提供更面向前端用户的建模工具以及支持更廣泛的場景模型任務類型,並進行實時分析方向的一些開源探索。

「其他文章」