0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FL模拟器:快速开发和调试

jf_pJlTbmA9 来源:NVIDIA 作者:NVIDIA 2023-07-05 16:30 次阅读

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 系统上,而无需更改。

image3-3.png

图 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

    文章

    4935

    浏览量

    102806
  • AI
    AI
    +关注

    关注

    87

    文章

    30106

    浏览量

    268398
  • 模拟器
    +关注

    关注

    2

    文章

    867

    浏览量

    43160
收藏 人收藏

    评论

    相关推荐

    8051系列单机编辑调试仿真(8051模拟器)

    8051系列单机编辑调试仿真(8051模拟器)
    发表于 08-05 08:21 177次下载
    8051系列单机编辑<b class='flag-5'>调试</b>仿真<b class='flag-5'>器</b>(8051<b class='flag-5'>模拟器</b>)

    基于模拟器远程调试系统的研究与实现

    远程调试是进行嵌入式系统开发的基本调试方式。本文在全系统模拟器ArmSim 的基础上,设计并实现了基于嵌入式全系统模拟器的远程
    发表于 08-05 15:24 21次下载

    软件模拟器PICSIM调试开发

    用软件模拟器和烧写可组成一套低成本的开发系统,如针对Microchip著名的PIC单片机系列有PICKIT,即由软件模拟器PICSIM和烧写
    发表于 04-28 11:13 1559次阅读

    基于QEMU系统模拟器Xilinx/QEMU的运行与调试

    Xilinx基于QEMU系统模拟器Xilinx/QEMU可用于模拟运行Zynq Linux的运行与调试
    的头像 发表于 07-04 07:50 9083次阅读

    VLIWDSP指令级精度模拟器快速实现方法

    VLIWDSP指令级精度模拟器快速实现方法
    发表于 10-20 09:10 1次下载
    VLIWDSP指令级精度<b class='flag-5'>模拟器</b>的<b class='flag-5'>快速</b>实现方法

    Windows CE 模拟器和远程调试工具详解

    一、模拟器 模拟器(emulator)是PB的一部分。专用于调试在PB下创建的内核及应用程序。模拟器能够在PC下模拟Windows CE的物
    发表于 11-08 10:30 0次下载
    Windows CE <b class='flag-5'>模拟器</b>和远程<b class='flag-5'>调试</b>工具详解

    HarmonyOS本地模拟器重磅来袭!

    作者:longjiangyun,模拟器开发工程师 HarmonyOS模拟器是应用开发者使用IDE进行代码开发
    的头像 发表于 10-30 09:16 6008次阅读
    HarmonyOS本地<b class='flag-5'>模拟器</b>重磅来袭!

    HarmonyOS中DevEco Studio本地模拟器体验

    在 HDC2021 技术论坛上提出的 HarmonyOS 新特性中本地模拟器亮相,很让我激动。模拟器作为一个应用开发者在使用 IDE 进行代码开发
    的头像 发表于 11-10 09:31 3182次阅读
    HarmonyOS中DevEco Studio本地<b class='flag-5'>模拟器</b>体验

    浅析初次使用DevEco Studio本地模拟器后的体验

    在 HDC2021 技术论坛上提出的 HarmonyOS 新特性中本地模拟器亮相,很让我激动。模拟器作为一个应用开发者在使用 IDE 进行代码开发
    的头像 发表于 12-03 09:13 3835次阅读
    浅析初次使用DevEco Studio本地<b class='flag-5'>模拟器</b>后的体验

    RX 系列模拟器/调试器 V.1.00 用户手册

    RX 系列模拟器/调试器 V.1.00 用户手册
    发表于 04-20 19:25 0次下载
    RX 系列<b class='flag-5'>模拟器</b>/<b class='flag-5'>调试器</b> V.1.00 用户手册

    SuperH 模拟器/调试器 V.9.09.00 用户手册的补充信息

    SuperH 模拟器/调试器 V.9.09.00 用户手册的补充信息
    发表于 04-21 19:22 0次下载
    SuperH <b class='flag-5'>模拟器</b>/<b class='flag-5'>调试器</b> V.9.09.00 用户手册的补充信息

    PDSDK COM 套件参考手册(仿真/模拟器调试器定制套件)

    PDSDK COM 套件参考手册(仿真/模拟器调试器定制套件)
    发表于 05-05 19:29 0次下载
    PDSDK COM 套件参考手册(仿真<b class='flag-5'>器</b>/<b class='flag-5'>模拟器</b><b class='flag-5'>调试器</b>定制套件)

    介绍 I/O 脚本示例程序(740 系列的模拟器调试器

    介绍 I/O 脚本示例程序(740 系列的模拟器调试器
    发表于 05-11 18:52 0次下载
    介绍 I/O 脚本示例程序(740 系列的<b class='flag-5'>模拟器</b><b class='flag-5'>调试器</b>)

    PDSDK COM 套件参考手册(仿真/模拟器调试器定制套件)

    PDSDK COM 套件参考手册(仿真/模拟器调试器定制套件)
    发表于 06-26 19:21 0次下载
    PDSDK COM 套件参考手册(仿真<b class='flag-5'>器</b>/<b class='flag-5'>模拟器</b><b class='flag-5'>调试器</b>定制套件)

    介绍 I/O 脚本示例程序(740 系列的模拟器调试器

    介绍 I/O 脚本示例程序(740 系列的模拟器调试器
    发表于 06-28 19:15 0次下载
    介绍 I/O 脚本示例程序(740 系列的<b class='flag-5'>模拟器</b><b class='flag-5'>调试器</b>)