3 月 17 日,機器之心聯合微眾銀行開設的公開課《聯邦學習 FATE 入門與應用實戰》第三講結課,微眾銀行人工智慧部算法研究員譚明超為我們分享了《聯邦學習 FATE 算法模塊梳理及建模演示》。
3 月 19 日(本周四),我們將迎來本系列公開課的第 4 講,詳情如下:
公開課第4講(附 Live Demo)
課程主題:使用 KubeFATE 部署生產環境的聯邦學習 Kubernetes 集群
課程時間:3 月 19 日 20:00 主題講解+在線答疑+Live Demo
講師簡介:彭麟,Layne Peng,現任 VMware CTO 辦公室資深研究員。之前在 Dell EMC CTO 辦公室工作超過 7 年,負責雲計算相關領域前沿研究,也曾在某網際網路金融公司負責基礎設施部門,有豐富的一線實踐經驗。熱愛開源技術,參與了 OpenStack, Kubenetes, Docker 等開源項目,並在 OpenStack Summit, Apache Big Data Conference, LinuxCon 等會議發表過相關演講。
課程摘要:Kubernetes 是目前最流行的機器學習調度平臺,我們推薦基於 Kubernetes 構建 FATE 的聯邦學習生產環境。KubeFATE 是我們推出的 FATE 部署工具,可以通過一行命令在 Kubernetes 上從 0 部署一個生產級別的 FATE 集群,支持 FATE 的按模塊部署,多 FATE 集群管理,實現重啟、刪除、升級等功能。另外,KubeFATE 還提供了 RestAPI,可以進行集群管理的二次開發,以及跨網絡的多方部署等高級需求。
Live demo:使用 KubeFATE 在 Kubernetes 上從 0 部署一個多方 FATE 集群,並且進行集群的簡單管理。
課前準備:請預先了解 Kubernetes 的基本概念及操作,提前熟悉 MiniKube 及 KubeFATE。
第2課精選問答
在每期課程的 QA 環節中,有一些問題被廣泛提到並且很有價值,所以我們進行了精選與編輯,供大家參考。以下為第2課問答精選(第2課主題為快速部署FATE開發環境):
1)「toy_example」跑不通原因是什麼?
因為 FATE 的架構比較複雜,加上系統和網絡不穩定性等客觀原因,一遍下來某些步驟有不可控的小問題。這些問題可以逐步去排除,但是我們推薦比較簡單的方法是可以重新跑一遍或幾遍。如果還是不行那就定位是否是指令集不支持的問題,詳情請參考我們 kubeFATE 在 github 上的 wiki。
2)Exchange 也負責模型聚合嗎,還是只負責建立底層通信?
它是不負責模型聚合的,只負責通訊。
3)目標機和部署機有什麼區別?
我們前面說 KubeFATE 的使用其實分為兩個部分,一個部分是生成啟動集群的配置文件。另外一個部分就是運行的 FATE 集群。部署機就是生成配置文件的機器,目標機是運行集群的機器。部署機和目標機只是一個邏輯上的劃分,他們實際上可以是同一臺伺服器。
4)每個 party 都是有自己的 k8s 集群麼?
其實取決於你是哪種部署方式,如果是 docker-compose 的話,你就不需要有 k8s 集群了。
5)這些 party 裡有分中心機構和參與機構嗎?
沒有嚴格的區分,一個 party 即可以做分享數據的中心機構,也可以做參與機構,這取決於訓練的具體內容。
6)如何實現分布式訓練?
分布式訓練由 EggRoll 模塊提供支持,它向上提供了一個 MapReduce 的功能。
7)kubefate 支持容災嗎,節點掛了怎辦?
如果是使用 k8s 部署的話,那麼容災其實是依賴於 k8s。節點掛也沒關係,k8s 會幫你重新起一個。
8)一個 party 有多個用戶嗎?
一個 party 可以有多服務多個用戶,這是沒問題。