2019年12月16日-19日,英偉達(dá)GPU技術(shù)大會(GTC 2019,以下簡稱“大會”)在蘇州金雞湖國際會議中心舉行,來自Amazon、FaceBook、騰訊、平安等諸多國內(nèi)外知名企業(yè)機(jī)構(gòu)的專家學(xué)者匯聚一堂,就人工智能、深度學(xué)習(xí)、醫(yī)療科學(xué)、智慧金融、邊緣計算等領(lǐng)域展開深度討論。微眾銀行AI團(tuán)隊于19日在【智慧金融】分會場上聯(lián)合星云Clustar發(fā)表了《GPU在聯(lián)邦機(jī)器學(xué)習(xí)中的探索》主題演講,詳細(xì)介紹了其GPU加速聯(lián)邦學(xué)習(xí)的研究成果。
伴隨著計算力、算法和數(shù)據(jù)量的巨大進(jìn)步,人工智能迎來第三次發(fā)展高潮,開始了各行業(yè)的落地探索。然而,在“大數(shù)據(jù)”興起的同時,數(shù)據(jù)分散的情況也越發(fā)明顯,“數(shù)據(jù)孤島”現(xiàn)象廣泛存在。隨著政策法規(guī)的逐漸完善和公眾隱私保護(hù)意識的加強(qiáng),隱私安全、數(shù)據(jù)保護(hù)等原因限制著數(shù)據(jù)不能輕易互通,如何在保護(hù)數(shù)據(jù)隱私的前提下實現(xiàn)行業(yè)協(xié)作與協(xié)同治理,是大數(shù)據(jù)時代人工智能行業(yè)應(yīng)用的一大難題。
多方獲益,聯(lián)邦學(xué)習(xí)破解“數(shù)據(jù)孤島”難題
“聯(lián)邦學(xué)習(xí)”(Federated Learning)指的是在滿足隱私保護(hù)和數(shù)據(jù)安全的前提下,設(shè)計一個機(jī)器學(xué)習(xí)框架,使各個機(jī)構(gòu)在不交換數(shù)據(jù)的情況下進(jìn)行協(xié)作,提升機(jī)器學(xué)習(xí)的效果。其核心就是解決數(shù)據(jù)孤島和數(shù)據(jù)隱私保護(hù)的問題,通過建立一個數(shù)據(jù)“聯(lián)邦”,讓參與各方都獲益,推動技術(shù)整體持續(xù)進(jìn)步。大會上,來自微眾銀行AI部門的高級算法工程師黃啟軍也為觀眾展示了聯(lián)邦學(xué)習(xí)的落地案例之一——視覺橫向聯(lián)邦學(xué)習(xí)系統(tǒng)。
黃啟軍提到,在目標(biāo)檢測領(lǐng)域,已標(biāo)注數(shù)據(jù)是非常珍貴的資源,各家公司一般都有各自不同場景的標(biāo)注數(shù)據(jù),但這些數(shù)據(jù)相對散亂,如想利用其它公司已標(biāo)注好的數(shù)據(jù)模型來建立更優(yōu)模型,只能通過拷貝聚攏數(shù)據(jù),但這種行為不符合GDPR、《數(shù)據(jù)安全管理辦法》等法律規(guī)范。而引入橫向聯(lián)邦學(xué)習(xí)機(jī)制以后,個體可以在本地設(shè)備中直接標(biāo)注數(shù)據(jù),無需上傳。本地模型的訓(xùn)練數(shù)據(jù)標(biāo)注完成后,客戶端將自動加入聯(lián)邦,等待進(jìn)行訓(xùn)練,當(dāng)有兩臺設(shè)備進(jìn)入到等待訓(xùn)練狀態(tài)時,則開始進(jìn)行聯(lián)邦學(xué)習(xí)訓(xùn)練模式。
圖 視覺橫向聯(lián)邦學(xué)習(xí)系統(tǒng)示意
這一案例真實展現(xiàn)了聯(lián)邦學(xué)習(xí)技術(shù)的價值,相比于單點模型,聯(lián)邦學(xué)習(xí)使得本地設(shè)備的mAP大幅提升,同時Lossless更加穩(wěn)定。mAP平均提升15%的數(shù)據(jù)顯示,整體上聯(lián)邦學(xué)習(xí)遠(yuǎn)比單點模型效果更佳。
深度創(chuàng)新,GPU加速聯(lián)邦學(xué)習(xí)再升級
作為一門具有前景的新興技術(shù),聯(lián)邦學(xué)習(xí)為了完成隱私保護(hù)下的機(jī)器學(xué)習(xí),directadmin安裝,使用了很多與傳統(tǒng)機(jī)器學(xué)習(xí)不一樣的方法,也因此迎來了諸多新挑戰(zhàn)。在會上,黃啟軍也分享了微眾銀行AI部門攜手星云Clustar突破的聯(lián)邦學(xué)習(xí)計算三大難題:
首先就是大整數(shù)運(yùn)算問題,傳統(tǒng)機(jī)器學(xué)習(xí)一般使用的是32-bit的基本運(yùn)算,這些基本運(yùn)算一般都有芯片指令的直接支持,而聯(lián)邦學(xué)習(xí)中的Paillier/RSA算法依賴的是1024或2048-bit 甚至更長的大整數(shù)運(yùn)算,但現(xiàn)實情況是,GPU流處理器并不直接支持大整數(shù)運(yùn)算。面對這一情況,雙方基于分治思想做元素級并行,通過遞歸將大整數(shù)乘法分解成可并行計算的小整數(shù)乘法,從而實現(xiàn)“化繁為簡”,間接完成GPU流處理器的大整數(shù)運(yùn)算。
圖 通過遞歸將大整數(shù)乘法分解成可并行計算的小整數(shù)乘法示意
其次,大整數(shù)運(yùn)算中多是模冪、模乘等復(fù)雜運(yùn)算,即ab mod c (a,b,c均為N比特大整數(shù)),而GPU做模冪等運(yùn)算的代價極大,傳統(tǒng)的樸素算法會優(yōu)先計算ab,再計算值對c取模,這一算法的缺點是復(fù)雜度高達(dá)O(2^N),且中間乘積結(jié)果很大。而單一的平方乘算法則是通過ak = (ak/2)2 = ((ak/4)2)2實現(xiàn),雖然復(fù)雜度下降至O(N),且中間結(jié)果大小不超過c,但因為需要做2N次取模運(yùn)算,GPU在此項上花費(fèi)時間極高。而雙方摘取平方乘算法優(yōu)勢,并加入蒙哥馬利模乘算法計算模乘,就完全避免了取模運(yùn)算,大幅度降低了GPU的消耗。
最后,在分布式計算時,聯(lián)邦學(xué)習(xí)不止涉及數(shù)據(jù)中心內(nèi)網(wǎng)傳輸,也有廣域網(wǎng)傳輸?shù)膱鼍埃颐芪臄?shù)據(jù)體積要增加幾十倍,歐洲服務(wù)器租用,傳輸?shù)拇螖?shù)也是傳統(tǒng)機(jī)器學(xué)習(xí)的幾倍,雙方通過RDMA網(wǎng)絡(luò)技術(shù)加上自研的動態(tài)參數(shù)聚合模型技術(shù)以及機(jī)器學(xué)習(xí)專業(yè)的網(wǎng)絡(luò)傳輸協(xié)議,對聯(lián)邦學(xué)習(xí)在數(shù)據(jù)中心內(nèi)通信場景以及跨廣域網(wǎng)通信場景都進(jìn)行了很好的性能優(yōu)化。
走在前沿,聯(lián)邦學(xué)習(xí)推動AI行業(yè)大變革