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

終于有人把分布式機(jī)器學(xué)習(xí)講明白了

人工智能 機(jī)器學(xué)習(xí)
近年來(lái),新技術(shù)的快速發(fā)展導(dǎo)致數(shù)據(jù)量空前增長(zhǎng)。機(jī)器學(xué)習(xí)算法正越來(lái)越多地用于分析數(shù)據(jù)集和建立決策系統(tǒng)。

?分布式機(jī)器學(xué)習(xí)也稱分布式學(xué)習(xí),是指利用多個(gè)計(jì)算節(jié)點(diǎn)(也稱工作節(jié)點(diǎn),Worker)進(jìn)行機(jī)器學(xué)習(xí)或者深度學(xué)習(xí)的算法和系統(tǒng),旨在提高性能、保護(hù)隱私,并可擴(kuò)展至更大規(guī)模的訓(xùn)練數(shù)據(jù)和更大的模型。

聯(lián)邦學(xué)習(xí)可以看作分布式學(xué)習(xí)的一種特殊類(lèi)型,它可以進(jìn)一步解決分布式機(jī)器學(xué)習(xí)遇到的一些困難,從而構(gòu)建面向隱私保護(hù)的人工智能應(yīng)用和產(chǎn)品。

1.分布式機(jī)器學(xué)習(xí)的發(fā)展歷史

近年來(lái),新技術(shù)的快速發(fā)展導(dǎo)致數(shù)據(jù)量空前增長(zhǎng)。機(jī)器學(xué)習(xí)算法正越來(lái)越多地用于分析數(shù)據(jù)集和建立決策系統(tǒng)。而由于問(wèn)題的復(fù)雜性,例如控制自動(dòng)駕駛汽車(chē)、識(shí)別語(yǔ)音或預(yù)測(cè)消費(fèi)者行為(參考Khandani等人2010年發(fā)表的文章),算法解決方案并不可行。

在某些情況下,單個(gè)機(jī)器上模型訓(xùn)練的較長(zhǎng)運(yùn)行時(shí)間促使解決方案設(shè)計(jì)者使用分布式系統(tǒng),以增加并行度和I/O帶寬總量,因?yàn)閺?fù)雜應(yīng)用程序所需的訓(xùn)練數(shù)據(jù)可以很容易就達(dá)到TB級(jí)。

在其他情況下,當(dāng)數(shù)據(jù)本身是分布式的或量太大而不能存儲(chǔ)在單個(gè)機(jī)器上時(shí),集中式解決方案甚至不可取。例如,大型企業(yè)對(duì)存儲(chǔ)在不同位置的數(shù)據(jù)進(jìn)行事務(wù)處理,或者由于數(shù)據(jù)量太大而無(wú)法移動(dòng)和集中。

為了使這些類(lèi)型的數(shù)據(jù)集可以作為機(jī)器學(xué)習(xí)問(wèn)題的訓(xùn)練數(shù)據(jù)被訪問(wèn),必須選擇并實(shí)現(xiàn)能夠并行計(jì)算、適應(yīng)多種數(shù)據(jù)分布和擁有故障恢復(fù)能力的算法。

近年來(lái),機(jī)器學(xué)習(xí)技術(shù)得到了廣泛應(yīng)用。雖然出現(xiàn)了各種相互競(jìng)爭(zhēng)的方法和算法,但使用的數(shù)據(jù)表示在結(jié)構(gòu)上非常相似。機(jī)器學(xué)習(xí)工作中的大部分計(jì)算都是關(guān)于向量、矩陣或張量的基本轉(zhuǎn)換,這些都是線性代數(shù)中常見(jiàn)的問(wèn)題。

幾十年來(lái),對(duì)這種操作進(jìn)行優(yōu)化的需求一直是高性能計(jì)算(High Performance Computing,HPC)領(lǐng)域高度活躍的研究方向。因此,一些來(lái)自HPC社區(qū)的技術(shù)和庫(kù)(例如,BLAS或MPI)已經(jīng)被機(jī)器學(xué)習(xí)社區(qū)成功地采用并集成到系統(tǒng)中。

與此同時(shí),HPC社區(qū)已經(jīng)確定機(jī)器學(xué)習(xí)是一種新興的高價(jià)值工作負(fù)載,并開(kāi)始將HPC方法應(yīng)用于機(jī)器學(xué)習(xí)。

