「下一代」機器學習系統:AutoML 在拍拍信的實踐

導讀:以機器學習,特別是深度學習為代表的人工智能迅速發展,將深刻改變人類社會生活、改變世界。而這都依賴於大數據及其數據分析能力,大規模機器學習和深度學習平臺為其核心部分。因此,對有意嘗試或導入 AI 的企業來說,“讓機器學習得以自動化”具有很大的吸引力。比如微軟的 CustomVision.AI、谷歌的 Cloud AutoML,國內如第四範式、智鈾科技等公司也推出了 AutoML 平臺。本文介紹拍拍信的AutoML 實踐之路。

“下一代”機器學習系統:AutoML 在拍拍信的實踐

AutoML 簡介

AutoML 的概念源自 2012 年學術界提出一個新觀念

——Programming by Optimization(PbO),旨在於解決編程時人工調校參數的問題。機器學習(Machine Learning) 是一個相對複雜的且需要相當專家經驗的開發過程,涵蓋數據採集-數據清洗-特徵工程-模型超參優化-模型驗證等步驟。AutoML致力於自動化完成以上過程,有效降低開發成本以及准入門檻。

AutoML 簡介

1. Work Flow 拍拍信AutoML主要工作流程如下如所示,涵蓋數據讀取-特徵預處理-模型自動化訓練、迭代-自動化部署等過程。在使用時相對簡單,只需指定聲明相應的學習任務(分類或者回歸),並在對應的訓練樣本上進行模型訓練即可,同時實現一鍵式自動化模型部署。

“下一代”機器學習系統:AutoML 在拍拍信的實踐

2. 核心 “黑箱”介紹

2.1 Auto Feature Preprocessing

自動化完成特徵基本檢查,包括數值型/分類型變量檢測、缺失值檢測、特徵異常值檢測等,同時實現缺失值填充、異常值處理、Feature Normalization、 分類型變量處理等。

2.2 Auto Hyper Parameter Optimization

機器學習模型超參優化一般認為是一個黑盒優化問題,模型的訓練過程是相對耗時的,因此需要有更“準確和高效”的方法來調優超參數,進行模型的自動化優化迭代。拍拍信AutoML支持Genetic algorithm(遺傳算法)、Particle Swarm Optimization(粒子群優化)、Bayesian Optimization(貝葉斯優化)、TPE等超參優化算法,有效提高模型訓練效率。

2.3 Auto Model Deployment 經過模型訓練後會產生相應的模型,而最終目的是將模型應用到新的數據中。支持模型自動化部署以及自動化升級,支持高併發的在線預測和大批量的離線預測,滿足用戶不同使用場景。在模型上線後,在實際生產環境中如何進行快速擴容/資源回收是一個非常重要的問題。 支持模型容器化部署,將算法模型直接打包成docker image 文件,直接部署於K8S集群上。

AutoML Action on Deep Learning

自動化神經網絡架構搜索

神經網絡架構搜索NAS問世多年,但高昂算力和時間成本嚴重限制了深度學習在自動化和平臺化方向的進一步發展。

2018年2月推出的Efficient Neural Architecture Search via Parameter Sharing(ENAS)首次為深度學習的自動化提供了一種實現可能。它通過對於結構搜索,驗證計算和參數優化等方面的簡化和改革,取得了一個開發深度神經網絡的效率與效果的平衡。

ENAS能夠以單顯卡在10小時自動設計出一個極為優秀的深度神經網絡

● 圖像分類的模型在CIFAR-10得分僅次於DenseNet

● NLP的模型在Penn Treebank測試中創造了新的記錄(state-of-art)

本質上ENAS是一個巧妙設計的黑盒優化架構。它通過引入pre-node index將結構參數化,並利用該架構節點數量及種類固定的特點實現了參數共享,藉此大大降低了計算量。通過該黑盒優化就能以遠低於傳統神經網絡架構搜索的時間和算力找出最優的結構和參數。

當然在實現超高效搜索的同時,ENAS也做出了不少妥協:

● 結構設計受限(單向全連接),複雜度較低(固定節點個數和種類)使得它註定不能像人類專家一樣設計出精妙的結構

● 參數共享使得評估結構的公平性不足,遠非理論最優

● 優化迭代時只取最優結構和參數不利於搜索的穩定性

● 在線評估(inference)限制了訓練超參(dropout-rate, learning-rate等)的優化

雖然在設計模型的複雜程度,優化及評估方式上仍有待提高.但ENAS在深度學習最為廣泛應用的兩個領域,圖像和自然語言處理上,自動化地設計出了不亞於資深專家的模型.它也因此受到了學界的認可。目前的開源代碼僅提供了RNN,CNN整網,以及CNN處理層三個主要針對圖像和NLP的設計功能,在處理其他任務時需要進行較大量的二次開發.並且在得出最優結構設計後,還要對參數進行大量在再訓練才能達到預期的效果,所以到商業化之前還要繁多的理論和開發工作需要跟進。目前我們正在積極開發基於ENAS架構的商業化自動深度學習平臺,目標是在圖像和自然語言處理的基礎上開發更為定製的貼合客戶實際應用場景的自動平臺方案。

總結

AutoML讓機器學習變成是真正的 “機器” 學習,把經驗性的工作自動化,能極大地降低未來機器學習的門檻,提高人工智能的適用領域。


分享到:


相關文章: