偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PAI分布式機(jī)器學(xué)習(xí)平臺(tái)編程模型演進(jìn)之路

大數(shù)據(jù) 分布式
機(jī)器學(xué)習(xí)即服務(wù),把機(jī)器學(xué)習(xí)作為服務(wù)對(duì)外推出,大家可以在平臺(tái)上使用比較先進(jìn)的機(jī)器學(xué)習(xí)算法。將多種深度學(xué)習(xí)框架集成到PAI中,同時(shí)基于深度學(xué)習(xí)框架包裝成更加易用的組件。具備異構(gòu)的計(jì)算服務(wù)能力,把CPU計(jì)算能力和GPU計(jì)算能力統(tǒng)一調(diào)度起來,異構(gòu)的計(jì)算能力透明,大家的注意力是哪些機(jī)器學(xué)習(xí)算法可以幫助業(yè)務(wù),不用關(guān)心底層資源的申請(qǐng)和分配。PAI也支持在線預(yù)測服務(wù),模型一鍵發(fā)布。

[[195367]]

什么是PAI?

PAI的全稱是Platform of Artificial Intelligence,主要在使用機(jī)器學(xué)習(xí)做模型訓(xùn)練時(shí)提供整套鏈路。機(jī)器學(xué)習(xí)即服務(wù),把機(jī)器學(xué)習(xí)作為服務(wù)對(duì)外推出,大家可以在平臺(tái)上使用比較先進(jìn)的機(jī)器學(xué)習(xí)算法。將多種深度學(xué)習(xí)框架集成到PAI中,同時(shí)基于深度學(xué)習(xí)框架包裝成更加易用的組件。具備異構(gòu)的計(jì)算服務(wù)能力,把CPU計(jì)算能力和GPU計(jì)算能力統(tǒng)一調(diào)度起來,異構(gòu)的計(jì)算能力透明,大家的注意力是哪些機(jī)器學(xué)習(xí)算法可以幫助業(yè)務(wù),不用關(guān)心底層資源的申請(qǐng)和分配。PAI也支持在線預(yù)測服務(wù),模型一鍵發(fā)布。

大規(guī)模分布式機(jī)器學(xué)習(xí)的挑戰(zhàn)

數(shù)據(jù)規(guī)模和特征會(huì)不斷增加,這就會(huì)導(dǎo)致模型復(fù)雜度的增加,之前的模型已經(jīng)不能夠處理這么高的復(fù)雜度了。特征增加之后,模型變得越來越大,模型很難做到單機(jī)加載,所以在模型存儲(chǔ)時(shí)需要做分片和切分。在常規(guī)的機(jī)器學(xué)習(xí)里面,更多的注意力放在理解業(yè)務(wù)的數(shù)據(jù)、特征,而現(xiàn)在的注意力會(huì)轉(zhuǎn)移到模型本身,更多考慮怎么通過調(diào)整模型的結(jié)構(gòu)達(dá)到更好的預(yù)測效果。

編程模型演進(jìn)

MapReduce編程模型

 

MapReduce核心的思想是分而治之,即把數(shù)據(jù)切分成很多塊,每個(gè)節(jié)點(diǎn)處理其中的一小塊。做分布式系統(tǒng)時(shí)會(huì)面臨很多問題,比如希望計(jì)算任務(wù)可以在MapReduce框架層面做切分和調(diào)度。MapReduce從框架層面極大地降低了把任務(wù)遷移到分布式計(jì)算系統(tǒng)上的難度和門檻。對(duì)于數(shù)據(jù)的分布式存儲(chǔ)和劃分,數(shù)據(jù)可分散存儲(chǔ)在幾千臺(tái)機(jī)器上,并且都有相應(yīng)副本,不需要擔(dān)心數(shù)據(jù)的丟失,底層的分布式存儲(chǔ)會(huì)統(tǒng)一進(jìn)行處理。計(jì)算任務(wù)的同步和計(jì)算節(jié)點(diǎn)的容錯(cuò)與恢復(fù),若使用普通機(jī)器去搭大型計(jì)算群的時(shí)候,機(jī)器的宕機(jī)時(shí)比較普遍的現(xiàn)象,使用MapReduce則不需要關(guān)心這一點(diǎn)。右圖是MapReduce的編程模型,最初是用來處理SQL等問題。

 

在機(jī)器學(xué)習(xí)里面,有些算法是基于MapReduce編程模型去實(shí)現(xiàn)的。TF-IDF用來評(píng)估文檔里面單詞是否能表示文檔主題。首先計(jì)算文檔里面單詞出現(xiàn)的頻率,把謂詞和嘆詞去掉,關(guān)注真正有意義的詞。IDF則是統(tǒng)計(jì)該詞在所有文檔里面出現(xiàn)的頻率,將其和文檔里出現(xiàn)的頻率經(jīng)過算法計(jì)算得出最終結(jié)果。這個(gè)過程如何通過MapReduce實(shí)現(xiàn)呢?在Mapper中迭代的去加載每一篇要訓(xùn)練的文章,在迭代過程中統(tǒng)計(jì)每個(gè)單詞出現(xiàn)的頻率。將統(tǒng)計(jì)結(jié)果放入Reducer中,進(jìn)行計(jì)算,得到TF-IDF結(jié)果表。

MapReduce編程模型有兩個(gè)特點(diǎn):不同計(jì)算任務(wù)之間獨(dú)立,每個(gè)Mapper和Reducer只會(huì)計(jì)算自己相關(guān)的數(shù)據(jù),數(shù)據(jù)并行度高;適合不需要不同節(jié)點(diǎn)通信的機(jī)器學(xué)習(xí)算法。

MPI編程模型

 

邏輯回歸算法是需要節(jié)點(diǎn)間進(jìn)行通信的,該算法在個(gè)性化推薦中可以經(jīng)常看到。個(gè)性化推薦算法是指每個(gè)人點(diǎn)擊進(jìn)來之后會(huì)進(jìn)行分類,判斷是否會(huì)對(duì)某些商品感興趣,然后進(jìn)行推薦。模型函數(shù)如上圖中公式所示,定義損失函數(shù),損失函數(shù)值越小說明模型擬合越好,尋找損失函數(shù)最小值的過程中用到了梯度下降算法。

早期,很多邏輯回歸算法都是基于MPI編程模型實(shí)現(xiàn)的,MPI是消息傳遞接口,定義了Send,Receive,BC阿斯圖,AllReduce接口,支持單機(jī)多Instance和多機(jī)多Instance,具有高度靈活,描述能力強(qiáng),大量用于科學(xué)計(jì)算。

 

MPI使用時(shí)有很多限制,首先必須提前知道階段任務(wù)在哪些計(jì)算節(jié)點(diǎn)上做。在大規(guī)模的計(jì)算集群里面,所有資源的分配都是動(dòng)態(tài)的,在任務(wù)執(zhí)行之前不知道任務(wù)會(huì)調(diào)度到哪些節(jié)點(diǎn)上,但是早期有很多算法需要基于MPI實(shí)現(xiàn),所以對(duì)MPI底層做了網(wǎng)絡(luò)拓?fù)涞慕?,做了大量的重?gòu),幫助MPI相關(guān)程序能夠基于分布式的調(diào)度系統(tǒng)調(diào)度起來。

 

邏輯回歸的實(shí)現(xiàn)過程如上圖所示。其中,有n個(gè)計(jì)算節(jié)點(diǎn),首先會(huì)加載訓(xùn)練樣本,計(jì)算梯度,然后本地加和,最后調(diào)用AllReduce接口去計(jì)算現(xiàn)在模型所在的位置。MPI本身還存在一些缺點(diǎn):首先MPI中Worker的數(shù)目有上限,當(dāng)需要更多節(jié)點(diǎn)的時(shí)候會(huì)發(fā)生性能下降。

參數(shù)服務(wù)器Parameter Server

 

Parameter Server和MPI相比,在更高的層次定義了編程模型和接口。Parameter Server中有三個(gè)角色,Server節(jié)點(diǎn)用來存儲(chǔ)模型,計(jì)算節(jié)點(diǎn)會(huì)加載部分模型、訓(xùn)練數(shù)據(jù),每輪迭代時(shí)每個(gè)節(jié)點(diǎn)會(huì)計(jì)算下個(gè)梯度,將節(jié)點(diǎn)和Server進(jìn)行通信。Coordinator用來判斷訓(xùn)練是否結(jié)束。此外,Parameter Server支持異步通信接口,不需要在不同計(jì)算節(jié)點(diǎn)間做同步。

 

阿里在2014年下半年,獨(dú)立自研了PAI Parameter Server計(jì)算模型,已在集團(tuán)內(nèi)大規(guī)模使用。具體做的工作如上圖所示。MPI的一個(gè)缺點(diǎn)是不支持容錯(cuò),而每天上萬臺(tái)的集群會(huì)出現(xiàn)各種各樣的故障,PAI Parameter Server針對(duì)大規(guī)模集群做了節(jié)點(diǎn)容錯(cuò)功能。Parameter Server集成很多算法,比如邏輯回歸等。

深度學(xué)習(xí) 

 