Coates等人在他們的商用高性能計(jì)算(COTSHPC)系統(tǒng)上用短短三天訓(xùn)練了一個(gè)含有10億個(gè)參數(shù)的網(wǎng)絡(luò)。

You等人于2017年提出在Intel的Knights Landing上優(yōu)化神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,Knights Landing是一種為高性能計(jì)算應(yīng)用設(shè)計(jì)的芯片。

Kurth等人于2017年演示了深度學(xué)習(xí)問(wèn)題(如提取天氣模式)是如何在大型并行HPC系統(tǒng)上進(jìn)行優(yōu)化和擴(kuò)展的。

Yan等人于2016年提出通過(guò)借用HPC的輕量級(jí)分析等技術(shù)建模工作負(fù)載需求,可解決在云計(jì)算基礎(chǔ)設(shè)施上調(diào)度深度神經(jīng)網(wǎng)絡(luò)應(yīng)用的挑戰(zhàn)。

Li等人于2017年研究了深度神經(jīng)網(wǎng)絡(luò)在加速器上運(yùn)行時(shí)針對(duì)硬件錯(cuò)誤的恢復(fù)特性(加速器經(jīng)常部署在主要的高性能計(jì)算系統(tǒng)中)。

同其他大規(guī)模計(jì)算挑戰(zhàn)一樣,我們有兩種基本不同且互補(bǔ)的方式來(lái)加速工作負(fù)載:向一臺(tái)機(jī)器添加更多資源(垂直擴(kuò)展,比如GPU/TPU計(jì)算核心的不斷提升),向系統(tǒng)添加更多節(jié)點(diǎn)(水平擴(kuò)展,成本低)。

傳統(tǒng)的超級(jí)計(jì)算機(jī)、網(wǎng)格和云之間的界限越來(lái)越模糊,尤其在涉及機(jī)器學(xué)習(xí)等高要求的工作負(fù)載的最佳執(zhí)行環(huán)境時(shí)。例如,GPU和加速器在主要的云數(shù)據(jù)中心中更加常見(jiàn)。因此,機(jī)器學(xué)習(xí)工作負(fù)載的并行化對(duì)大規(guī)模實(shí)現(xiàn)可接受的性能至關(guān)重要。然而,當(dāng)從集中式解決方案過(guò)渡到分布式系統(tǒng)時(shí),分布式計(jì)算在性能、可伸縮性、故障彈性或安全性方面面臨嚴(yán)峻挑戰(zhàn)。

2.分布式機(jī)器學(xué)習(xí)概述

由于每種算法都有獨(dú)特的通信模式,因此設(shè)計(jì)一個(gè)能夠有效分布常規(guī)機(jī)器學(xué)習(xí)的通用系統(tǒng)是一項(xiàng)挑戰(zhàn)。盡管目前分布式機(jī)器學(xué)習(xí)有各種不同的概念和實(shí)現(xiàn),但我們將介紹一個(gè)覆蓋整個(gè)設(shè)計(jì)空間的公共架構(gòu)。一般來(lái)說(shuō),機(jī)器學(xué)習(xí)問(wèn)題可以分為訓(xùn)練階段和預(yù)測(cè)階段(見(jiàn)圖1-5)。

圖片

▲圖1-5 機(jī)器學(xué)習(xí)結(jié)構(gòu)。在訓(xùn)練階段,使用訓(xùn)練數(shù)據(jù)和調(diào)整超參數(shù)對(duì)ML模型進(jìn)行優(yōu)化。然后,將訓(xùn)練好的模型部署到系統(tǒng)中,為輸入的新數(shù)據(jù)提供預(yù)測(cè)

訓(xùn)練階段包括訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型,通過(guò)輸入大量的訓(xùn)練數(shù)據(jù),并使用常用的ML算法,如進(jìn)化算法(Evolutionary Algorithm,EA)、基于規(guī)則的機(jī)器學(xué)習(xí)算法(Rule-based Machine Learning algorithm,比如決策樹(shù)和關(guān)聯(lián)規(guī)則)、主題模型(Topic Model,TM)、矩陣分解(Matrix Factorization)和基于隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)的算法等,進(jìn)行模型更新。

