鏈接:IEEE Xplore Full-Text PDF:
作者:Ismael Martinez(蒙特利爾大學團隊)
前言:這篇文章雖然是投在國內舉辦的會議上面(沒有絲毫瞧不起CyberC會議的想法哈),但是其想法我覺得還是很新穎的,該方案主體是采用了EOS區塊鏈結構,使用off-chain來直接存盤本地模型訓練的梯度值,使用on-chain來存盤本地模型訓練得到梯度值的hash值,防止資料被篡改,激勵機制是采用了token,文中沒有提及太多,就是簡單的根據資料消耗量來獎勵,同時,off-chain是結合IPFS星際檔案系統來存盤梯度值,這能極大地提高查詢效率,另外,這里用到了大量的智能合約操作,主要是限制模型擁有者與本地節點功能的重合,也就是希望他么各司其職互不打擾,
Motivation:以往方案的缺陷不足
- BlockFL鏈:僅根據訓練資料量來獎勵,評價標準就是一個訓練時間指標,惡意不誠實節點很容易造假騙取獎勵;
- DeepChain鏈:該方案嚴重依賴誠實的委員節點,通過隨機法選擇委員節點,這在實際情況下可能不太現實;
- 以太坊區塊鏈(kurtulmusv and Daniel):該方案基于以太坊結構來實作,面臨的問題是gas的費用一直在上漲,普通用戶可能難以支付;
簡而言之,相關作業的局限性可歸納為獎勵用戶貢獻的不準確或效率低下,以及區塊鏈上資料缺乏可擴展性,
Idea:
1)模型擁有者O將當前輪次的模型引數以及其他相關資訊發送給本地設備D;
2)本地設備D使用本地資料在off-chain訓練模型,并計算最終的梯度值;
3)本地訓練完成后,梯度值、資料集大小、設備地址以及版本號作為引數被送至智能合約FederatedLearning函式;
4)設備D將步驟3內包括所用引數的transaction法中至on-chain的生產者P;
5)每一個生產者將接收到的transaction添加至自己對應的transaction佇列后面,等待驗證;
6)每一個生產者會依次執行兩個智能合約操作,首先使用FederatedLearning函式來驗證用戶身份角色,然后使用UploadGradient函式驗證每個transaction內引數的正確性;
7a)一旦驗證通過,該transaction會被立即添加至下一個block;
7b)提交了相應transaction的設備D會受到獎勵,通過之前上傳的設備地址發放,獎勵數額則是和訓練資料消耗量成正比;
Thoughts:
- 亮點一:使用off-chain來直接存盤本地模型訓練的梯度值,使用on-chain來存盤本地模型訓練得到梯度值的hash值,防止資料被篡改

off-chain和on-chain
- 生產者確保本地節點訓練的模型引數真實性(未被惡意篡改)是通過比較on-chain和off-chain上面保存的梯度hash值,而確保模型引數準確性是通過比較本地節點訓練產生的驗證損失的趨勢來判斷,如果一直在減少,那說明這個模型是訓練成功的;
- 上述檢驗模型引數準確性的方法是CSVES方法,該方法的缺陷在于一些有效的模型引數可能在驗證時得到的損失值依舊會增加;
- 僅僅根據資料消耗量作為標準來獎勵,未得到證實;
- 存盤在off-chain的模型引數資訊只有模型擁有者有權限可以訪問,另外訓練模型引數也會采取Paillier同態加密演算法加密,進一步確保資料隱私性,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/318079.html
標籤:區塊鏈