深度學(xué)習(xí)是人工神經(jīng)網(wǎng)絡(luò)的延伸,相比之下能夠支持更深的網(wǎng)絡(luò)。上圖中,Alexnet是卷積神經(jīng)網(wǎng)絡(luò),總共有8層網(wǎng)絡(luò),深度學(xué)習(xí)如果想要獲得更好的效果,必須要構(gòu)建一個(gè)更深的神經(jīng)網(wǎng)絡(luò)。隨著神經(jīng)網(wǎng)絡(luò)變深,需要更多的參數(shù),并且模型也會(huì)更加龐大。多級(jí)訓(xùn)練則需要更高量級(jí)的通信量。

TensorFlow

 

TensorFlow是谷歌第二代的深度學(xué)習(xí)框架,支持各種神經(jīng)網(wǎng)絡(luò),具有高度的靈活性,豐富的社區(qū)生態(tài),支持CNN、RNN、LSTM等網(wǎng)絡(luò)。

上圖中TensorFlow的例子是兩層神經(jīng)網(wǎng)絡(luò)做圖片的分類。上面通過API定義訓(xùn)練圖片和測試數(shù)據(jù),接著定義了模型(softmax多分類模型),定義損失函數(shù)通過交叉熵來做,最后選擇優(yōu)化函數(shù)找最優(yōu)點(diǎn)。下面部分則是通過API把訓(xùn)練數(shù)據(jù)喂給模型再計(jì)算當(dāng)前模型的準(zhǔn)確率。從上例中,可以看出,API非常靈活,基于Python,所以非常方便。

PAI TensorFlow

將TensorFlow遷移到PAI上之后,將TensorFlow作業(yè)服務(wù)化,起TensorFlow作業(yè)的時(shí)候不需要去申請(qǐng)資源、做訓(xùn)練數(shù)據(jù)的遷移;分布式調(diào)度(包括單機(jī)和多機(jī))只需提交模型訓(xùn)練Python文件;GPU卡映射;多種數(shù)據(jù)源,結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)都支持;超參支持,訓(xùn)練模型時(shí)會(huì)調(diào)整學(xué)習(xí)率,通過超參把參數(shù)存進(jìn)來就不需要每次都調(diào)整了;模型在線預(yù)測,訓(xùn)練好模型之后可以部署到在線預(yù)測服務(wù)上,調(diào)用API獲知模型結(jié)果是否正面。

PAI Pluto(多機(jī)多卡Caffe)

 

Caffe早于TensorFlow,Caffe可以認(rèn)為是第一代的深度學(xué)習(xí)框架,使用Caffe時(shí)需要通過配置文件配置深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)路。目前,很多關(guān)于圖像的應(yīng)用都是基于Caffe來做的,使用CNN的網(wǎng)絡(luò),比如身份證識(shí)別、駕照識(shí)別等。其缺點(diǎn)是單機(jī),當(dāng)訓(xùn)練樣本多的時(shí)候訓(xùn)練時(shí)間非常長。將Caffe底層嫁接到OpenMPI通信框架上,可以支持多機(jī)Caffe,能夠達(dá)到線性加速比。

總結(jié)

 

前文提到了PAI上支持的各種編程模型,在公有云上希望把機(jī)器學(xué)習(xí)作為一個(gè)服務(wù)推出來,包括數(shù)據(jù)上傳、數(shù)據(jù)清洗、特征工程、模型訓(xùn)練、模型評(píng)價(jià)。這樣就可以在PAI上做一站式的模型訓(xùn)練和預(yù)測。 

責(zé)任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關(guān)推薦

2022-03-25 08:40:32

分布式架構(gòu)

2020-02-10 19:16:52

服務(wù)端高并發(fā)架構(gòu)

2019-09-25 09:01:53

高并發(fā)架構(gòu)分布式

2019-12-17 11:18:37

高并發(fā)分布式架構(gòu)

2021-09-09 15:45:17

機(jī)器學(xué)習(xí)人工智能Ray

2016-08-31 07:02:51

2015-06-10 09:47:18

微軟分布式云平臺(tái)

2018-04-03 09:27:42

分布式架構(gòu)系統(tǒng)

2024-05-16 07:51:55

分布式系統(tǒng)架構(gòu)

2017-01-10 16:18:26

分布式存儲(chǔ)建設(shè)

2023-10-26 18:10:43

分布式并行技術(shù)系統(tǒng)

2017-08-07 11:02:28

機(jī)器學(xué)習(xí)分布式Spark

2017-08-22 17:55:35

機(jī)器學(xué)習(xí)SparkTensorFlow

2018-11-07 09:23:21

服務(wù)器分布式機(jī)器學(xué)習(xí)

2017-12-05 14:55:56

2022-08-03 20:18:58

機(jī)器學(xué)習(xí)算法分析數(shù)據(jù)

2023-02-28 07:01:11

分布式緩存平臺(tái)

2021-11-29 08:18:22

架構(gòu)互聯(lián)網(wǎng)分布式

2020-10-20 09:38:15

分布式存儲(chǔ)Ceph
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)