您當前的位置:首頁 > 書法

聯邦學習開源框架FATE研究---入門簡介

作者:由 花京華 發表于 書法時間:2020-01-18

聯邦學習技術,用於打破資料孤島、安全合規的讓資料產生更多價值,近兩年研究越來越多。聯邦學習的基礎知識,具體就不介紹了,大家可以自行搜尋。

這個專欄主要研究聯邦學習相關技術,首先給大家介紹一下微眾開源的框架——FATE

這個專案git上由1。3k star,是目前我搜到的最流行的聯邦學習的開源框架,如果讀者有發現更好的聯邦學習框架,請私信我。

開啟git可以看到readme,資料很詳細,而且非常照顧我等英文水平一般的人,有中文版本的readme。

功能

我們應用上使用聯邦學習的框架,主要還是使用機器學習部分,我們可以看到目前fate機器學習部分已經有18個模組,基本上集成了聯邦機器學習橫向/縱向場景的各種功能,涵蓋了資料讀取、特徵預處理(多方安全的特徵分箱、特徵相關係數計算)、建模(邏輯/線性迴歸、boosting、神經網路等常用模型)、評估等各個過程

machine learning模組readme:

整體架構如下:

聯邦學習開源框架FATE研究---入門簡介

執行和安裝

支援的環境:linux ,mac 。支援的安裝方式包括本地安裝和K8s安裝

執行模式包括:Standalone單機版和 Cluster 多節點叢集版

我們開發和測試聯邦機器學習模組,通常在單機版進行,單機版提供三種部署方式,可以根據實際情況選擇:

使用Docker映象安裝FATE(推薦)

在主機中安裝FATE

使用Docker從原始碼構建FATE(需要40分鐘或更長時間)

由於我們後面需要對FATE進行開發和除錯,我們必須使用主機中安裝方式,具體參考

後面將會專門寫一篇文章來講FATE在 MAC上的安裝和DEBUG除錯,中間還是有很多坑需要注意的。

快速開始

FATE提供了很多demo指令碼,在聯邦學習裡面的Hello World應該是縱向的邏輯迴歸模型(hetero-lr),quick

run。p

y提供了快速開始一個邏輯迴歸模型的指令碼,另外指令碼在執行時生成的job配置和多方計算的日誌也足夠詳盡,後面文章會逐一介紹

自定義演算法

FATE支援自定義模組來實現自己的聯邦學習演算法,本人已經根據指南實現了多個聯邦學習演算法來實現具體業務需求,自定義演算法模組整體比較簡單,只需要定義模組執行的基本資訊、模型引數和預設值、傳輸變數,然後就可以開始寫聯邦學習模型,由於框架已經對傳輸變數進行來很方便的封裝,所以整體來說非常友好。具體可以參考:

其他文件

詳細的文件是我們研究一個開源框架的基礎,也是一個開源框架能廣泛傳播的前提。雖然從Fate內部程式碼可以看到各種風格,而且很多地方缺少註釋,讓人云裡霧裡。但是對於重要的api,也提供了詳細的功能、入參、出參的說明,對我們完全掌握該框架來說基本夠用

下一篇將從實戰角度介紹,如何在MAC上將FATE跑起來,並介紹怎麼進行debug

標簽: fate  聯邦  學習  框架  模組