除了為給定的問(wèn)題選擇一個(gè)合適的算法之外,我們還需要為所選擇的算法進(jìn)行超參數(shù)調(diào)優(yōu)。訓(xùn)練階段的最終結(jié)果是獲得一個(gè)訓(xùn)練模型。預(yù)測(cè)階段是在實(shí)踐中部署經(jīng)過(guò)訓(xùn)練的模型。經(jīng)過(guò)訓(xùn)練的模型接收新數(shù)據(jù)(作為輸入),并生成預(yù)測(cè)(作為輸出)。

雖然模型的訓(xùn)練階段通常需要大量的計(jì)算,并且需要大量的數(shù)據(jù)集,但是可以用較少的計(jì)算能力來(lái)執(zhí)行推理。訓(xùn)練階段和預(yù)測(cè)階段不是相互排斥的。增量學(xué)習(xí)(Incremental learning)將訓(xùn)練階段和預(yù)測(cè)階段相結(jié)合,利用預(yù)測(cè)階段的新數(shù)據(jù)對(duì)模型進(jìn)行連續(xù)訓(xùn)練。

當(dāng)涉及分布式時(shí),我們可以用兩種不同的方法將問(wèn)題劃分到所有機(jī)器上,即數(shù)據(jù)或模型并行(見(jiàn)圖1-6)。這兩種方法也可以同時(shí)應(yīng)用。

圖片

▲圖1-6 分布式機(jī)器學(xué)習(xí)中的并行性。數(shù)據(jù)并行性是在訓(xùn)練數(shù)據(jù)集的不同子集上訓(xùn)練同一模型的多個(gè)實(shí)例,而模型并行性是將單個(gè)模型的并行路徑分布到多個(gè)節(jié)點(diǎn)上

在數(shù)據(jù)并行(Data Parallel)方法中,系統(tǒng)中有多少工作節(jié)點(diǎn),數(shù)據(jù)就被分區(qū)多少次,然后所有工作節(jié)點(diǎn)都會(huì)對(duì)不同的數(shù)據(jù)集應(yīng)用相同的算法。相同的模型可用于所有工作節(jié)點(diǎn)(通過(guò)集中化或復(fù)制),因此可以自然地產(chǎn)生單個(gè)一致的輸出。該方法可用于在數(shù)據(jù)樣本上滿足獨(dú)立同分布假設(shè)的每個(gè)ML算法(即大多數(shù)ML算法)。

在模型并行(Model Parallel)方法中,整個(gè)數(shù)據(jù)集的精確副本由工作節(jié)點(diǎn)處理,工作節(jié)點(diǎn)操作模型的不同部分。因此,模型是所有模型部件的聚合。模型并行方法不能自動(dòng)應(yīng)用于每一種機(jī)器學(xué)習(xí)算法,因?yàn)槟P蛥?shù)通常不能被分割。

一種選擇是訓(xùn)練相同或相似模型的不同實(shí)例,并使用集成之類(lèi)的方法(如Bagging、Boosting等)聚合所有訓(xùn)練過(guò)的模型的輸出。最終的架構(gòu)決策是分布式機(jī)器學(xué)習(xí)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)。組成分布式系統(tǒng)的不同節(jié)點(diǎn)需要通過(guò)特定的體系結(jié)構(gòu)模式進(jìn)行連接,以實(shí)現(xiàn)豐富的功能。這是一個(gè)常見(jiàn)的任務(wù)。然而,模式的選擇對(duì)節(jié)點(diǎn)可以扮演的角色、節(jié)點(diǎn)之間的通信程度以及整個(gè)部署的故障恢復(fù)能力都有影響。

圖1-7顯示了4種可能的拓?fù)?,符合Baran對(duì)分布式通信網(wǎng)絡(luò)的一般分類(lèi)。集中式結(jié)構(gòu)(圖1-7a)采用一種嚴(yán)格的分層方法進(jìn)行聚合,它發(fā)生在單個(gè)中心位置。去中心化的結(jié)構(gòu)允許中間聚合,當(dāng)聚合被廣播到所有節(jié)點(diǎn)時(shí)(如樹(shù)拓?fù)洌?,?fù)制模型會(huì)不斷更新(圖1-7b),或者使用在多個(gè)參數(shù)服務(wù)器上分片的分區(qū)模型(圖1-7c)。完全分布式結(jié)構(gòu)(圖1-7d)由獨(dú)立的節(jié)點(diǎn)網(wǎng)絡(luò)組成,這些節(jié)點(diǎn)將解決方案集成在一起,并且每個(gè)節(jié)點(diǎn)沒(méi)有被分配特定的角色。

圖片

