新聞中心
Angel:一種新型分布式機器學(xué)習(xí)系統(tǒng)
作者:佚名 2017-12-05 14:55:56
服務(wù)器
機器學(xué)習(xí)
分布式 Angel是一個基于參數(shù)服務(wù)器(Parameter Server)理念的分布式機器學(xué)習(xí)框架,它能讓機器學(xué)習(xí)算法輕松運行于高維度模型之上。Angel圍繞模型共享的核心理念,將高維度的大模型合理地切分到多個參數(shù)服務(wù)器節(jié)點,并通過高效的模型更新接口和運算函數(shù)以及多變的同步協(xié)議,實現(xiàn)各種高效的機器學(xué)習(xí)算法。

為環(huán)江等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及環(huán)江網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、環(huán)江網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Angel是一個基于參數(shù)服務(wù)器(Parameter Server)理念的分布式機器學(xué)習(xí)框架,它能讓機器學(xué)習(xí)算法輕松運行于高維度模型之上。Angel圍繞模型共享的核心理念,將高維度的大模型合理地切分到多個參數(shù)服務(wù)器節(jié)點,并通過高效的模型更新接口和運算函數(shù)以及多變的同步協(xié)議,實現(xiàn)各種高效的機器學(xué)習(xí)算法。得益于其良好的設(shè)計,Angel既能獨立運行、高效執(zhí)行多種機器學(xué)習(xí)算法,亦能作為PS服務(wù),支持Spark和現(xiàn)有的深度學(xué)習(xí)框架,為其加速。它基于工業(yè)界的海量數(shù)據(jù)進(jìn)行了反復(fù)的實踐和調(diào)優(yōu),具有廣泛的適用性和穩(wěn)定性,模型維度越高,優(yōu)勢越明顯。
現(xiàn)有的機器學(xué)習(xí)系統(tǒng)都是針對不同類型的機器學(xué)習(xí)任務(wù)而搭建的。數(shù)據(jù)流系統(tǒng)Hadoop和Spark適合通用的數(shù)據(jù)處理任務(wù)和構(gòu)建機器學(xué)習(xí)流水線,但缺乏參數(shù)共享機制,存在單點瓶頸性能問題;圖計算系統(tǒng)GraphLab、GraphX和Tux2等將機器學(xué)習(xí)計算抽象成圖結(jié)構(gòu),可以利用圖結(jié)構(gòu)的特性進(jìn)行加速,但只適合具有稀疏圖結(jié)構(gòu)的算法;深度學(xué)習(xí)系統(tǒng)TensorFlow、MXNet和Caffe2等利用Parameter Server或者Allreduce方法進(jìn)行分布式神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,其特點是能夠利用GPU對神經(jīng)網(wǎng)絡(luò)的計算進(jìn)行加速,但缺乏對稀疏圖結(jié)構(gòu)的優(yōu)化和支持。
Angel在設(shè)計中對分布式機器學(xué)習(xí)的共性進(jìn)行了抽象和提煉。文章認(rèn)為分布式機器學(xué)習(xí)的核心部分在于參數(shù)共享,如果可以提供高效的參數(shù)共享機制,則能夠為各類機器學(xué)習(xí)任務(wù)進(jìn)行擴展和加速。因此,Angel提供了PS服務(wù)的能力,支持兩種運行模式。其中一種模式稱為PS Service模式,Angel只啟動Master和Parameter Server,具體的計算任務(wù)交由其他計算平臺(如Spark、TensorFlow等)完成,這種模式下Angel只負(fù)責(zé)提供Parameter Server的功能;在另外一種模式中,Angel還會啟動Worker,由Angel負(fù)責(zé)完成模型的訓(xùn)練。Angel提供PS服務(wù)的能力,使其能處理多種類型的機器學(xué)習(xí)任務(wù),提供更方便的機器學(xué)習(xí)開發(fā)體驗。
此外,Angel還能提供:(1)多種參數(shù)同步協(xié)議,用于在不同的集群環(huán)境中進(jìn)行加速;(2)易用且豐富的接口,用于方便算法的開發(fā);(3)數(shù)據(jù)并行與模型并行的能力,提高算法的擴展性;(4)高效的容錯機制,為任務(wù)在復(fù)雜環(huán)境中的運行提供保障。經(jīng)過在真實數(shù)據(jù)集上的對比,Angel在多種機器學(xué)習(xí)算法上的性能優(yōu)于XGBoost、Spark、Petuum、TensorFlow等常用機器學(xué)習(xí)系統(tǒng)。目前Angel已經(jīng)被應(yīng)用于騰訊視頻點擊預(yù)測和廣告推薦等實際業(yè)務(wù)中。
Angel的開源系統(tǒng)由北京大學(xué)-騰訊協(xié)同創(chuàng)新實驗室開發(fā),兼顧了工業(yè)界的高可用性和學(xué)術(shù)界的創(chuàng)新性,已經(jīng)在GitHub全面開源,集成和優(yōu)化了Logistic Regression、SVM、KMeans、LDA、MF、GBDT 等多種機器學(xué)習(xí)算法。Angel目前基于Java和Scala開發(fā),未來還會加入Python等多種語言接口,方便使用。將來,Angel的PS Service能力會得到進(jìn)一步利用,支持圖計算和深度學(xué)習(xí)框架。
分享標(biāo)題:Angel:一種新型分布式機器學(xué)習(xí)系統(tǒng)
當(dāng)前地址:http://m.fisionsoft.com.cn/article/dhgcipg.html


咨詢
建站咨詢
