0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Alink衍生背景:算法工程師的開發(fā)訴求

工程師人生 ? 來源:CSDN ? 2020-04-15 14:49 ? 次閱讀

每次購物狂歡都是技術(shù)平臺的一場數(shù)據(jù)“博弈”。去年雙十一,阿里旗下的電子商務(wù)平臺天貓就再一次刷新了數(shù)據(jù)記錄,而強大的系統(tǒng)處理性能更是讓業(yè)界敬佩不已:單日數(shù)據(jù)處理量達到970PB,每秒處理峰值數(shù)據(jù)高達25億條,并幫助天貓產(chǎn)品推薦的點擊率提高了4%——這一連串的數(shù)據(jù)背后,離不開Alink的支撐。

作為業(yè)界同時支持批式算法、流式算法的機器學(xué)習(xí)平臺之一,Alink基于Flink開發(fā)而來,提供了豐富的算法組件庫和便捷的操作框架,且目前已被廣泛運用在阿里內(nèi)部的搜索、推薦、廣告等多個核心實時在線業(yè)務(wù)中,以及支持Kafka、HDFS和HBase等一系列開源數(shù)據(jù)存儲平臺。

在本文中,CSDN有幸采訪到了Alink創(chuàng)始人楊旭,他將從一線開發(fā)的視角,帶我們了解這個開源機器學(xué)習(xí)平臺的技術(shù)路徑、典型應(yīng)用案例及發(fā)展規(guī)劃等內(nèi)容。

楊旭,機器學(xué)習(xí)Alink創(chuàng)始人,阿里巴巴集團計算平臺事業(yè)部的資深算法專家,阿里云機器學(xué)習(xí)算法平臺PAI中基礎(chǔ)機器學(xué)習(xí)算法的負責(zé)人。

Alink衍生背景:算法工程師的開發(fā)訴求

隨著大數(shù)據(jù)時代的到來和人工智能的崛起,機器學(xué)習(xí)所能處理的場景更加廣泛和多樣。構(gòu)建的模型需要對批量數(shù)據(jù)進行處理,為了達到實時性的要求還需要直接對流式數(shù)據(jù)進行實時預(yù)測,還要具備將模型應(yīng)用在企業(yè)應(yīng)用和微服務(wù)上能力。為了取得更好的業(yè)務(wù)效果,算法工程師們需要嘗試更多更復(fù)雜的模型,需要處理更大的數(shù)據(jù)集,使用分布式集群已經(jīng)成為常態(tài);為了及時對市場的變化進行反應(yīng),越來越多的業(yè)務(wù)選用在線學(xué)習(xí)方式直接處理流式數(shù)據(jù)、實時更新模型。

楊旭解釋道,“我們團隊一直從事算法平臺的研發(fā)工作,感受到了高效能的算法組件和便捷操作平臺對開發(fā)者的幫助?!贬槍φ谂d起的機器學(xué)習(xí)廣泛而多樣的應(yīng)用場景,他和所帶領(lǐng)的團隊在2017年開始基于Flink研發(fā)新一代的機器學(xué)習(xí)算法平臺,使得數(shù)據(jù)分析和應(yīng)用開發(fā)人員能夠輕松搭建端到端的業(yè)務(wù)流程。

Alink究竟是什么?

Alink 是阿里巴巴計算平臺事業(yè)部PAI團隊從2017年開始基于實時計算引擎 Flink 研發(fā)的新一代機器學(xué)習(xí)算法平臺,提供豐富的算法組件庫和便捷的操作框架,開發(fā)者可以一鍵搭建覆蓋數(shù)據(jù)處理、特征工程、模型訓(xùn)練、模型預(yù)測的算法模型開發(fā)全流程。項目之所以定為Alink,是取自相關(guān)名稱(Alibaba, Algorithm, AI, Flink, Blink)的公共部分。

借助Flink在批流一體化方面的優(yōu)勢,Alink能夠為批流任務(wù)提供一致性的操作。楊旭提到,在2017年初,他們通過調(diào)研團隊看到了Flink在批流一體化方面的優(yōu)勢及底層引擎的優(yōu)秀性能,于是基于Flink重新設(shè)計研發(fā)了機器學(xué)習(xí)算法庫,即Alink平臺。該平臺于2018年在阿里集團內(nèi)部上線,隨后不斷改進完善,在阿里內(nèi)部錯綜復(fù)雜的業(yè)務(wù)場景中鍛煉成長。

“作為業(yè)界首個同時支持批式算法、流式算法的機器學(xué)習(xí)平臺,Alink 提供了 Python 接口,開發(fā)者無需 Flink 技術(shù)背景也可以輕松構(gòu)建算法模型?!?/p>

