首页
/ Flower 1.15.0 版本发布:联邦学习框架的重大升级

Flower 1.15.0 版本发布:联邦学习框架的重大升级

2025-06-10 23:15:18作者:廉皓灿Ida

Flower 是一个开源的联邦学习框架,它使研究人员和工程师能够轻松地在分布式环境中训练机器学习模型,同时保护数据隐私。联邦学习是一种新兴的机器学习范式,允许多个设备或服务器协作训练模型,而无需共享原始数据。Flower 提供了灵活的API和强大的基础设施,支持各种联邦学习场景。

核心功能增强

超级节点认证机制升级

1.15.0 版本对超级节点(SuperNode)的认证系统进行了重大改进。新的认证机制更加高效,能够有效抵御重放攻击。现在运行SuperLink时不再需要传递--auth-superlink-private-key--auth-superlink-public-key参数,简化了部署流程。更重要的是,Flower现在默认启用了自动节点认证功能,即使在未显式使用节点认证的情况下也能防止身份冒充。

消息通信架构重构

本次版本将Fleet API和ServerAppIO API(原Driver API)从基于TaskIns/TaskRes的通信方式迁移到了基于消息(message-based)的通信方式。这一变化使得API交互更加直观,与Python端的实现更加一致。新架构引入了PullMessagesPushMessages等RPC调用,为gRPC栈带来了更现代化的消息操作接口。

新功能与改进

部署引擎集成指南

新增了"如何使用部署引擎运行Flower"的详细指南,为生产环境中部署联邦学习系统提供了清晰的步骤说明。部署引擎是Flower用于生产环境的关键组件,能够管理联邦学习任务的生命周期。

网络通信参考文档

新增了"Flower网络通信"参考文档,详细描述了Flower联邦AI系统中使用的网络连接方式,帮助用户理解系统内部通信机制。

LeRobot集成示例

引入了一个全新的示例,展示了如何使用Flower和LeRobot在PushT数据集上联合训练Diffusion策略。该示例利用了Flower Datasets进行数据分区,推荐在GPU环境下运行,为机器人学习领域的研究人员提供了实用的参考实现。

开发者体验优化

日志级别环境变量支持

现在可以通过FLWR_LOG_LEVEL环境变量动态配置日志级别,例如FLWR_LOG_LEVEL=DEBUG flower-superlink --insecure会将日志级别设置为DEBUG,大大简化了调试过程。

联邦配置动态覆盖

新增了--federation-config标志,允许在flwr CLI命令中动态覆盖联邦配置,为开发者提供了更大的灵活性。这一功能类似于--run-config标志对运行配置的覆盖能力。

退出代码标准化

引入了专门的flwr_exit函数和标准化的退出代码,改进了系统错误和帮助信息的显示方式,使问题诊断更加直观。

技术架构改进

gRPC依赖更新

提升了gRPC相关依赖的版本号,确保系统使用最新的通信协议和安全补丁。在极少数情况下,如果遇到关于未解析gRPC依赖的pip警告,可能是由于旧版Flower残留依赖导致的。

资源清理优化

确保了SuperLink和SuperNode在关闭时能够正确清理资源,避免了僵尸子进程的问题,提高了系统的稳定性。

向后兼容性说明

  1. 移除了flower-supernode中已弃用的app--server参数,请使用--superlink替代
  2. 弃用了flower-superlink中的--auth-superlink-private-key--auth-superlink-public-key参数,这些参数在新的认证机制下已不再需要

总结

Flower 1.15.0版本在安全性、可用性和功能性方面都有显著提升。新的认证机制和消息通信架构为大规模联邦学习部署提供了更可靠的基础,而丰富的文档和新示例则降低了用户的学习曲线。这些改进使得Flower在保护数据隐私的同时,能够支持更复杂的联邦学习场景,为AI研究和生产应用提供了更强大的工具。

登录后查看全文
热门项目推荐
相关项目推荐

热门内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
260
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
854
505
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
254
295
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
331
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
397
370
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
21
5