<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 10740字,需瀏覽 22分鐘

           ·

          2022-08-04 08:09

          導(dǎo)讀:分布式機(jī)器學(xué)習(xí)與聯(lián)邦學(xué)習(xí)。


          作者:薄列峰 黃恒 顧松庠 陳彥卿 等
          來源:大數(shù)據(jù)DT(ID:hzdashuju)




          分布式機(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í)的一種特殊類型,它可以進(jìn)一步解決分布式機(jī)器學(xué)習(xí)遇到的一些困難,從而構(gòu)建面向隱私保護(hù)的人工智能應(yīng)用和產(chǎn)品。


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

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

          在某些情況下,單個(gè)機(jī)器上模型訓(xùn)練的較長運(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ù)量太大而無法移動(dòng)和集中。

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

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

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

          與此同時(shí),HPC社區(qū)已經(jīng)確定機(jī)器學(xué)習(xí)是一種新興的高價(jià)值工作負(fù)載,并開始將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í)問題(如提取天氣模式)是如何在大型并行HPC系統(tǒng)上進(jìn)行優(yōu)化和擴(kuò)展的。
          • Yan等人于2016年提出通過借用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ǔ)的方式來加速工作負(fù)載:向一臺(tái)機(jī)器添加更多資源(垂直擴(kuò)展,比如GPU/TPU計(jì)算核心的不斷提升),向系統(tǒng)添加更多節(jié)點(diǎn)(水平擴(kuò)展,成本低)。

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


          02 分布式機(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)。一般來說,機(jī)器學(xué)習(xí)問題可以分為訓(xùn)練階段預(yù)測(cè)階段(見圖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í)模型,通過輸入大量的訓(xùn)練數(shù)據(jù),并使用常用的ML算法,如進(jìn)化算法(Evolutionary Algorithm,EA)、基于規(guī)則的機(jī)器學(xué)習(xí)算法(Rule-based Machine Learning algorithm,比如決策樹和關(guān)聯(lián)規(guī)則)、主題模型(Topic Model,TM)、矩陣分解(Matrix Factorization)和基于隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)的算法等,進(jìn)行模型更新。

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

          雖然模型的訓(xùn)練階段通常需要大量的計(jì)算,并且需要大量的數(shù)據(jù)集,但是可以用較少的計(jì)算能力來執(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í),我們可以用兩種不同的方法將問題劃分到所有機(jī)器上,即數(shù)據(jù)或模型并行(見圖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)(通過集中化或復(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í)例,并使用集成之類的方法(如Bagging、Boosting等)聚合所有訓(xùn)練過的模型的輸出。最終的架構(gòu)決策是分布式機(jī)器學(xué)習(xí)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)。組成分布式系統(tǒng)的不同節(jié)點(diǎn)需要通過特定的體系結(jié)構(gòu)模式進(jìn)行連接,以實(shí)現(xiàn)豐富的功能。這是一個(gè)常見的任務(wù)。然而,模式的選擇對(duì)節(jié)點(diǎn)可以扮演的角色、節(jié)點(diǎn)之間的通信程度以及整個(gè)部署的故障恢復(fù)能力都有影響。

          圖1-7顯示了4種可能的拓?fù)洌螧aran對(duì)分布式通信網(wǎng)絡(luò)的一般分類。集中式結(jié)構(gòu)(圖1-7a)采用一種嚴(yán)格的分層方法進(jìn)行聚合,它發(fā)生在單個(gè)中心位置。去中心化的結(jié)構(gòu)允許中間聚合,當(dāng)聚合被廣播到所有節(jié)點(diǎn)時(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)沒有被分配特定的角色。

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


          03 分布式機(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)容上的交叉。常見的加密方法,如安全多方計(jì)算、同態(tài)計(jì)算、差分隱私等也逐漸應(yīng)用在分布式機(jī)器學(xué)習(xí)中。總的來說,聯(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ù)位置的基本問題。這樣,聯(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ā)布。

          延伸閱讀聯(lián)邦學(xué)習(xí):算法詳解與系統(tǒng)實(shí)現(xiàn)
          點(diǎn)擊上圖了解及購買
          轉(zhuǎn)載請(qǐng)聯(lián)系微信:DoctorData

          推薦語:本書首先介紹聯(lián)邦學(xué)習(xí)的定義和發(fā)展歷史,按類別介紹聯(lián)邦學(xué)習(xí)算法和發(fā)展現(xiàn)狀,介紹聯(lián)邦學(xué)習(xí)的應(yīng)用場(chǎng)景,以及相關(guān)安全機(jī)器學(xué)習(xí)的技術(shù)。然后我們將介紹新的最前沿的聯(lián)邦學(xué)習(xí)算法,用京東數(shù)科系統(tǒng)作為實(shí)例,對(duì)聯(lián)邦學(xué)習(xí)系統(tǒng)構(gòu)建和實(shí)現(xiàn)進(jìn)行講解。最后我們將介紹京東數(shù)科自研的基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)技術(shù)。

          關(guān)于作者:薄列峰京東科技集團(tuán)副總裁、硅谷研發(fā)部負(fù)責(zé)人。曾擔(dān)任包括Neu-rIPS、CVPR、ICCV、ECCV、AAAI、SDM等在內(nèi)的多個(gè)頂級(jí)人工智能會(huì)議程序委員會(huì)委員。在國際頂級(jí)會(huì)議和期刊上合計(jì)發(fā)表論文80余篇,論文被引用10186次,H指數(shù)44。其博士學(xué)位論文榮獲國內(nèi)百篇優(yōu)秀博士論文獎(jiǎng),RGB-D物體識(shí)別論文榮獲機(jī)器人領(lǐng)域?qū)W術(shù)會(huì)議ICRA最佳計(jì)算機(jī)視覺論文獎(jiǎng)。
          黃恒大數(shù)據(jù)、機(jī)器學(xué)習(xí)、人工智能等領(lǐng)域的國際學(xué)術(shù)帶頭人,美國匹茲堡大學(xué)電子及計(jì)算機(jī)工程系杰出講座終身教授,AIMBE Fellow。作為會(huì)議程序主席或主席團(tuán)成員,組織了超過20個(gè)國際學(xué)術(shù)會(huì)議。在國際頂級(jí)會(huì)議和期刊上發(fā)表了超過220篇文章,文章引用超過18000次,作為項(xiàng)目負(fù)責(zé)人領(lǐng)導(dǎo)了超過20個(gè)國際領(lǐng)先的科研項(xiàng)目。
          顧松庠,計(jì)算機(jī)博士,京東科技聯(lián)邦學(xué)習(xí)部負(fù)責(zé)人。對(duì)機(jī)器學(xué)習(xí)算法和大規(guī)模并行系統(tǒng)有深入研究,曾在美國FDA任高級(jí)機(jī)器學(xué)習(xí)及統(tǒng)計(jì)科學(xué)家,建設(shè)放射成像醫(yī)療儀器的評(píng)價(jià)體系;先后加入 WalmartLabs和Linkedln公司,負(fù)責(zé)機(jī)器學(xué)習(xí)平臺(tái)架構(gòu)設(shè)計(jì)。2018年加入京東科技,并帶領(lǐng)多個(gè)團(tuán)隊(duì)先后建設(shè)了智能客服、知識(shí)圖譜和聯(lián)邦學(xué)習(xí)系統(tǒng)。
          陳彥卿,京東技術(shù)總監(jiān),畢業(yè)于北京大學(xué),并在紐約州立大學(xué)石溪分校獲得計(jì)算機(jī)博士學(xué)位。作為排頭兵投身聯(lián)邦學(xué)習(xí)領(lǐng)域,探究加密信息的合理應(yīng)用,堅(jiān)信面向隱私保護(hù)的機(jī)器學(xué)習(xí)技術(shù)將引領(lǐng)未來。


          刷刷視頻??

          人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的關(guān)系,終于有人講明白了

          直播預(yù)告??


          干貨直達(dá)??


          更多精彩??

          在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          讀書 | 書單 | 干貨 | 講明白 | 神操作 | 手把手
          大數(shù)據(jù) | 云計(jì)算 | 數(shù)據(jù)庫 | Python | 爬蟲 | 可視化
          AI | 人工智能 | 機(jī)器學(xué)習(xí) | 深度學(xué)習(xí) | NLP
          5G | 中臺(tái) | 用戶畫像 數(shù)學(xué) | 算法 數(shù)字孿生

          據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)
          ??
          瀏覽 24
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜桃丰满熟妇av无码区不卡 | 天天澡天天狠天天天做 | 大香蕉伊人久久 | av天堂8 | 网站自拍视频网站在线看 |