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