在深度學習時代,聯邦學習(FL)提供了一種分散式的協作學習的方法,允許多機構資料所有者或客戶在不洩漏資料隱私的情況下協作訓練機器學習模型。然而,大多數現有的 FL 方法依賴於集中式伺服器進行全域性模型聚合,從而導致單點故障。這使得系統在與不誠實的客戶打交道時容易受到惡意攻擊。本文中,FLock 系統採用了點對點投票機制和獎勵與削減機制,這些機制由鏈上智慧合約提供支援,以檢測和阻止惡意行為。FLock 理論和實證分析都證明了所提出方法的有效性,表明該框架對於惡意客戶端行為具有魯棒性。
現今,機器學習(ML),更具體地說,深度學習已經改變了從金融到醫療等廣泛的行業。在當前的 ML 正規化中,訓練資料首先被收集和策劃,然後透過最小化訓練資料上的某些損失標準來最佳化 ML 模型。學習環境中的一個共同基本假設是訓練資料可以立即訪問或輕鬆地跨計算節點分發,即資料是「集中式」的。
然而,在一個擁有多個「客戶端」(即資料持有者)的系統中,為了確保資料集中化,客戶端必須將本地資料上傳到一個集中裝置(例如中心伺服器)以進行上述的集中式訓練。儘管集中式訓練在各種深度學習應用中取得了成功,但對資料隱私和安全的擔憂日益增長,特別是當客戶端持有的本地資料是私有的或包含敏感資訊時。
聯邦學習(FL)可以解決訓練資料隱私的問題。在一個典型的 FL 系統中,一箇中心伺服器負責聚合和同步模型權重,而一組客戶端操縱多站點資料。這促進了資料治理,因為客戶端僅與中心伺服器交換模型權重或梯度,而不是將本地資料上傳到中心伺服器,並且已經使 FL 成為利用多站點資料同時保護隱私的標準化解決方案。
然而,現有的 FL 大多不能保證來自客戶端的上傳模型更新的質量。例如,我們可以將惡意行為定義為透過投毒攻擊故意降低全域性模型學習效能(例如準確性和收斂性)的行為。攻擊者可以透過操縱客戶端破壞 FL 系統,而不是黑進中心伺服器。這項工作專注於防禦客戶端投毒攻擊。
一種解決方案是將 FL 與如全同態加密(FHE)和安全多方計算(SMPC)等複雜的密碼協議相結合,以減輕客戶端的惡意行為。然而,採用這些複雜的密碼協議為 FL 參與者引入了顯著的計算開銷,從而損害了系統效能。
FLock.io 公司及其合作研究者們(上海人工智慧實驗室 Nanqing Dong 博士、帝國理工大學 Zhipeng Wang 博士、帝國理工大學 William Knoettenbelt 教授、及卡內基梅隆大學 Eric Xing 教授)透過提出一種基於區塊鏈和分散式賬本技術的安全可靠的 FL 系統框架來解決傳統聯邦學習(FL)依賴於集中式伺服器進行全域性模型聚合,從而導致單點故障這個問題,並將此係統設計命名為 FLock。
在該研究中,團隊藉助區塊鏈、智慧合約和代幣經濟學設計一種可以抵抗惡意節點攻擊(尤其是投毒攻擊)的 FL 框架。該工作的成果近期被 IEEE Transactions on Artificial Intelligence (TAI) 接收。
論文連結:https://ieeexplore.ieee.org/document/10471193
論文標題:Defending Against Poisoning Attacks in Federated Learning with Blockchain
方法介紹
靈感來源
FLock 的機制設計受到了證明權益(PoS)區塊鏈共識機制和桌面遊戲《The Resistance》(一種角色扮演類遊戲,該遊戲的一個變種叫阿瓦隆)的啟發。
PoS 要求參與者透過獎勵誠實行為並透過削減權益來懲罰不誠實行為,鼓勵誠實行為。例如,在以太坊上,希望參與驗證區塊並識別鏈頭的節點運營商將以太幣存入以太坊上的智慧合約中。某位驗證者從總驗證者池中隨機選擇作為區塊提出者提出新區塊, 其他驗證者則檢查新區塊並證明它們是否有效。如果驗證者未能完成其中相應的任務,他們就即會受到懲罰或削減;誠實節點則會收到獎勵。
《The Resistance》遊戲則透過投票機制,每輪遊戲中玩家獨立推理並投票,從而實現全域性共識。《The Resistance》有兩個不匹配的競爭方,其中較大的一方被稱為抵抗力量,另一方被稱為間諜。在《The Resistance》中,有一個投票機制,在每一輪中,每個玩家進行獨立推理併為一個玩家投票,得票最多的玩家將被視為「間諜」並被踢出遊戲。抵抗力量的目標是投票淘汰所有間諜,而間諜的目標是冒充抵抗力量並生存到最後。
整體設計
基於 PoS 和《The Resistance》的啟發,FLock 提出了一個新穎的基於區塊鏈的 FL 全域性聚合的多數投票機制,其中每個 FL 參與客戶端獨立驗證聚合本地更新的質量,併為全域性更新的接受度投票。參與者需要抵押資產或代幣。
每一輪 FL 訓練中,參與者將被隨機選中參與兩種型別的行動,提議(上傳本地更新)和投票。聚合者(可以是區塊鏈礦工或者其他 FL 鏈下聚合者)將對收到的本地更新進行聚合從而得到全域性聚合。如果大多數投票接受全域性聚合,提議者將退還其抵押的代幣,而投票接受的投票者不僅會退還,而且還會獲得投票拒絕的投票者的抵押代幣的獎勵,反之亦然。
基於股權基礎聚合機制的整體設計如下圖所示。
演算法細節如下所示:
在每一輪中,從參與的客戶端中隨機選擇提議者來進行本地訓練並將本地更新上傳到區塊鏈。
隨機選擇的投票者將下載聚合的本地更新,執行本地驗證,並投票接受或拒絕。
如果大多數投票者投票「接受」,那麼全域性模型將被更新,提案者和投票「接受」的投票者將獲得獎勵。
相反,如果大多數投票者投票「拒絕」,則全域性模型將不會更新,提案者和投票「接受」的投票者的抵押代幣將被削減。
該演算法的最終目標是讓惡意參與者的長期平均收益為負值,進而使其抵押代幣削減到低於某個允許閾值,從而被提出 FL 系統。
實驗結果
FLock 的實驗在 Kaggle Lending Club 資料集和 ChestX-ray14 資料集上顯示分析了該方案的可行性和魯棒性,包括:
與傳統 FL 相比,FLock 抵抗惡意節點的能力:如下圖所示,FLock (即 FedAVG w/block)在有惡意節點的情況下仍然保持了穩健的效能。
惡意參與者的抵押代幣變化:同理論分析一致,惡意參與者的平均代幣隨著訓練輪數 / 時間的增加而減少。並且,如果懲罰力度增大(即 \gamma 增大),則惡意參與者的平均代幣的減少速度將會增大。
誠實參與者的抵押代幣變化:相對應的,誠實參與者的平均代幣隨著訓練輪數 / 時間的增加而增加。並且,如果懲罰力度增大大(即 \gamma 增大),則誠實參與者的平均代幣的增加速度將會增大。
惡意參與者的存活時間:惡意參與者的存活時間將會隨著懲罰力度增大而縮短。
誠實參與者的存活時間:FLock 的實驗結果也指出,在惡意節點佔比較多的時候(即 \eta 增大時),較大的懲罰力度也會造成部分誠實節點的存活時間縮短(因為每一輪的提議者和投票者是隨機選取的)。因此,在實際應用中,要結合考慮惡意節點佔比(即 \eta)設定懲罰力度(即 \gamma)。
總結與展望
FLock 提出了一種基於區塊鏈、智慧合約和代幣經濟學的可以抵惡意節點攻擊的 FL 框架。該方案論證了區塊鏈和 FL 結合的可行性,證明了區塊鏈不僅可以在去中心化和激勵參與者在金融和醫學等領域的現實世界中的 FL 應用中發揮重要作用,而且還可以用來防禦投毒攻擊。
FLock 的方案已被進一步落地實現:https://www.flock.io/
團隊將於近期推出首個版本的去中心化 AI 模型訓練平臺,基建包括了激勵體系,聯邦學習和一鍵微調指令碼。平臺將主要面向兩類人群:Developer:歡迎各位 Kaggle 及 Huggingface 玩家早期入駐,完成模型訓練與驗證以獲得激勵;Task Creator:有模型訓練或者微調需求的公司或者團隊可以在FLock平臺上釋出任務,FLock提供基建組織開發者,從而省去組建AI團隊,尋找使用者基礎與資料的複雜過程,並簡化工作流。有興趣請郵件 FLock 團隊:hello@flock.io
研究方面,FLock 也正在探索更加多維度的 decentralized AI 安全解決方案,如藉助零知識證明解決 FL 中心節點作惡的問題。
研究地址:https://arxiv.org/pdf/2310.02554.pdf
Let's wait for more decentralized AI solutions from FLock!
與此同時,FLock.io 公司致力於將此技術投入到工程實踐,也於最近官宣種子輪六百萬美元的融資,由 Lightspeed Faction(光速美國)領投。