NVIDIA FLARE 2.2 包括一系列新功能,可縮短開發時間并加快聯合學習的部署,幫助企業降低構建強大人工智能的成本。獲取有關此版本中新增內容的詳細信息。
作為 聯合學習 (FL) 的開源平臺和軟件開發工具包 (SDK),NVIDIA FLARE 不斷發展,使其最終用戶能夠利用分布式、多方協作來實現從模擬到生產的更強大的 AI 開發。
FLARE 2.2 的發布帶來了大量更新,簡化了研究人員和數據科學家的研發工作流程,簡化了 IT 從業者和項目負責人的部署,并加強了安全性,以確保真實部署中的數據隱私。其中包括:
簡化研究人員和開發人員的工作流程
FL 模擬器用于快速開發和調試
聯合統計
與 MONAI 和 XGBoost 集成
優化部署、操作和安全
FLARE 儀表板
統一 FLARE CLI
客戶端隱私策略
FL 模擬器:快速開發和調試
新的 FL Simulator 是支持研發工作流的關鍵功能之一。模擬器允許研究人員和開發人員運行和調試 FLARE 應用程序,而無需調配和部署項目。模擬器提供了一個輕量級環境,其中包含 FLARE 服務器和可在其上部署應用程序的任意數量的連接客戶端。通過利用 Simulator Runner API 可以進行調試,允許開發人員使用 簡單的 Python 驅動應用 腳本在 FLARE 應用程序代碼中創建斷點。
模擬器旨在通過在有限數量的線程中順序運行客戶端進程來適應資源有限的系統,如研究人員的筆記本電腦。通過為每個 GPU 分配一個或多個客戶端,可以在具有多個 GPU 的較大系統上輕松運行相同的模擬。這為開發人員或研究人員提供了一個靈活的環境來測試應用程序的可伸縮性。一旦開發和調試了應用程序,相同的應用程序代碼就可以直接部署到生產的分布式 FL 系統上,而無需更改。
圖 2.FLARE Dashboard 顯示了“項目管理”用戶管理面板(左),以及用于自助下載項目配置和客戶端軟件的“用戶”面板 (right)
聯合學習工作流和聯合數據科學
FLARE 2.2 還引入了新的集成和聯合工作流,旨在簡化應用程序開發并實現聯合數據科學和分析。
聯合統計
在使用分布式數據集時,評估數據質量和跨客戶端數據集的分布通常很重要。 FLARE 2.2 提供了一組 federated statistics 運算符(控制器和執行器),可用于基于單個客戶端統計信息生成全局統計信息。
工作流控制器和執行器的設計允許數據科學家根據感興趣的數據集的細節快速實現自己的統計方法(生成器)。常用的統計數據是現成的,包括計數、總和、平均值、標準差和直方圖,以及可視化全局和單個統計數據的例程。內置可視化工具可用于查看所有站點的所有數據集以及全局聚合的統計信息,例如在筆記本實用程序中,如圖 3 所示。
除了這些新的工作流之外,還更新了現有的 FLARE 示例集,以與 FL 模擬器集成,并利用新的隱私和安全功能。這些示例應用程序利用了常見的 Python 工具包,如 NumPy 、 PyTorch 和 Tensorflow ,并突出了培訓、交叉驗證和聯合分析中的工作流。
FLARE 和 MONAI 的集成
MONAI, the Medical Open Network for AI 最近發布了一個抽象,該抽象允許以 MONAI Bundle ( MB )格式打包的 MONAI 模型在任何在這些新 API 中實現客戶端訓練算法的平臺上輕松擴展以進行聯合訓練。 FLARE 2.2 包括一個新的客戶端執行器,它實現了這種集成,使 MONAI 模型開發人員能夠使用捆綁包概念輕松開發和共享模型,然后使用 NVIDIA FLARE 以聯合模式無縫部署這些模型。
要查看使用 FLARE 使用聯合平均( FedAvg )和 MONAI Bundle 訓練醫學圖像分析模型的示例,請訪問 GitHub 上的 security framework of NVIDIA FLARE 。該示例顯示了如何下載數據集,從 MONAI Model Zoo 下載 spleen_ct_segmentation 捆綁包,以及如何使用 FL 模擬器或 POC 模式在 FLARE 中執行它。
MONAI 還允許計算捆綁包中定義的數據集的摘要數據統計信息。可以使用上述聯合統計運算符在 FLARE 中共享和可視化這些數據。
XGBoost 集成
來自聯合學習用戶社區的一個常見請求是在聯合范例中支持更傳統的機器學習框架。 FLARE 2.2 提供了使用兩種方法進行橫向聯合學習的示例:基于直方圖的協作和基于樹的協作。
社區 DMLC XGBoost 項目最近發布了對現有分布式 XGBoost 訓練算法的改編,該算法允許聯合客戶端在分布式算法中充當不同的工作者。該分布式算法用于演示基于直方圖的方法的 reference implementation of horizontal federated learning 。
FLARE 2.2 還使用兩種方法提供了 reference federated implementation of tree-based boosting :循環訓練和打包聚合。在循環訓練方法中,多個站點對自己的本地數據執行樹增強,將生成的樹序列轉發給聯合中的下一個客戶端,以進行下一輪增強。在 Bagging Aggregation 方法中,所有站點都從同一個全局模型開始,并根據其本地數據對多棵樹進行增強。然后,服務器聚合生成的樹,以進行下一輪的提升。
真實世界聯合學習
FLARE 2.2 中提供的新工具和工作流套件使開發人員和數據科學家能夠快速構建應用程序,并在分布式聯合學習部署中更輕松地將其投入生產。當移動到真實的分布式部署時,項目負責人和開發人員以及參與聯合學習部署的各個站點都必須考慮到許多安全和隱私問題。
FLARE 儀表板:優化部署
2.2 中的新功能是 FLARE Dashboard ,旨在為支持真實世界 FL 部署的主要研究人員和 IT 從業者簡化項目管理和部署。 FLARE Dashboard 允許項目管理員部署一個網站,該網站可用于定義項目詳細信息、收集有關參與者站點的信息,以及分發用于連接客戶端站點的啟動工具包。
FLARE Dashboard 由平臺早期版本中的相同資源調配系統支持,允許用戶根據項目要求靈活選擇 web UI 或經典命令行資源調配。儀表板和資源調配 CLI 現在都支持動態資源調配,允許項目管理員按需添加聯合和管理客戶端。這種在不影響現有客戶的情況下動態分配新培訓和管理客戶的能力大大簡化了項目生命周期內 FL 系統的管理。
統一 FLARE CLI
FLARE command-line interface ( CLI )已被完全重寫,以將所有命令合并到一個通用的頂級nvflare CLI 中,并引入新的便利工具以提高可用性。
$ nvflare -h usage: nvflare [-h] [--version] {poc,preflight_check,provision,simulator,dashboard,authz_preview} ...
子命令包括所有預先存在的獨立 CLI 工具,如poc、provision和authz_preview,以及用于啟動 FL 模擬器和 FLARE Dashboard 的新命令。nvflare命令現在還包括一個preflight_check,它為管理員和最終用戶提供了一個工具,用于驗證系統配置、與其他 FLARE 子系統的連接、正確的存儲配置以及執行客戶端或服務器的試運行連接。
提高了站點安全性
security framework of NVIDIA FLARE 在 2.2 中進行了重新設計,以提高可用性和整體安全性。用于定義特權和系統操作策略的角色已精簡為:項目管理員、組織管理員、首席研究員和成員研究員。基于這些角色,安全框架得到了加強,以允許各個組織和站點實施自己的政策,通過聯邦授權框架保護個人隱私和知識產權( IP )。
聯合授權將隱私和安全策略的定義和實施轉移到各個組織和成員站點,允許參與者定義自己的細粒度站點策略:
每個組織在自己的授權中定義其策略。 json 配置
該本地定義的策略由組織擁有的 FL 客戶端加載
這些 FL 客戶端也執行該策略
站點策略可用于控制聯合學習工作流的所有方面,包括:
資源管理:僅由本地 IT 部門決定的系統資源配置
授權策略:本地授權策略,用于確定用戶可以或不能在本地站點上執行的操作
隱私政策:本地政策,規定允許哪些類型的學習以及如何在本地網站上為 FL 客戶端生成的學習結果添加隱私保護
日志配置:每個站點現在都可以為系統生成的日志消息定義自己的日志配置
這些站點策略還允許各個站點通過定義自定義過濾器和應用于在客戶端站點和中央服務器之間傳遞的任何信息的加密來實施自己的數據隱私。
這一新的安全框架為項目和組織管理員、研究人員和站點 IT 人員提供了將聯合學習項目從概念驗證到實際部署所需的工具。
NVIDIA FLARE 2.2 入門
我們重點介紹了 FLARE 2.2 中的一些新功能,這些功能使研究人員和開發人員能夠快速采用該平臺來原型化和部署聯合學習工作流。 FL Simulator 和 FLARE Dashboard 等用于優化開發和部署的工具,以及越來越多的參考工作流,使您比以往任何時候都更容易、更快地開始并節省寶貴的開發時間。
-
NVIDIA
+關注
關注
14文章
4999瀏覽量
103223 -
AI
+關注
關注
87文章
31036瀏覽量
269385 -
模擬器
+關注
關注
2文章
877瀏覽量
43262
發布評論請先 登錄
相關推薦
評論