联合学习在传统机器学习方法中的应用

这篇文章最初发表在 NVIDIA 技术博客上。

在大数据和分布式计算时代,传统的机器学习方法面临着一个重大挑战:当数据分散在多个设备或竖井中时,如何协同训练模型。这就是联合学习发挥作用的地方,它提供了一个很有前途的解决方案,将模型训练与直接访问原始训练数据脱钩。

联合学习最初旨在实现去中心化数据上的协作深度学习,其关键优势之一是其通信效率。这种相同的范式可以应用于传统的 ML 方法,如线性回归、 SVM 、 k-means 聚类,以及基于树的方法,如随机森林和 boosting 。

开发传统 ML 方法的联合学习变体需要在几个层面上进行仔细考虑:

  • **算法级别:**您必须回答关键问题,例如客户端应该与服务器共享哪些信息,服务器应该如何聚合收集的信息,以及客户端应该如何处理从服务器接收的全局聚合模型更新。
  • **实施级别:**探索可用的 API 并利用它们来创建与算法公式一致的联邦管道是至关重要的。

值得注意的是联邦的 和分布式的与深度学习相比,传统方法的机器学习可能不那么独特。对于某些算法和实现,这些术语可以是等效的。

图 1 。对 基于联邦树的 XGBoost

在图 1 中,每个客户端构建一个唯一的增强树,该树由服务器聚合为树的集合,然后重新分发给客户端进行进一步的训练。

要开始使用显示此方法的特定示例,请考虑K-Means聚类示例。在这里,我们采用了Mini-Batch K-Means聚类中定义的方案,并将每一轮联合学习公式化如下:

  • **本地培训:**从全局中心开始,每个客户端都用自己的数据训练一个本地的 MiniBatchKMeans 模型。
  • **全局聚合:**服务器收集集群中心,统计来自所有客户端的信息,通过将每个客户端的结果视为小批量来聚合这些信息,并更新全局中心和每个中心的计数。

对于中心初始化,在第一轮中,每个客户端使用 k-means ++方法生成其初始中心。然后,服务器收集所有初始中心,并执行一轮 k 均值以生成初始全局中心。

从制定到实施

将联邦范式应用于传统的机器学习方法虽然说起来容易,但做起来却很困难。NVIDIA 新发布的白皮书 《联合传统机器学习算法》 提供了许多详细的示例,以展示如何制定和实现这些算法。

我们展示了如何使用流行的库,如scikit-learn和XGBoost,将联邦线性模型、k-means聚类、非线性SVM、随机森林和XGBoost应用于协作学习。

总之,联合机器学习为在去中心化数据上协同训练模型提供了一种令人信服的方法。虽然通信成本可能不再是传统机器学习算法的主要约束,但要充分利用联合学习的好处,仍然需要仔细制定和实施。

要开始使用您自己的联合机器学习工作流,请参阅联合传统机器学习算法白皮书和 NVIDIA FLARE GitHub 回购。

阅读原文

相关推荐
Vex2une5 天前
DLSS 5 2027 路线图前瞻:游戏阵容、硬件适配与技术迭代全预测
nvidia·神经渲染·dlss5·游戏适配·技术迭代·rtx 40系·rtx remix
小哈里6 天前
【推理】NVIDIA DLI培训:大规模部署与优化 AI 推理(推理原理,K8S,网关层,pd分离,MoE,Dynamo)
人工智能·容器·kubernetes·nvidia·推理
wei_shuo14 天前
GR00T N1 深度观察:当机器人行业开始谈论“基础模型“——88 小时数据家底、三道行业难题,与 NVIDIA 给出的第一个通用人形解法
nvidia·启元机器人·gr00t n1
Vex2une14 天前
异构双卡渲染避坑指南:AMD+NVIDIA混合架构下的DLSS 5适配与性能调优实战
nvidia·amd·vulkan·ai渲染·dlss5·异构双卡·dx12
the3clipse14 天前
DLSS5 Swapper 获取及使用教程:5分钟一键开启游戏神经渲染
nvidia·神经渲染·dlss5·dlss5 swapper·游戏画质优化·reshade·renodx
本地化文档16 天前
cutile-rs-book-l10n
rust·gpu·nvidia·cuda·sphinx·crowdin
撞强17 天前
Unraid 7.3.2 下 NVIDIA 显卡风扇转速调整维护文档
nvidia·xorg·unraid·fan
张张123y17 天前
120B 模型单卡跑起来?拆解 Nemotron 3.5 的压缩三板斧与本地智能体部署
nvidia·模型量化·本地部署·ai agent·nemotron
丰色木夕20 天前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
wflynn1 个月前
GitHub 今日推荐|SCSKiller:游戏着色器预编译消除卡顿
开源·c#·github·nvidia·amd·directx12