流批一体机器学习算法平台
發(fā)布會傳送門
產(chǎn)品詳情
針對正在興起的機器學習廣泛而多樣的應用場景,阿里巴巴計算平臺基礎算法團隊在2017年開始基于Flink研發(fā)新一代的機器學習算法平臺。該項目名稱定為Alink,取自相關名稱(Alibaba, Algorithm, AI, Flink, Blink)的公共部分。經(jīng)過三年的投入研發(fā),Alink在算法性能、算法規(guī)模、算法易用性等方面取得了不錯的成果,并實現(xiàn)了產(chǎn)品化。這使得數(shù)據(jù)分析和應用開發(fā)人員能夠輕松搭建端到端的業(yè)務流程。
在后面的篇幅中,我們將從算法功能、算法性能、用戶界面、可視化等方面對Alink做一個系統(tǒng)的介紹。
- 算法功能
 
Alink擁有豐富的批式算法和流式算法,能夠幫助數(shù)據(jù)分析和應用開發(fā)人員能夠從數(shù)據(jù)處理、特征工程、模型訓練、預測,端到端地完成整個流程。如下圖所示,Alink提供的功能算法模塊中,每一個模塊都包含流式和批式算法。比如線性回歸,包含批式線性回歸訓練,流式線性回歸預測和批式線性回歸預測。另外,Alink算法覆蓋分類、回歸、聚類、評估、統(tǒng)計分析、特征工程、異常檢測、文本、在線學習、關聯(lián)分析等經(jīng)典領域,是一個通用的機器學習算法平臺。
目前,Alink已經(jīng)被阿里巴巴集團內(nèi)部多個BU使用,并取得了不錯的業(yè)務提升。特別是在2019年天貓雙11中,單日數(shù)據(jù)處理量達到 970PB,每秒處理峰值數(shù)據(jù)高達 25 億條。Alink 成功經(jīng)受住了超大規(guī)模實時數(shù)據(jù)訓練的檢驗,并幫助天貓產(chǎn)品推薦的點擊率提高了4%。
- 算法性能
 
下圖給出的是一些經(jīng)典算法與Spark的性能對比,通過該圖可以看出,Alink在大部分算法性能優(yōu)于Spark,個別算法性能比Spark弱,整體是一個相當?shù)乃健?/p>
但是,“在功能的完備性方面,Alink更有優(yōu)勢”,Alink除了覆蓋Spark的算法,還包含流式算法、流批混跑、在線學習、中文分詞等。
- 用戶使用界面
 
為了提供更好的交互式體驗,我們提供兩種用戶使用界面:web和PyAlink。
首先我們介紹一下web界面。Web界面提供拖拽的方式創(chuàng)建試驗,通過對每一個組件進行配置完成整個試驗的參數(shù)配置。下圖給出的是web界面創(chuàng)建的批式、流式、流批混合的試驗。
并且Alink可以支持節(jié)點的級別實驗運行狀態(tài)顯示。在各個算法節(jié)點旁,我們用閃爍的小燈泡表示“運行中”的狀態(tài),用對勾表示“運行完成”的狀態(tài)。一般情況下,只有批式(batch)組件才有可能運行結束。基于各個組件的運行狀態(tài),可以十分方便地判斷當前實驗運行到了什么程度。并且,如果實驗運行中出現(xiàn)了報錯或者長時間不結束的情況,也能根據(jù)組件運行狀態(tài)更加方便地定位潛在出問題的組件。除了簡單的運行狀態(tài)以外,Alink還提供了查看組件輸入、輸出數(shù)據(jù)量指標的功能。對于不同類型的組件,Alink提供了不同的指標展現(xiàn)方式:對于流式(stream)組件來說,在組件運行時,可以接近實時地看到組件的輸出BPS和RPS數(shù)值。而對于批式(batch)組件,在組件運行完成后,會展示總的輸出數(shù)據(jù)條數(shù)和字節(jié)數(shù)。這些指標的展示對于判斷實驗/業(yè)務是否正常運行可以提供很多的參考,尤其對于一些線上實時的業(yè)務,通過這些指標就能直觀地看到是否正常運行。
下面我們繼續(xù)介紹PyAlink。為了滿足腳本用戶的需求,我們提供了PyAlink on notebook,用戶可以通過PyAlink的python包使用Alink。PyAlink支持單機運行,也支持集群提交。并且打通Operator(Alink算子)和DataFrame的接口,從而使得Alink整個算法流程無縫融入python。PyAlink也提供使用Python函數(shù)來調(diào)用UDF或者UDTF。PyAlink在notebook中使用如下圖,展示了一個模型訓練預測,并打印出預測結果的過程:
- 可視化
 
Alink中的可視化包括統(tǒng)計相關的可視化、模型類可視化以及評估可視化等,當前能進行大屏可視化的組件包括:統(tǒng)計分析類組件,直接展示的統(tǒng)計算法的結果;機器學習模型類組件,展示訓練好的模型的信息;評估類組件,展示評估接口。
 下圖給出的是統(tǒng)計可視化,通過下圖可以看到我們的統(tǒng)計可視化支持窗口統(tǒng)計和累計統(tǒng)計,并且支持曲線、柱狀圖、統(tǒng)計表、矩陣圖等多種展示方式。
同樣,下面兩幅圖給出的是模型的可視化和評估的可視化。
- 總結展望
 
經(jīng)過三年的發(fā)展,Alink已經(jīng)成為一個功能完備的機器學習算法平臺,而且已經(jīng)在2019年FFA19將代碼開源到社區(qū),讓更多的人能夠使用這個平臺解決業(yè)務問題。雖然Alink開源已經(jīng)取得了階段性成果,但是我們將繼續(xù)積極向FlinkML貢獻代碼,我們希望將更多優(yōu)秀的機器學習算法貢獻給Flink項目,也希望和社區(qū)一起努力,共同促進Flink社區(qū)機器學習生態(tài)的發(fā)展和繁榮。
原文鏈接
 本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結
以上是生活随笔為你收集整理的流批一体机器学习算法平台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 何为真正的 FaaS ?阿里舜天平台做了
 - 下一篇: OAM创始团队:揭秘OAMKuberne