▲圖1-7 分布式機(jī)器學(xué)習(xí)拓?fù)浣Y(jié)構(gòu)

3.分布式機(jī)器學(xué)習(xí)與聯(lián)邦學(xué)習(xí)的共同發(fā)展

分布式機(jī)器學(xué)習(xí)發(fā)展到現(xiàn)在,也產(chǎn)生了隱私保護(hù)的一些需求,從而與聯(lián)邦學(xué)習(xí)產(chǎn)生了一些內(nèi)容上的交叉。常見(jiàn)的加密方法,如安全多方計(jì)算、同態(tài)計(jì)算、差分隱私等也逐漸應(yīng)用在分布式機(jī)器學(xué)習(xí)中。總的來(lái)說(shuō),聯(lián)邦學(xué)習(xí)是利用分布式資源協(xié)同訓(xùn)練機(jī)器學(xué)習(xí)模型的一種有效方法。

聯(lián)邦學(xué)習(xí)是一種分布式機(jī)器學(xué)習(xí)方法,其中多個(gè)用戶協(xié)同訓(xùn)練一個(gè)模型,同時(shí)保持原始數(shù)據(jù)分散,而不移動(dòng)到單個(gè)服務(wù)器或數(shù)據(jù)中心。在聯(lián)邦學(xué)習(xí)中,原始數(shù)據(jù)或基于原始數(shù)據(jù)進(jìn)行安全處理生成的數(shù)據(jù)被用作訓(xùn)練數(shù)據(jù)。聯(lián)邦學(xué)習(xí)只允許在分布式計(jì)算資源之間傳輸中間數(shù)據(jù),同時(shí)避免傳輸訓(xùn)練數(shù)據(jù)。分布式計(jì)算資源是指終端用戶的移動(dòng)設(shè)備或多個(gè)組織的服務(wù)器。

聯(lián)邦學(xué)習(xí)將代碼引入數(shù)據(jù),而不是將數(shù)據(jù)引入代碼,從技術(shù)上解決了隱私、所有權(quán)和數(shù)據(jù)位置的基本問(wèn)題。這樣,聯(lián)邦學(xué)習(xí)可以使多個(gè)用戶在滿足合法數(shù)據(jù)限制的同時(shí)協(xié)同訓(xùn)練一個(gè)模型。

本文摘編自《聯(lián)邦學(xué)習(xí):算法詳解與系統(tǒng)實(shí)現(xiàn)》(ISBN:978-7-111-70349-5),經(jīng)出版方授權(quán)發(fā)布。?

責(zé)任編輯:武曉燕 來(lái)源: 大數(shù)據(jù)DT
相關(guān)推薦

2021-10-20 18:49:29

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

2021-12-30 20:20:46

機(jī)器學(xué)習(xí)銷(xiāo)售語(yǔ)言

2018-11-23 09:25:00

TCC分布式事務(wù)

2021-10-09 00:02:04

DevOps敏捷開(kāi)發(fā)

2021-06-13 12:03:46

SaaS軟件即服務(wù)

2022-03-27 20:32:28

Knative容器事件模型

2022-02-15 09:04:44

機(jī)器學(xué)習(xí)人工智能監(jiān)督學(xué)習(xí)

2022-03-15 17:12:03

大數(shù)據(jù)機(jī)器學(xué)習(xí)人工智能

2021-02-14 00:21:37

區(qū)塊鏈數(shù)字貨幣金融

2020-11-30 08:34:44

大數(shù)據(jù)數(shù)據(jù)分析技術(shù)

2022-04-22 11:26:55

數(shù)據(jù)管理架構(gòu)

2022-07-31 20:29:28

日志系統(tǒng)測(cè)

2021-03-03 21:31:24

量化投資利潤(rùn)

2022-01-05 18:27:44

數(shù)據(jù)挖掘工具

2022-04-12 18:29:41

元數(shù)據(jù)系統(tǒng)架構(gòu)

2021-06-29 11:21:41

數(shù)據(jù)安全網(wǎng)絡(luò)安全黑客

2021-10-17 20:38:30

微服務(wù)內(nèi)存組件

2021-03-25 11:24:25

爬蟲(chóng)技術(shù)開(kāi)發(fā)

2020-11-03 07:04:39

云計(jì)算公有云私有云

2021-10-12 18:31:40

流量運(yùn)營(yíng)前端
點(diǎn)贊
收藏

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