第5講回顧:FATE整體架構介紹與系統實踐

聯邦學習FATE入門與應用實戰發表於2020-03-26

「AI開發者成長計劃」首期公開課由機器之心與微眾銀行聯合開設,主題為《聯邦學習FATE入門與應用實戰》,特邀合作伙伴 VMware 也將參與分享。 公開課為期4周,共6期課程 ,設定主題分享、專案實踐、線上答疑等環節,從零入門聯邦學習。

整體學習計劃與加入方式請檢視:《聯邦學習FATE入門與應用實戰》公開課上線!

3 月 24 日,機器之心聯合微眾銀行開設的公開課《聯邦學習 FATE 入門與應用實戰》 第五講結課,微眾銀行人工智慧部系統架構師曾紀策為大家介紹了 FATE 的整體架構、系統關鍵資料流以及如何實踐。回顧影片如下: 

第五課精選問答

1、問一下當前聯邦學習框架中心伺服器由誰負責?還是不需要中心伺服器彙集各方引數?

目前FATE支援的計算引擎不需要中心伺服器

2、fate怎麼把模型轉換成protobuf?

  • 模型的protobuf定義檔案請參考:federatedml/protobuf/proto/
  • 模型資料的生成請參考每個演算法component的export_model函式:federatedml/model_base.py(基類),federatedml/tree/hetero_secureboosting_tree_guest.py(樹模型)

3、合作兩方互動通訊方式?

加密GRPC協議

4、federation呼叫metaservice,metaservice從mysq裡讀取儲存的namespace?

  •  MetaService是一個資料庫讀寫的介面服務
  • Dtable分片儲存於各個Egg節點(storage-service),資料庫(例如MySQL)裡面儲存了DTable的分片地址,Federation需要取得分片地址。

5、guest如何配置可拿到host資料呢?

  • 沒有辦法,FATE是一個基於多方安全計算的資料隱私保護機器學習框架
  • 對於訓練中間資料,federatedml/transfer_variable/definition/定義了每個元件可以交換傳輸的資料定義,是一種自我保護機制
  • 對於聯邦排程,交換的是排程命令以及任務狀態資訊
  • 同時FATE提供自我鑑權白名單機制的高階功能,目前支援role、party id、component維度

6、fate和pysyft的對比?

  • 兩者有許多側重點不一樣,例如PySyft側重學術研究及橫向聯邦;FATE重於工業應用、縱向聯邦、橫向聯邦、遷移聯邦。
  • 排程機制不一樣,PySyft採取了類似指標的方式進行多方排程,安全性及廣域網下的穩定性需要探討。

7、灰度上線是怎麼實現的?

兩種方式,1)使用不同的service id對應不同的模型,由上游呼叫系統依據實際需求傳參不同的service id實現,優點是灰度策略上比較靈活,缺點是需要上游呼叫系統配合,2)使用同樣的service id,使用fate flow的bind命令,給不同的seving例項繫結不同的模型,那麼請求到達不同的serving例項會使用不同的模型進行推理。

8、是不是HOST有資料並且可以透過ID查到,否則無法推理?

無論哪一方沒有對應的樣本,合併的推理結果就缺少該方模型的推理結果,最終推理請求可以返回,但是需要關注狀態碼。

相關文章