華爲諾亞實驗室AutoML框架-Vega:(1) 介紹

華爲諾亞實驗室AutoML框架-Vega:(1) 介紹
本文主要簡單地介紹Vega的特點以及它與其他AutoML框架的區別,讓你對Vega有一個直觀的理解。
文章太長不看可以直接降落至最後的總結部分。
huawei-noah/vega​github.com
圖標

1. 現有AutoML框架總結

目前已經出現了很多AutoML開源框架,可以大致分成兩類:

  • 一類是基於傳統機器學習算法,例如 TPOTAuto-Sklearn、 HyperoptH2O 如果你不需要神經網絡的話則可以考慮使用這幾個框架。
  • 另一類則是基於神經網絡的AutoML框架,比較流行的有 NNI、 Auto-kears 以及本篇文章要介紹的華爲諾亞方舟實驗室開源的 Vega 框架。

2. Auto-Keras & NNI

在介紹Vega之前,首先簡單介紹一下Auto-Keras和NNI。

  • Auto-Keras,看名字也知道它是基於Keras實現的,換句話說它只支持TensorFlow,目前最新版本的要求是Python >= 3.5 and TensorFlow >= 2.3.0,因此如果你常用的框架是Pytorch,這個可能不適合你。
  • NNI是微軟開發的輕量型AutoML工具包,如下圖示,其提供的功能非常豐富,包括自動特徵工程、NAS(神經網絡架構搜索)、模型壓縮、超參數搜索等等,而且還提供了可視化界面方便管理。我本人也用過NNI的NAS模塊,易用性非常高。NNI將搜索空間和搜索算法解耦,而且設計了一種統一的接口,可以很方便地實現你的NAS算法,具體可看官方文檔介紹:

3. Vega

Vega是華爲諾亞方舟實驗室自研的AutoML算法工具鏈(),有如下幾個主要特點。

3.1 完備的AutoML能力

Vega涵蓋HPO(超參優化, HyperParameter Optimization)、Data-Augmentation、NAS(網絡架構搜索, Network Architecture Search)、Model Compression、Fully Train等關鍵功能,同時這些功能自身都是高度解耦的,可以根據需要進行配置,構造完整的pipeline。

乍看起來,你也許會覺得這個NNI很相似,但是正如前面介紹的,NNI其實是一個輕量型的工具包,也就是說你如果只需要實現某一個具體的功能,例如NAS或者模型壓縮,那NNI是一個很好的選擇,但是如果你希望將多個功能組合成一個完整的pipeline(如下圖示),那麼你需要的是Vega。

Vega解決的思路是將每一個功能(如模型壓縮和NAS等)都抽象成一個具有統一接口的PipeStep類,通過遍歷每個Step實現端到端的Pipeline,具體的實現原理在後續文章中會介紹。

3.2 業界標杆的自研算法

Vega提供了諾亞方舟實驗室自研的 業界標杆 算法,並提供 Model Zoo 下載SOTA(State-of-the-art)模型。

3.3 高併發模型訓練能力

Vega提供高性能Trainer,加速模型訓練和評估。Vega設計了Scheduler模塊,可以很方便的管理本地集羣部署等任務。

3.4 多Backend支持

Vega支持PyTorch,TensorFlow,MindSpore。雖然NNI也支持多種深度學習框架,但是Vega對不同框架的算子設計了統一接口。而且你可以只需要指定要運行的Backend即可切換至不同的深度學習框架。

3.5 可插拔式

Vega採用可插拔式的配置方法,你可以只需要修改yml文件中的參數就能靈活地切換不同數據集、算法等組件,換句話說你可以基於Vega搭建屬於你自己的工具庫,因此在處理一個新項目的時候,你可以很方便地複用你之前的工作成果。

3.6 提供多個特色模塊

Vega提供了豐富的搜索空間,你可以很方便地自定義你的搜索空間快速驗證你的idea。另外Vega還提供了Report模塊,該模塊可以很方便地管理訓練過程中的各種日誌等信息,使用起來更加簡單順手。

4. 總結

通過上面介紹我們知道Vega和NNI都是提供了非常豐富的功能的AutoML框架,區別在於NNI定位於輕量型的工具包,所以如果你只想實現NAS算法或者模型壓縮,那麼你可以使用NNI來驗證你的想法。Vega則定位於從Pipeline的角度來解決AutoML問題,因此使用Vega有一定門檻,需要你學習它的設計理念和代碼邏輯,但是如果你掌握之後,你會發現Vega的易用性是不輸NNI的,本系列文章主要是一起來學習Vega,然後搭建屬於你自己的工具庫。

微信公衆號:AutoML機器學習

MARSGGBO♥原創
如有意合作或學術討論歡迎私戳聯繫~
郵箱:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章