小叽導讀:AI 應用在我們的生活中已經無處不在了。可是作為知識與人力密集型的 AI 應用,如果要獲得更好的效果,目前仍然需要重度依賴算法科學家。如何幫助 AI 應用快速落地?減少對于人的依賴,AutoML 已經成為炙手可熱的話題。今天,為你揭秘阿裡巴巴人工智能實驗室在 AutoML 方面做了哪些探索。
寫在最前面
AI 應用的落地離不開算法模型訓練,模型訓練的過程根據領域不同,需要不同的引擎、工具、資源,往往是比較耗時耗力的。人工智能實驗室有許多産品及應用,背後都有許多的模型訓練過程,才能使線上的産品不斷疊代,使得使用者的感受更加智能。從資料生産到模型訓練以及部署上線,我們在 AutoML 方面做了一些探索工作,并且從工程角度加快一個完整 AI 應用的疊代。
背景
目前一個 AI 應用的落地,一般會有以下幾個部分。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SYmZjMjV2N5IjZwczNycDOzgTN0YDMhlDOyQGM4YzYw8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
從上圖可以看出,一個完整的 AI 應用開發流程非常冗長,并且繁瑣,需要大量的人力與物力投入。在這裡虛線部分是我們總結出來可以自動化的部分。
現狀
AutoML 行業現狀(集團外)
上表是傳統機器學習與 autoML 的一個對比,以及一些代表的企業。
一句話總結:傳統機器學習需要專家參與機器學習的每一個步驟,而AutoML期望的是可以用同一種方式解決多個問題。
業務現狀
天貓精靈目前已使用的所有模型,都是已經經過算法專家們優化的,訓練參數已經相對穩定,基本不用修改。因而對于模型自動調參的需求并不強烈。真正的痛點在于,工作量大,模型效率不高,各階段互動成本高,資料安全限制。我們提出的 Auto AI 概念,正是從天貓精靈的實際業務場景出發,希望通過自動化,平台化,資料化的手段,以安全和高效為前提,來簡化我們的 AI 應用的落地。
下面我将具體闡述:
自動化:Auto AI 的使命是成為一個完全托管的全流程自動化 AI 應用平台。這項服務将涵蓋整個機器學習工作流程,用于标記和準備資料、選擇算法、訓練算法、調整和優化以進行部署、進行預測以及采取行動。通過自動化 pipeline 的思路,您的模型能夠以更少的工作量和更低的成本更快地投入生産。
平台化: Auto AI 将會将機器學習的所有工作流程,形成平台化産品工具,幫助科學家們在 AutoAI 的平台内,可以實作模型的資料整理,預處理流程的選擇,以及模型評價。在實際工作中,AutoML 完全替代算法工程師的難度是很大的。 因而我們将更多的時間花在如何讓科學家們更高效的訓練,釋出模型。 不同的算法類型,會有專門的平台進行操作,比如 NLP 算法平台,ASR 算法平台,圖像算法平台等等。
資料化:目前在 AI 領域内的一個普遍忽略點,在于我們缺乏對資料的追蹤和統計。這使得,我們整個 AI 應用的生産中出現不少盲點,比如我們花了多少錢在資料标注上,這些人工标注的資料的使用率有多少,這些資料對我們模型品質的提升幫助又有多少?人工标記的準率有多少?如果得到 這些資料,我們甚至可以幫助提高我們的人工資料标注品質,進而再進一步提高我們的模型品質。
我們希望的發展軌迹是:
高質高效的資料标注能力;
給與算法人員,定制預處理資料,特征資料的能力;
通過不同的模型進行嘗試,幫助算法人員找到最合适的模型訓練配置;
在模型的疊代階段能夠通過自動化來加速模型疊代的周期和品質;
給與模型直覺的評測名額;
模型能夠很友善地進行部署;
引入回歸測試平台,友善的幫助我們觀察部署的模型效果。
架構
從架構上來看,我們打通了整個 AI 應用的生命周期閉環。
通過方舟流程平台,原來需要手動串聯的流程,通過自動化平台進行自動化排程。
下文就上圖的各個環節進行闡述:
資料生産
随着目前以深度學習為代表的監督類模型訓練的蓬勃發展,海量與優質的标注資料能給模型帶來顯著的效果提升,因而資料生産是整個 AI 應用發展的助推劑。 人工智能實驗室,有着強大資料标注平台。
内置各種無人車、圖像、音頻、文本等标注資料類型,滿足高精度資料标注要求。
支援2D/3D圖像/點雲關聯的進階能力
支援2D/3D tracking 分組标注能力,并且對于每個分組中的标注項目數目沒有任何限制。
支援自定義模闆配置,滿足自定義标注的需求。
支援任務分發,完善的任務管理與任務跟蹤。
封閉訓練環境—資料安全的守護者
目前 AutoAI 支援多種類型的訓練環境。
阿裡機器學習平台的 tensorflow訓練環境。
在 AILabs 中,NLP 算法基本上都是在阿裡機器學習平台的 TensorFlow 上進行訓練。 AutoAI 封裝阿裡機器學習平台的 tensorflow 訓練環境,增加不同環境的算法版本管理。
自定義 docker 分布式訓練
AILabs 的聲學訓練需要使用到特定的聲學模型訓練架構,可是機器學習平台上目前并沒有相應的架構可供使用。AILabs 的算法工程師們聯合機器學習平台的同學打造了一個自定義聲學訓練架構的 dock 環境,通過這個 docker 環境進行模型訓練與資料處理。
PAI-speech 是基于 MR/MPI 與機器學習團隊一起打造的訓練引擎。
使用者通過 PAI-speech,在自定義的 custom PAI speech docker 上進行資料處理與模型訓練。
生成的模型存放到 mount 的 OSS 上。
在 AILabs 對于資料安全,有着天然使命的追求。 如何友善算法工程師進行開發調試,而又不會将訓練資料暴露出來?比較直接的想法是,我們創造出一個隔離的訓練環境,算法使用者,通過 console 進行操作,隔離高風險操作,比如資料導出等。這樣在隔離環境内,我們不限制使用者的操作,但又隔離了所有的危險操作,平滑了安全與易用的沖突。
業務平台
我們針對不同的算法業務線,孵化出多個業務平台。
資料生産平台
之前已經提到了,我們已經擁有了很出色的資料标注平台。 那資料如何進入标注平台,标注後的資料如何回流到資産管理?根據不同的業務方,他們一般會有不同的業務需求。
如何提高資料生産的效率,是 AI 應用中非常重要的一環,提高資料生産的效率,可以促進模型疊代的周期。
通過方舟流程平台進行流程編排,可以很友善地幫您将資料導入點金資料标注平台,進行人工标注。
NLP 算法平台
專門為NLP文本算法訓練的平台:
聲學訓練平台
部署和上線
在實際生産環境中,對于部署的版本控制是十分重要的。天貓精靈目前的部署和上線采用的是如下流程:
這個過程中,有着大量的人工交流的成本。 還有一個無法克服的問題,在于,目前的評測資料往往是 out-of-date, 大概幾個月都不更新。顯然這樣的評測資料,并不能精準的反應目前線上資料的變化。
因而我們提出了以下的改進模式:
整個過程除了最後 驗收人員判斷是否 上線以外,全程沒有人的參與,并且用最新的線上資料,反應模型對最新資料的适應能力。
特性
上面說了這麼多,讓我們來看看通過 autoAI 我們能夠做什麼吧。
主動學習-模型優化的助推器
主動學習在人工智能實驗室的 NLP 與 ASR AI 應用中有着廣泛的落地。通過 Active Learning有2個顯著的好處:
減少人工标注資料量;
與傳統随機抽樣人工标注對比,結合 active learning 能夠更快到達更好的效果。
下面以我們做的 ASR 的主動學習為例:
元件說明:
待标注資料集:由3部分資料構成:根據全量資料抽樣規則産生的原始資料标注;自動标注中的不可信結果;模型評測産生badcase。
特征檔案抽取:不管是标注資料,還是原始資料都是資産資料,是不能夠直接應用與算法開發的。因而需要從資料資産平台(藏金閣)将标注資料/原始資料轉換為特征檔案導出到 autoAI training。
autoAI training:上文提到的基于 PAI 的聲學自定義訓練環境。
雙Asr引擎: 經過标注資料訓練出來的2個不同算法的聲學模型。
選擇政策:雙Asr引擎一緻的,并且置信度超過門檻值的,進入待訓練資料集。
2個現有的 asr 模型标注後的結果進行對比,結果一緻并且置信度高的預測結果直接加入訓練集。
結果不一緻的或者置信度低的,進入待标注資料池,等待人工标注。
具體步驟:
雙 ASR 模型線上預測的方式嘗試自動标記訓練資料,根據選擇政策,将不确認的資料重新交由人工進行标注。而雙 ASR 校驗通過之後的資料可以直接跳過人工标注,進行下一步的訓練,大大降低了人工成本,與計算時間。
将人工與自動标注的資料合并進行模型訓練。
模型評測後的 badcase 重新流入待标注資料池,這部分 badcase 可以驗證新模型是否産生了新的 badcase 和是否修複了之前的 badcase。
判斷性能是否達到目标,重複步驟1-3。
一鍵式模型訓練
AutoAI 目前已經整合了 NLP 中常用深度學習算法,隻需極少的工作量和機器學習專業知識, 通過一次點選,就可完成訓練。在這裡沒有繁雜的配置,真正的一鍵模型訓練。 算法所需的參數,已經被我們封裝到了訓練模闆之中,根據不同的業務需求,選擇訓練模闆。如上文的 NLP 訓練平台截圖所示。
詳細的模型細節
詳細完整的模型評價細節,準确的反應出模型的學習拟合程度。
False Positive Examples 能夠反映模型的 badcase,更精準地幫助算法科學家了解模型的學習拟合程度。
全托管式的部署
可以一鍵将訓練出來的模型部署到預測伺服器上進行預測服務。同時支援灰階,與A/B測試,以及未來成千上萬的端上模型下發。
規劃
在目前階段 AutoAI 承接了人工智能實驗的大部分模型訓練,包括 NLP、聲學、圖像等。在滿足我們算法工程師更快更好的訓練模型以外,我們接下來會重點在以下方向發力:
結論
效率提升
通過引入 AutoAI ,我們大大縮短了一個模型的訓練周期;簡化了複雜業務的上線流程;增加了模型疊代次數。
安全
資料安全在人工智能實驗室作為人工智能實驗室的第一要務。如何保證使用者隐私資料不流出,如何保證标注資産資料可以在安全的環境裡使用。 AutoAI 的全流程,封閉式的訓練環境,讓所有的資料流轉都在平台内進行。使用者可以在平台上操作所有資料,而資料包括特征檔案,模型資料是不會離開平台的。
參考文獻:
Taking the Human out of Learning Applications: A Survey on Automated Machine Laring
強大資料标注平台 :
https://smartdata.taobao.com/