據(jù)楊旭介紹,Alink 已被廣泛運用在阿里巴巴搜索、推薦、廣告等多個核心實時在線業(yè)務(wù)中。在此前落幕的天貓雙 11 中,單日數(shù)據(jù)處理量達到 970PB,每秒處理峰值數(shù)據(jù)高達 25 億條。Alink 成功經(jīng)受住了超大規(guī)模實時數(shù)據(jù)訓(xùn)練的檢驗,并幫助提升 4% CTR(商品點擊轉(zhuǎn)化率)。

Alink功能簡介

1、豐富的算法庫

Alink擁有豐富的批式算法和流式算法,幫助數(shù)據(jù)分析和應(yīng)用開發(fā)人員能夠從數(shù)據(jù)處理、特征工程、模型訓(xùn)練、預(yù)測,端到端地完成整個流程。如下圖所示,Alink提供的開源算法模塊中,每一個模塊都包含流式和批式算法。比如線性回歸,包含批式線性回歸訓(xùn)練、流式線性回歸預(yù)測和批式線性回歸預(yù)測。

2、友好的使用體驗

“為了提供更好的交互式和可視化體驗,我們在開源的同時推出了PyAlink,用戶可以通過PyAlink的Python包以notebook的方式使用Alink?!睏钚癖硎?,PyAlink不僅支持單機運行,也支持集群提交,并且打通了Operator(Alink算子)和DataFrame的接口,從而使得Alink整個算法流程無縫融入Python。PyAlink也提供使用Python函數(shù)來調(diào)用UDF或者UDTF。PyAlink在notebook中使用如下圖,展示了一個模型訓(xùn)練預(yù)測,并打印出預(yù)測結(jié)果的過程。

3、與Spark對比

在離線學(xué)習(xí)算法方面,Alink 跟 SparkML 性能對比基本相當(dāng),下圖給出的是一些經(jīng)典算法的性能對比:

通過上圖可以看出,Alink在大部分算法性能優(yōu)于Spark,個別算法性能比Spark弱,整體是一個相當(dāng)?shù)乃健?/p>

但是,“在功能的完備性方面,Alink更有優(yōu)勢”,Alink除了覆蓋Spark的算法,還包含流式算法、流批混跑、在線學(xué)習(xí)、中文分詞等。

阿里和Alink的開源之路

在2018年,GitHub新增活躍用戶數(shù)量超過了前六年的總和,相較于2017年新增了40%的組織機構(gòu)和30%的代碼倉庫。從全球趨勢來看,開源無疑是軟件發(fā)展的大勢所趨。目前在國內(nèi),阿里是貢獻開源最出色的企業(yè)。GitHub上有大量的開源項目由阿里創(chuàng)建,據(jù)阿里經(jīng)濟體GitHub開源生態(tài)報告統(tǒng)計,國內(nèi)Top10的開源項目中,阿里的開源項目有6個。

在談Alink開源之前,楊旭首先介紹了與之相關(guān)的Flink與FlinkML?!癋link是一個面向數(shù)據(jù)流處理和批量數(shù)據(jù)處理的可分布式的開源計算框架,我們看好Flink引擎的優(yōu)秀性能,希望基于Flink解決流程機器學(xué)習(xí)場景的問題?!盕linkML為Flink自帶的機器學(xué)習(xí)算法庫,分為舊的版本和新的版本?!霸谧鯝link前,我們首先認真調(diào)研了當(dāng)時的FlinkML(即舊版本FlinkML)的情況,其僅支持10余種算法,支持的數(shù)據(jù)結(jié)構(gòu)也不夠通用,在算法性能方面做的優(yōu)化也比較少,而且其代碼也很久沒有更新。所以,我們放棄了基于舊版FlinkML進行改進、升級的想法,決定基于Flink重新設(shè)計研發(fā)機器學(xué)習(xí)算法庫,隨后發(fā)展為現(xiàn)在的Alink。”

Alink在發(fā)展的過程中一直與Flink社區(qū)緊密關(guān)聯(lián),在每年的Flink Forward大會上,團隊一直有匯報項目的進展,共同探討技術(shù)問題,獲取反饋和建議。隨著Alink功能的不斷增強和完善,“社區(qū)中歡迎Alink進行開源的呼聲日益高漲,我們也開始和Flink社區(qū)更緊密聯(lián)系,推動開源Alink的代碼進入FlinkML。”

與此同時,社區(qū)中更多的人意識到舊版FlinkML的問題,決定整個廢棄掉舊版FlinkML,建設(shè)新版FlinkML?!拔覀兎e極參加新版FlinkML API的設(shè)計,分享Alink API設(shè)計的經(jīng)驗;Alink的Params等概念被社區(qū)采納;之后開始為新版FlinkML貢獻算法實現(xiàn)代碼,已提交了40余個PR,包括算法基礎(chǔ)框架、基礎(chǔ)工具類及若干算法實現(xiàn)。”

