女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用NVIDIA FLARE開發更具通用性的AI模型

星星科技指導員 ? 來源:NVIDIA ? 作者:Holger Roth ? 2022-04-15 09:42 ? 次閱讀

聯邦學習( FL )已成為許多實際應用的現實。它使全球范圍內的跨國合作能夠構建更健壯、更通用的機器學習人工智能模型。

NVIDIA FLARE v2.0 是一款開源的 FL SDK ,通過共享模型權重而非私有數據,數據科學家可以更輕松地協作開發更具通用性的健壯人工智能模型。

對于醫療保健應用程序,這在數據受患者保護、某些患者類型和疾病的數據可能稀少,或者數據在儀器類型、性別和地理位置上缺乏多樣性的情況下尤其有益。

查看標志

NVIDIA FLARE 代表 聯合學習應用程序運行時環境 。它是引擎的基礎NVIDIA Clara Train FL 軟件,它已經被用于醫學成像、遺傳分析、腫瘤學和 COVID-19 研究中的人工智能應用。 SDK 使研究人員和數據科學家能夠將其現有的機器學習和深度學習工作流調整為分布式范例,并使平臺開發人員能夠為分布式多方協作構建安全、隱私保護的產品。

NVIDIA FLARE 是一個輕量級、靈活且可擴展的分布式學習框架,在 Python 中實現,與您的基礎培訓庫無關。您可以在 PyTorch , TensorFlow ,甚至只是 NumPy 中實現自己的數據科學工作流,并在聯邦設置中應用它們。

也許您希望實現流行的 聯邦平均( FedAvg )算法 。從初始全局模型開始,每個 FL 客戶機在其本地數據上訓練模型一段時間,并將模型更新發送到服務器進行聚合。然后,服務器使用聚合更新來更新下一輪培訓的全局模型。此過程將反復多次,直到模型收斂。

NVIDIA FLARE 提供可定制的控制器工作流,以幫助您實施 FedAvg 和其他 FL 算法,例如, 循環重量轉移 。它安排不同的任務,例如深度學習培訓,在參與的 FL 客戶機上執行。工作流使您能夠從每個客戶端收集結果(例如模型更新),并將其聚合以更新全局模型,并將更新的全局模型發回以供繼續培訓。圖 1 顯示了原理。

每個 FL 客戶機充當工人,請求執行下一個任務,例如模型培訓。控制器提供任務后,工作人員執行任務并將結果返回給控制器。在每次通信中,可以有可選的過濾器來處理任務數據或結果,例如, homomorphic encryption 和解密或差異隱私。

pYYBAGJYzbmADPypAABc33uq4sk944.png

圖 1 。 NVIDIA FLARE 工作流

實現 FedAvg 的任務可以是一個簡單的 PyTorch 程序,它為 CIFAR-10 訓練一個分類模型。您當地的培訓師可能看起來像下面的代碼示例。為了簡單起見,我跳過了整個培訓循環。

import torch
import torch.nn as nn
import torch.nn.functional as F from nvflare.apis.dxo import DXO, DataKind, MetaKey, from_shareable
from nvflare.apis.executor import Executor
from nvflare.apis.fl_constant import ReturnCode
from nvflare.apis.fl_context import FLContext
from nvflare.apis.shareable import Shareable, make_reply
from nvflare.apis.signal import Signal
from nvflare.app_common.app_constant import AppConstants class SimpleNetwork(nn.Module): def __init__(self): super(SimpleNetwork, self).__init__() self.conv1 = nn.Conv2d(3, 6, 5) self.pool = nn.MaxPool2d(2, 2) self.conv2 = nn.Conv2d(6, 16, 5) self.fc1 = nn.Linear(16 * 5 * 5, 120) self.fc2 = nn.Linear(120, 84) self.fc3 = nn.Linear(84, 10) def forward(self, x): x = self.pool(F.relu(self.conv1(x))) x = self.pool(F.relu(self.conv2(x))) x = torch.flatten(x, 1) # flatten all dimensions except batch x = F.relu(self.fc1(x)) x = F.relu(self.fc2(x)) x = self.fc3(x) return x class SimpleTrainer(Executor): def __init__(self, train_task_name: str = AppConstants.TASK_TRAIN): super().__init__() self._train_task_name = train_task_name self.device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") self.model = SimpleNetwork() self.model.to(self.device) self.optimizer = torch.optim.SGD(self.model.parameters(), lr=0.001, momentum=0.9) self.criterion = nn.CrossEntropyLoss() def execute(self, task_name: str, shareable: Shareable, fl_ctx: FLContext, abort_signal: Signal) -> Shareable: """ This function is an extended function from the superclass. As a supervised learning-based trainer, the train function will run training based on model weights from `shareable`. After finishing training, a new `Shareable` object will be submitted to server for aggregation.""" if task_name == self._train_task_name: epoch_len = 1 # Get current global model weights dxo = from_shareable(shareable) # Ensure data kind is weights. if not dxo.data_kind == DataKind.WEIGHTS: self.log_exception(fl_ctx, f"data_kind expected WEIGHTS but got {dxo.data_kind} instead.") return make_reply(ReturnCode.EXECUTION_EXCEPTION) # creates an empty Shareable with the return code # Convert weights to tensor and run training torch_weights = {k: torch.as_tensor(v) for k, v in dxo.data.items()} self.local_train(fl_ctx, torch_weights, epoch_len, abort_signal) # compute the differences between torch_weights and the now locally trained model model_diff = ... # build the shareable using a Data Exchange Object (DXO) dxo = DXO(data_kind=DataKind.WEIGHT_DIFF, data=model_diff) dxo.set_meta_prop(MetaKey.NUM_STEPS_CURRENT_ROUND, epoch_len) self.log_info(fl_ctx, "Local training finished. Returning shareable") return dxo.to_shareable() else: return make_reply(ReturnCode.TASK_UNKNOWN) def local_train(self, fl_ctx, weights, epoch_len, abort_signal): # Your training routine should respect the abort_signal. ... # Your local training loop ... for e in range(epoch_len): ... if abort_signal.triggered: self._abort_execution() ... def _abort_execution(self, return_code=ReturnCode.ERROR) -> Shareable: return make_reply(return_code)

