流批一體機器學習演算法平臺
釋出會傳送門 :https://developer.aliyun.com/live/2764?groupCode=cloudproduct
產品詳情 :
針對正在興起的機器學習廣泛而多樣的應用場景,阿里巴巴計算平臺基礎演算法團隊在2017年開始基於Flink研發新一代的機器學習演算法平臺。該專案名稱定為Alink,取自相關名稱(Alibaba, Algorithm, AI, Flink, Blink)的公共部分。經過三年的投入研發,Alink在演算法效能、演算法規模、演算法易用性等方面取得了不錯的成果,並實現了產品化。這使得資料分析和應用開發人員能夠輕鬆搭建端到端的業務流程。
在後面的篇幅中,我們將從演算法功能、演算法效能、使用者介面、視覺化等方面對Alink做一個系統的介紹。
演算法功能
Alink擁有豐富的批式演算法和流式演算法,能夠幫助資料分析和應用開發人員能夠從資料處理、特徵工程、模型訓練、預測,端到端地完成整個流程。如下圖所示,Alink提供的功能演算法模組中,每一個模組都包含流式和批式演算法。比如線性迴歸,包含批式線性迴歸訓練,流式線性迴歸預測和批式線性迴歸預測。另外,Alink演算法覆蓋分類、迴歸、聚類、評估、統計分析、特徵工程、異常檢測、文字、線上學習、關聯分析等經典領域,是一個通用的機器學習演算法平臺。
目前,Alink已經被阿里巴巴集團內部多個BU使用,並取得了不錯的業務提升。特別是在2019年天貓雙11中,單日資料處理量達到 970PB,每秒處理峰值資料高達 25 億條。Alink 成功經受住了超大規模實時資料訓練的檢驗,並幫助天貓產品推薦的點選率提高了4%。
演算法效能
下圖給出的是一些經典演算法與Spark的效能對比,透過該圖可以看出,Alink在大部分演算法效能優於Spark,個別演算法效能比Spark弱,整體是一個相當的水平。
但是,“在功能的完備性方面,Alink更有優勢”,Alink除了覆蓋Spark的演算法,還包含流式演算法、流批混跑、線上學習、中文分詞等。
使用者使用介面
為了提供更好的互動式體驗,我們提供兩種使用者使用介面: web和 PyAlink。
首先我們介紹一下web介面。Web介面提供拖拽的方式建立試驗,透過對每一個元件進行配置完成整個試驗的引數配置。下圖給出的是web介面建立的批式、流式、流批混合的試驗。
並且Alink可以支援節點的級別實驗執行狀態顯示。在各個演算法節點旁,我們用閃爍的小燈泡?表示“執行中”的狀態,用對勾✅表示“執行完成”的狀態。一般情況下,只有批式(batch)元件才有可能執行結束。基於各個元件的執行狀態,可以十分方便地判斷當前實驗執行到了什麼程度。並且,如果實驗執行中出現了報錯或者長時間不結束的情況,也能根據元件執行狀態更加方便地定位潛在出問題的元件。除了簡單的執行狀態以外,Alink還提供了檢視元件輸入、輸出資料量指標的功能。對於不同型別的元件,Alink提供了不同的指標展現方式:對於流式(stream)元件來說,在元件執行時,可以接近實時地看到元件的輸出BPS和RPS數值。而對於批式(batch)元件,在元件執行完成後,會展示總的輸出資料條數和位元組數。這些指標的展示對於判斷實驗/業務是否正常執行可以提供很多的參考,尤其對於一些線上實時的業務,透過這些指標就能直觀地看到是否正常執行。
下面我們繼續介紹PyAlink。為了滿足指令碼使用者的需求,我們提供了PyAlink on notebook,使用者可以透過PyAlink的python包使用Alink。PyAlink支援單機執行,也支援叢集提交。並且打通Operator(Alink運算元)和DataFrame的介面,從而使得Alink整個演算法流程無縫融入python。PyAlink也提供使用Python函式來呼叫UDF或者UDTF。PyAlink在notebook中使用如下圖,展示了一個模型訓練預測,並列印出預測結果的過程:
視覺化
Alink中的視覺化包括統計相關的視覺化、模型類視覺化以及評估視覺化等,當前能進行大屏視覺化的元件包括:統計分析類元件,直接展示的統計演算法的結果;機器學習模型類元件,展示訓練好的模型的資訊;評估類元件,展示評估介面。
下圖給出的是統計視覺化,透過下圖可以看到我們的統計視覺化支援視窗統計和累計統計,並且支援曲線、柱狀圖、統計表、矩陣圖等多種展示方式。
同樣,下面兩幅圖給出的是模型的視覺化和評估的視覺化。
總結展望
經過三年的發展,Alink已經成為一個功能完備的機器學習演算法平臺,而且已經在2019年FFA19將程式碼開源到社群,讓更多的人能夠使用這個平臺解決業務問題。雖然Alink開源已經取得了階段性成果,但是我們將繼續積極向FlinkML貢獻程式碼,我們希望將更多優秀的機器學習演算法貢獻給Flink專案,也希望和社群一起努力,共同促進Flink社群機器學習生態的發展和繁榮。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31550522/viewspace-2692817/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開源 | 全球首個批流一體機器學習平臺 Alink機器學習
- 阿里重磅開源全球首個批流一體機器學習平臺Alink,Blink功能已全部貢獻至Flink阿里機器學習
- FeatHub:流批一體的實時特徵工程平臺特徵工程
- Endeavour的機器學習平臺機器學習
- 流批一體的實時特徵工程平臺建設實踐特徵工程
- MLFlow機器學習管理平臺入門教程一覽機器學習
- 機器學習演算法一覽機器學習演算法
- 滴滴機器學習平臺架構演進機器學習架構
- 揭秘FACEBOOK未來的機器學習平臺機器學習
- 滴滴機器學習平臺架構演進之路機器學習架構
- 揭祕FACEBOOK未來的機器學習平臺機器學習
- tensorflow機器學習模型的跨平臺上線機器學習模型
- AI開發平臺系列2:整合式機器學習平臺對比分析AI機器學習
- 機器學習演算法機器學習演算法
- 如何構建一臺機器學習伺服器機器學習伺服器
- MediaPipe - 跨平臺機器學習應用開發框架API機器學習框架
- 真正的機器學習平臺根本不存在?機器學習
- 網易雲音樂機器學習平臺實踐機器學習
- 使用pmml實現跨平臺部署機器學習模型機器學習模型
- 一站式機器學習平臺Deepthought的建設與初探機器學習
- 頭歌實踐教學平臺-機器學習 --- PCA-答案機器學習PCA
- 機器學習演算法學習筆記機器學習演算法筆記
- 【機器學習】新手必看的十種機器學習演算法機器學習演算法
- 機器學習演算法:AdaBoost機器學習演算法
- (一) 機器學習和機器學習介紹機器學習
- Comet如何在GitLab DevOps平臺上簡化機器學習?Gitlabdev機器學習
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 從 0 開始機器學習 - 機器學習演算法診斷機器學習演算法
- 機器學習中的世代、迭代和批大小機器學習
- [流媒體]ijkplayer 播放器,android平臺使用說明播放器Android
- 【機器學習】機器學習建立演算法第1篇:機器學習演算法課程定位、目標【附程式碼文件】機器學習演算法
- 機器學習-習題(一)機器學習
- 用PMML實現機器學習模型的跨平臺上線機器學習模型
- Spark團隊開源新作:全流程機器學習平臺MLflowSpark機器學習
- 機器學習——梯度下降演算法機器學習梯度演算法
- 機器學習:整合演算法機器學習演算法
- 機器學習 10大演算法機器學習演算法
- educoder 機器學習 --- kNN演算法機器學習KNN演算法