Alink包含了非常多的機器學(xué)習(xí)算法,在向FlinkML貢獻的過程中,需要社區(qū)commiter的討論設(shè)計與審查代碼,這個過程有助于代碼的精益求精,但由于社區(qū)commiter的資源有限,代碼完全貢獻到FlinkML的過程會持續(xù)很長時間?!斑@時,我們不得不考慮是否有其他方式,可以讓用戶先用起來”,“Alink單獨開源是個很好的解決方式”,它與向FlinkML繼續(xù)貢獻算法實現(xiàn),可以同時進行。用戶的使用反饋也有助于更好的改進算法實現(xiàn)。

此想法獲得了社區(qū)的支持,獲得了阿里內(nèi)部的支持,在Flink Forword Asia 2019大會上,Alink正式宣布開源。

目前,Alink開源已經(jīng)四個多月,在這段時間里Alink在開源社區(qū)的聲望越來越高,Alink在Github上已經(jīng)有2000多顆Star,400多次fork。楊旭感嘆道,“目前為止,我們的開源用戶群已經(jīng)將近1000人,并且已經(jīng)有多位社區(qū)開發(fā)者向Alink提交算法code,有幾十位社區(qū)的Alink用戶向我們提出Alink算法bug或者算法改進需求。Alink開發(fā)團隊也積極和社區(qū)互動,共同推進Alink平臺的發(fā)展?!币环矫妫珹link團隊積極支持社區(qū)用使用Alink,幫助數(shù)百位社區(qū)用戶解決他們在使用Alink算法遇到的困難。另一方面,針對社區(qū)用戶提出的算法bug和算法改進需求,Alink團隊第一時間作出響應(yīng),對這些bug和改進需求進行排期,并在開發(fā)完成后及時開源到社區(qū),解決社區(qū)用戶的需求。

“雖然Alink的開源已經(jīng)取得了階段性成果,我們?nèi)匀辉诜e極向FlinkML貢獻代碼”,楊旭最后表示,他希望將更多優(yōu)秀的機器學(xué)習(xí)算法貢獻給Flink項目,也希望和社區(qū)一起努力,共同促進Flink社區(qū)機器學(xué)習(xí)生態(tài)的發(fā)展和繁榮。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4623

    瀏覽量

    93104
  • 數(shù)據(jù)處理
    +關(guān)注

    關(guān)注

    0

    文章

    610

    瀏覽量

    28599
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8428

    瀏覽量

    132835
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式工程師常用的開發(fā)工具有哪些?

    嵌入式工程師常用的開發(fā)工具有哪些? 在嵌入式系統(tǒng)開發(fā)的廣闊領(lǐng)域中,嵌入式工程師們憑借著一系列強大的工具,將創(chuàng)意與技術(shù)完美融合,打造出高效、可靠的嵌入式系統(tǒng)。以下是一些嵌入式
    發(fā)表于 12-20 15:29

    圖像算法工程師的利器——SpeedDP深度學(xué)習(xí)算法開發(fā)平臺

    隨著人工智能的興起,AI工程師特別是基于圖像的算法工程師日益成為炙手可熱的香餑餑。特別是在一些行業(yè)市場例如工業(yè)領(lǐng)域等行業(yè)領(lǐng)域,需要根據(jù)具體場景對檢測識別算法進行不斷地優(yōu)化完善,以達到更
    的頭像 發(fā)表于 11-08 01:06 ?345次閱讀
    圖像<b class='flag-5'>算法</b><b class='flag-5'>工程師</b>的利器——SpeedDP深度學(xué)習(xí)<b class='flag-5'>算法</b><b class='flag-5'>開發(fā)</b>平臺

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,共同進步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗證工程師三者有什么區(qū)別? A:FPGA
    發(fā)表于 09-23 18:26

    求LORA技術(shù)開發(fā)工程師合作

    求LORA技術(shù)開發(fā)工程師合作
    發(fā)表于 09-02 10:21

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    找STM32硬件開發(fā)兼職工程師

    上海做傳感器的公司,找STM32硬件開發(fā)兼職工程師,會硬件開發(fā),嵌入式軟件開發(fā),可項目外包。有意聯(lián)系:15900460170
    發(fā)表于 06-22 19:12

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的一種專業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    優(yōu)秀電源工程師需要哪些必備技能?

    就帶大家細數(shù)一下優(yōu)秀電源工程師具備的那些技能。一、新手必備課程成為一名電源高手需要扎實的理論基礎(chǔ),涉及電路原理、語言編程和控制理論等多個學(xué)科領(lǐng)域。為了幫助大家更好地掌握電源開發(fā)相關(guān)的關(guān)鍵知識點,我們整理
    發(fā)表于 01-29 11:29