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

Windows CE 模擬器和遠(yuǎn)程調(diào)試工具詳解

HarmonyOS中DevEco Studio本地模擬器體驗(yàn)

淺析初次使用DevEco Studio本地模擬器后的體驗(yàn)

SuperH 模擬器/調(diào)試器 V.9.09.00 用戶手冊(cè)的補(bǔ)充信息

PDSDK COM 套件參考手冊(cè)(仿真器/模擬器調(diào)試器定制套件)

PDSDK COM 套件參考手冊(cè)(仿真器/模擬器調(diào)試器定制套件)

模擬器快速上手,助力HarmonyOS應(yīng)用/服務(wù)高效開發(fā)

評(píng)論