您可以看到您的任務實現可以執行許多不同的任務。您可以計算每個客戶機上的摘要統計信息,并與服務器共享(記住隱私限制),執行本地數據的預處理,或者評估已經訓練過的模型。

在 FL 培訓期間,您可以在每輪培訓開始時繪制全局模型的性能。對于本例,我們在 CIFAR-10 的異構數據拆分上運行了八個客戶端。在下圖(圖 2 )中,我顯示了默認情況下 NVIDIA FLARE 2.0 中可用的不同配置:

FedAvg

FedProx

FedOpt

使用同態加密進行安全聚合的 FedAvg ( FedAvg HE )

poYBAGJYzcCADwrRAABs3gmM85Q462.png

圖 2 。訓練期間不同 FL 算法全局模型的驗證精度

雖然 FedAvg 、 FedAvg HE 和 FedProx 在這項任務中的性能相當,但您可以使用 FedOpt 設置觀察到改進的收斂性,該設置使用 SGD with momentum 來更新服務器上的全局模型。

整個 FL 系統可以使用管理 API 進行控制,以自動啟動和操作不同配置的任務和工作流。 NVIDIA 還提供了一個全面的資源調配系統,可在現實世界中輕松安全地部署 FL 應用程序,同時還提供了運行本地 FL 模擬的概念驗證研究。

poYBAGJYzceAejT8AADeGNbDAM0088.png

圖 3 。 NVIDIA FLARE 供應、啟動、操作( PSO )組件及其 API

開始

NVIDIA FLARE 使 FL 可用于更廣泛的應用。潛在使用案例包括幫助能源公司分析地震和井筒數據、制造商優化工廠運營以及金融公司改進欺詐檢測模型。

關于作者

