雲栖号資訊:【 點選檢視更多行業資訊】
在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

「AI技術生态論」人物訪談欄目是CSDN發起的百萬人學AI倡議下的重要組成部分。通過對AI生态頂級大咖、創業者、行業KOL的訪談,反映其對于行業的思考、未來趨勢的判斷、技術的實踐,以及成長的經曆。2020年,CSDN将對1000+人物進行訪談,形成系列,進而勾勒出AI生态最具影響力人物圖譜及AI産業全景圖!
每次購物狂歡都是技術平台的一場資料“博弈”。去年雙十一,阿裡旗下的電子商務平台天貓就再一次重新整理了資料記錄,而強大的系統處理性能更是讓業界敬佩不已:單日資料處理量達到970PB,每秒處理峰值資料高達25億條,并幫助天貓産品推薦的點選率提高了4%——這一連串的資料背後,離不開Alink的支撐。
作為業界同時支援批式算法、流式算法的機器學習平台之一,Alink基于Flink開發而來,提供了豐富的算法元件庫和便捷的操作架構,且目前已被廣泛運用在阿裡内部的搜尋、推薦、廣告等多個核心實時線上業務中,以及支援Kafka、HDFS和HBase等一系列開源資料存儲平台。
在本文中,CSDN有幸采訪到了Alink創始人楊旭,他将從一線開發的視角,帶我們了解這個開源機器學習平台的技術路徑、典型應用案例及發展規劃等内容。
楊旭,機器學習Alink創始人,阿裡巴巴集團計算平台事業部的資深算法專家,阿裡雲機器學習算法平台PAI中基礎機器學習算法的負責人。
1.Alink衍生背景:算法工程師的開發訴求
随着大資料時代的到來和人工智能的崛起,機器學習所能處理的場景更加廣泛和多樣。建構的模型需要對批量資料進行處理,為了達到實時性的要求還需要直接對流式資料進行實時預測,還要具備将模型應用在企業應用和微服務上能力。為了取得更好的業務效果,算法工程師們需要嘗試更多更複雜的模型,需要處理更大的資料集,使用分布式叢集已經成為常态;為了及時對市場的變化進行反應,越來越多的業務選用線上學習方式直接處理流式資料、實時更新模型。
楊旭解釋道,“我們團隊一直從事算法平台的研發工作,感受到了高效能的算法元件和便捷操作平台對開發者的幫助。”針對正在興起的機器學習廣泛而多樣的應用場景,他和所帶領的團隊在2017年開始基于Flink研發新一代的機器學習算法平台,使得資料分析和應用開發人員能夠輕松搭建端到端的業務流程。
2.Alink究竟是什麼?
Alink 是阿裡巴巴計算平台事業部PAI團隊從2017年開始基于實時計算引擎 Flink 研發的新一代機器學習算法平台,提供豐富的算法元件庫和便捷的操作架構,開發者可以一鍵搭建覆寫資料處理、特征工程、模型訓練、模型預測的算法模型開發全流程。項目之是以定為Alink,是取自相關名稱(Alibaba, Algorithm, AI, Flink, Blink)的公共部分。
借助Flink在批流一體化方面的優勢,Alink能夠為批流任務提供一緻性的操作。楊旭提到,在2017年初,他們通過調研團隊看到了Flink在批流一體化方面的優勢及底層引擎的優秀性能,于是基于Flink重新設計研發了機器學習算法庫,即Alink平台。該平台于2018年在阿裡集團内部上線,随後不斷改進完善,在阿裡内部錯綜複雜的業務場景中鍛煉成長。
“作為業界首個同時支援批式算法、流式算法的機器學習平台,Alink 提供了 Python 接口,開發者無需 Flink 技術背景也可以輕松建構算法模型。”
據楊旭介紹,Alink 已被廣泛運用在阿裡巴巴搜尋、推薦、廣告等多個核心實時線上業務中。在此前落幕的天貓雙 11 中,單日資料處理量達到 970PB,每秒處理峰值資料高達 25 億條。Alink 成功經受住了超大規模實時資料訓練的檢驗,并幫助提升 4% CTR(商品點選轉化率)。
3.Alink功能簡介
1、豐富的算法庫
Alink擁有豐富的批式算法和流式算法,幫助資料分析和應用開發人員能夠從資料處理、特征工程、模型訓練、預測,端到端地完成整個流程。如下圖所示,Alink提供的開源算法子產品中,每一個子產品都包含流式和批式算法。比如線性回歸,包含批式線性回歸訓練、流式線性回歸預測和批式線性回歸預測。
2、友好的使用體驗
“為了提供更好的互動式和可視化體驗,我們在開源的同時推出了PyAlink,使用者可以通過PyAlink的Python包以notebook的方式使用Alink。”楊旭表示,PyAlink不僅支援單機運作,也支援叢集送出,并且打通了Operator(Alink算子)和DataFrame的接口,進而使得Alink整個算法流程無縫融入Python。PyAlink也提供使用Python函數來調用UDF或者UDTF。PyAlink在notebook中使用如下圖,展示了一個模型訓練預測,并列印出預測結果的過程。
3、與Spark對比
在離線學習算法方面,Alink 跟 SparkML 性能對比基本相當,下圖給出的是一些經典算法的性能對比:
通過上圖可以看出,Alink在大部分算法性能優于Spark,個别算法性能比Spark弱,整體是一個相當的水準。
但是,“在功能的完備性方面,Alink更有優勢”,Alink除了覆寫Spark的算法,還包含流式算法、流批混跑、線上學習、中文分詞等。
4.阿裡和Alink的開源之路
在2018年,GitHub新增活躍使用者數量超過了前六年的總和,相較于2017年新增了40%的組織機構和30%的代碼倉庫。從全球趨勢來看,開源無疑是軟體發展的大勢所趨。目前在國内,阿裡是貢獻開源最出色的企業。GitHub上有大量的開源項目由阿裡建立,據阿裡經濟體GitHub開源生态報告統計,國内Top10的開源項目中,阿裡的開源項目有6個。
在談Alink開源之前,楊旭首先介紹了與之相關的Flink與FlinkML。“Flink是一個面向資料流處理和批量資料處理的可分布式的開源計算架構,我們看好Flink引擎的優秀性能,希望基于Flink解決流程機器學習場景的問題。”FlinkML為Flink自帶的機器學習算法庫,分為舊的版本和新的版本。“在做Alink前,我們首先認真調研了當時的FlinkML(即舊版本FlinkML)的情況,其僅支援10餘種算法,支援的資料結構也不夠通用,在算法性能方面做的優化也比較少,而且其代碼也很久沒有更新。是以,我們放棄了基于舊版FlinkML進行改進、更新的想法,決定基于Flink重新設計研發機器學習算法庫,随後發展為現在的Alink。”
Alink在發展的過程中一直與Flink社群緊密關聯,在每年的Flink Forward大會上,團隊一直有彙報項目的進展,共同探讨技術問題,擷取回報和建議。随着Alink功能的不斷增強和完善,“社群中歡迎Alink進行開源的呼聲日益高漲,我們也開始和Flink社群更緊密聯系,推動開源Alink的代碼進入FlinkML。”
與此同時,社群中更多的人意識到舊版FlinkML的問題,決定整個廢棄掉舊版FlinkML,建設新版FlinkML。“我們積極參加新版FlinkML API的設計,分享Alink API設計的經驗;Alink的Params等概念被社群采納;之後開始為新版FlinkML貢獻算法實作代碼,已送出了40餘個PR,包括算法基礎架構、基礎工具類及若幹算法實作。”
Alink包含了非常多的機器學習算法,在向FlinkML貢獻的過程中,需要社群commiter的讨論設計與審查代碼,這個過程有助于代碼的精益求精,但由于社群commiter的資源有限,代碼完全貢獻到FlinkML的過程會持續很長時間。“這時,我們不得不考慮是否有其他方式,可以讓使用者先用起來”,“Alink單獨開源是個很好的解決方式”,它與向FlinkML繼續貢獻算法實作,可以同時進行。使用者的使用回報也有助于更好的改進算法實作。
此想法獲得了社群的支援,獲得了阿裡内部的支援,在Flink Forword Asia 2019大會上,Alink正式宣布開源。
目前,Alink開源已經四個多月,在這段時間裡Alink在開源社群的聲望越來越高,Alink在Github上已經有2000多顆Star,400多次fork。楊旭感歎道,“目前為止,我們的開源使用者群已經将近1000人,并且已經有多位社群開發者向Alink送出算法code,有幾十位社群的Alink使用者向我們提出Alink算法bug或者算法改進需求。Alink開發團隊也積極和社群互動,共同推進Alink平台的發展。”一方面,Alink團隊積極支援社群用使用Alink,幫助數百位社群使用者解決他們在使用Alink算法遇到的困難。另一方面,針對社群使用者提出的算法bug和算法改進需求,Alink團隊第一時間作出響應,對這些bug和改進需求進行排期,并在開發完成後及時開源到社群,解決社群使用者的需求。
“雖然Alink的開源已經取得了階段性成果,我們仍然在積極向FlinkML貢獻代碼”,楊旭最後表示,他希望将更多優秀的機器學習算法貢獻給Flink項目,也希望和社群一起努力,共同促進Flink社群機器學習生态的發展和繁榮。
【雲栖号線上課堂】每天都有産品技術專家分享!
課程位址:
https://yqh.aliyun.com/live立即加入社群,與專家面對面,及時了解課程最新動态!
【雲栖号線上課堂 社群】
https://c.tb.cn/F3.Z8gvnK
原文釋出時間:2020-04-07
本文作者:CSDN App
本文來自:“
CSDN”,了解相關資訊可以關注“
”