Holger Roth 是 NVIDIA 的高級應用研究科學家,專注于醫學成像的深度學習。在過去幾年中,他一直與臨床醫生和學者密切合作,為放射應用開發基于深度學習的醫學圖像計算和計算機輔助檢測模型。他擁有博士學位。來自英國倫敦大學學院。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5247

    瀏覽量

    105814
  • 計算機
    +關注

    關注

    19

    文章

    7634

    瀏覽量

    90243
  • 深度學習
    +關注

    關注

    73

    文章

    5555

    瀏覽量

    122510
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    首創開源架構,天璣AI開發套件讓端側AI模型接入得心應手

    AI的演進正在逼近“終端智能涌現”的拐點,從通用模型向場景落地遷移成為關鍵議題。聯發科以“AI隨芯,應用無界”為主題召開天璣開發者大會202
    發表于 04-13 19:52

    英偉達GTC2025亮點 NVIDIA推出Cosmos世界基礎模型和物理AI數據工具的重大更新

    、Figure AI、Skild AI 是最早采用該技術的公司。 NVIDIA 宣布推出全新 NVIDIA Cosmos 世界基礎模型 (W
    的頭像 發表于 03-20 19:01 ?806次閱讀

    通用汽車和NVIDIA合作構建定制化AI系統

    通用汽車和 NVIDIA 宣布正在借助 AI、仿真和加速計算技術,合作打造下一代汽車、工廠和機器人。
    的頭像 發表于 03-20 14:40 ?950次閱讀

    NVIDIA 推出開放推理 AI 模型系列,助力開發者和企業構建代理式 AI 平臺

    月 18 日 —— ?NVIDIA 今日發布具有推理功能的開源 Llama Nemotron 模型系列,旨在為開發者和企業提供業務就緒型基礎,助力構建能夠獨立工作或以團隊形式完成復雜任務的高級
    發表于 03-19 09:31 ?201次閱讀
    <b class='flag-5'>NVIDIA</b> 推出開放推理 <b class='flag-5'>AI</b> <b class='flag-5'>模型</b>系列,助力<b class='flag-5'>開發</b>者和企業構建代理式 <b class='flag-5'>AI</b> 平臺

    NVIDIA發布Cosmos平臺,加速物理AI開發

    )和機器人等物理AI系統的快速發展。 Cosmos平臺的核心在于其強大的生成式世界基礎模型,能夠模擬和預測復雜環境中的各種物理現象。結合高級tokenizer,Cosmos能夠高效地處理和分析大量數據,為物理AI系統的決策提供有
    的頭像 發表于 01-13 11:06 ?727次閱讀

    NVIDIA推出加速物理AI開發的Cosmos世界基礎模型

    經數百萬小時的駕駛和機器人視頻數據訓練的先進模型,可用于普及物理 AI 開發,并以開放模型許可形式提供。
    的頭像 發表于 01-09 11:05 ?658次閱讀

    NVIDIA推出面向RTX AI PC的AI基礎模型

    NVIDIA 今日發布能在 NVIDIA RTX AI PC 本地運行的基礎模型,為數字人、內容創作、生產力和開發提供強大助力。
    的頭像 發表于 01-08 11:01 ?487次閱讀

    NVIDIA推出多個生成式AI模型和藍圖

    NVIDIA 宣布推出多個生成式 AI 模型和藍圖,將 NVIDIA Omniverse 一體化進一步擴展至物理 AI 應用,如機器人、自動
    的頭像 發表于 01-08 10:48 ?528次閱讀

    NVIDIA推出全新生成式AI模型Fugatto

    NVIDIA 開發了一個全新的生成式 AI 模型。利用輸入的文本和音頻,該模型可以創作出包含任意的音樂、人聲和聲音組合的作品。
    的頭像 發表于 11-27 11:29 ?752次閱讀

    使用全新NVIDIA AI Blueprint開發視覺AI智能體

    為提高生產力、優化流程和創造更加安全的空間,埃森哲、戴爾科技和聯想等公司正在使用全新 NVIDIA AI Blueprint 開發視覺 AI 智能體。
    的頭像 發表于 11-06 13:58 ?918次閱讀

    NVIDIA助力提供多樣、靈活的模型選擇

    在本案例中,Dify 以模型中立以及開源生態的優勢,為廣大 AI 創新者提供豐富的模型選擇。其集成的 NVIDIAAPI Catalog、NVIDIA NIM和Triton 推理服務器
    的頭像 發表于 09-09 09:19 ?862次閱讀

    NVIDIA RTX AI套件簡化AI驅動的應用開發

    NVIDIA 于近日發布 NVIDIA RTX AI套件,這一工具和 SDK 集合能夠幫助 Windows 應用開發者定制、優化和部署適用于 Windows 應用的
    的頭像 發表于 09-06 14:45 ?792次閱讀

    NVIDIA AI Foundry 為全球企業打造自定義 Llama 3.1 生成式 AI 模型

    借助 NVIDIA AI Foundry,企業和各國現在能夠使用自有數據與 Llama 3.1 405B 和 NVIDIA Nemotron 模型配對,來構建“超級
    發表于 07-24 09:39 ?867次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>AI</b> Foundry 為全球企業打造自定義 Llama 3.1 生成式 <b class='flag-5'>AI</b> <b class='flag-5'>模型</b>

    揭秘NVIDIA AI Workbench 如何助力應用開發

    簡化和優化生成式 AI 開發的工具備受追捧,需求與日俱增。借助基于檢索增強生成(RAG)(該技術通過從指定外部來源獲取事實資料,來提高生成式 AI 模型的準確
    發表于 07-10 18:51 ?823次閱讀
    揭秘<b class='flag-5'>NVIDIA</b> <b class='flag-5'>AI</b> Workbench 如何助力應用<b class='flag-5'>開發</b>

    Al大模型機器人

    豐富的知識儲備。它們可以涵蓋各種領域的知識,并能夠回答相關問題。靈活性與通用性: AI模型機器人具有很強的靈活性和通用性,能夠處理各種類型的任務和問題。持續學習和改進: 這些
    發表于 07-05 08:52