美文网首页大数据,机器学习,人工智能
联邦学习开源框架Fate主要更新

联邦学习开源框架Fate主要更新

作者: Wayne维基 | 来源:发表于2020-06-12 14:05 被阅读0次

背景

FATE (Federated AI Technology Enabler) 是微众银行AI部门发起的开源项目,为联邦学习生态系统提供了可靠的安全计算框架。FATE项目使用多方安全计算 (MPC) 以及同态加密 (HE) 技术构建底层安全计算协议,以此支持不同种类的机器学习的安全计算,包括逻辑回归、基于树的算法、深度学习和迁移学习等。

FATE官方网站:https://fate.fedai.org/

版本1.4.0

联邦机器学习(Federated Machine Learning)

  • Home Secureboost(基于xgboost的一个加密boost)
  • 对线性模型的AIC/BIC的逐步回归
  • Hetero Optimal Feature Binning(异构优化的特征分箱),支持iv/gini/chi-square/ks且允许 非对称分箱方法
  • 支持AI生态:引入了pytoch包来支持人神经网络
  • 同构框架解构,简化同构相关算法的开发
  • 为不同算法提供更早的停止策略
  • 多类型分类的本地参照物
  • 一致的预测评估
  • 有效性策略优化,训练有效性的3倍速

Fate-flow(流的支持)

  • 重构模型管理,本地文件存储,更易伸缩且信息更丰富的存储解构
  • 在可靠的分布式系统上,支持模型的导入导出,存储
  • 任务队列使用mysql管理而不是redis,减少系统的复杂性
  • 提供上传客户端上传本地文件
  • 自动检测存在的表且提供删除选项
  • 系统,算法,调度日志的隔离,调度日志可以被独立审查

Eggroll

  • 稳定性提升:新的资源管理组件有全新的会话机制,会话出错后,管理组件呢也能通过简单的方法调用进行清理。去掉了存储服务,没有c++/本地库文件需要编译。联邦学习算法在28%的丢包率下依然工作。
  • 性能提升:在Eggroll2上,联邦学习算法有极大的性能提升,部分算法有10倍性能提升,联邦场景下,join interface比pyspark快16倍
  • 用户体验提升:快速开发,支持maven,pip,config和start。轻量级依赖,可以从requirements.txt(python的依赖文件),pom.xml(java的依赖文件)看出。简易的调试,必要的上下文提供,实时的运行状态可以在日志和数据库中查看。一些jvm应用demo提供。

版本1.3.0

FederatedREC(联邦推荐算法)

  • 添加联合推荐子模块
  • 添加异构因子分解
  • 添加同构因子分解
  • 添加异构矩阵分解
  • 添加异构奇异值分解
  • 添加异构SVD++(满足最近邻分解)
  • 添加异构广义矩阵分解

联邦机器学习

  • 支持非均匀一般线性模型(异构LR、异构LinR、异构poissonR)中用稀疏数据训练
  • 修正了32M分位数限制,以支持更高的特征维度
  • 修正了SecureBoost直方图统计的32M限制,以支持更高的特征维度训练。
  • 在OneHot编码器中添加异常参数和输入数据检测
  • 修复在训练过程中,不传递验证数据来适应支持数据评估验证的过程

Fate-Flow

  • 添加清除job的CLI(命令行交互界面)以清除输出和中间结果,包括数据、度量和会话
  • 支持通过CLI获取表命名空间和输出数据的名称
  • 在某些特殊情况下修复删除job不成功的执行
  • 改进日志系统,添加更多异常和运行时状态提示

版本1.2.0

联邦学习

  • 添加异构深层神经网络
  • 添加秘密共享协议SPDZ
  • 在SPDZ中加入异构特征相关算法并支持异构Pearson相关性计算
  • 增加异构的SQN优化器,可用于异构回归和异构回归,可显著降低通信成本
  • 支持扩展的重复id取交集
  • 异构特征分箱中的多主节点支持
  • 异构特征筛选中的多主节点支持
  • 支持异构特征分箱中离散特征的IV计算
  • 支持异构特征分箱中原始特征值到WOE的转换
  • 在异类特征筛选中添加手动过滤器
  • 支持性能与sklearn' logistic回归的对比
  • 联邦训练迭代过程中对象/表的自动清理
  • 提高大对象的传输性能
  • 添加用于提交和运行任务的自动脚本

Fate-Flow

  • 添加数据管理模块,用于在运行的作业中记录上传的数据表和模型的输出,以及查询和清理的命令行工具。
  • 支持注册中心简化FATE Flow和FATE Serving之间的通信配置
  • 重构模型发布逻辑,命运流将模型直接推向fate服务。将fate服务和Eggroll分离,离线和在线架构只通过fate-flow连接。
  • 提供CLI查询数据上传记录
  • 按行上传和下载数据支持进度统计
  • 添加一些异常诊断提示
  • 支持向任务添加注释信息
  • 本机部署
  • 修复EggRoll启动脚本中的错误,添加mysql,redis启动选项。
  • 禁用mysql服务的主机名解析配置。
  • 使用自动获取模式更新软件打包脚本中每个模块的版本号。

版本1.1.1

主要特点和改进

  • 添加基于ubuntu的集群部署
  • 添加支持数据合并的联合组件。
  • 支持在一个Onehot Encoder中显示部分列
  • 支持任务结束后的中间数据清理
  • 求交加速
  • 优化部署过程

漏洞修补

  • 修复secureboost“提前停止”的错误
  • 修复下载api中的错误
  • 修复spark后端的错误

版本1.1

联邦机器学习

  • 为支持安全聚合的同构联邦学习提供一个通用算法框架
  • 加深度神经网络
  • 添加异质线性回归
  • 添加非均匀泊松回归
  • 支持异构逻辑回归中的多主节点
  • 支持异构线性回归中的多主节点
  • 支持多主节点求交
  • 利用缓存加速求交
  • 重构异构广义线性模型框架
  • 异构SecureBoost中支持仿射同态加密
  • 支持异构SecureBoost中,对于缺失值进行输入数据
  • 支持训练期间的评估并验证数据
  • 添加spark作为计算引擎

fate-flow

  • 查询任务状态的上载和下载,支持CLI
  • 支持取消等待任务
  • 支持设置任务超时
  • 支持在任务日志文件夹中存储任务调度日志
  • 添加身份验证来控制测试版,包括其中组件、命令、角色

版本1.0.2

  • Python和JDK环境仅用于运行独立版本的快速体验
  • 支持集群版本docker部署
  • 添加中文部署指南
  • 部署群集版本时,支持用于快速体验的独立版本运行。
  • Python服务日志将保留14天。

版本1.0

这个版本包括两个新产品,分别是fate面板和fate-flow,面板作为联邦建模的可视化工具,fate流是联邦学习的端到端pipeline平台。此版本包含对FederatedML的重要改进,它可以更好地跟踪联邦学习算法的运行进度。

fate面板

  • 联邦学习任务面板
  • 联邦学习任务可视化
  • 联合学习任务管理
  • 实时日志面板

fate-flow

  • DAG定义Pipeline
  • 联邦多方非对称DSL解析器
  • 联邦学习生命周期管理
  • 联邦任务协同调度
  • 数据、度量、模型等的跟踪
  • 联邦多方模型管理

联邦ML

  • 用fate流更新联邦建模的所有算法模块运行状态
  • 中间统计结果在所有算法模块的面板中可视化。
  • 支持Nesterov Momentum SGD优化器
  • 基于仿射变换的加同态加密方案
  • 联邦特征分享支持稀疏的输入
  • 更新评估指标,如ks、roc、gain、lift curve等
  • 更新算法的参数定义类

fate服务

  • 在线联邦接口添加在线联邦模型的DSL解析器

版本 0.3

联邦学习

  • 支持多标签分类任务的OneVsALL
  • 异方差Logistic回归中的垃圾回收
  • 为sigmoid和对数逻辑函数添加数值稳定。
  • 支持异构Logistic回归和异构SecureBoost的不同计算模式
  • 联邦特征组合与联邦特征选择的解耦
  • 在Hetero SecureBoost中增加特征重要性计算
  • 在Hetero SecureBoost中添加多主节点
  • 支持标签:值稀疏输入数据
  • 支持输出交集id与交集中的特征实例
  • 支持OneHot模块。
  • 支持联邦特性分箱的bucket分箱。
  • 支持定点数上的加法、sub、mul、div、gt、lt、eq等数学运算符
  • 为参数设置添加权限验证

fate服务

  • 为多方推理结果添加多级缓存
  • 添加startInferceJob和getInferenceResult接口以支持推理过程异步化
  • 规范化推理返回码
  • 推理汇总日志和推理细节日志的实时日志记录
  • 改进主机前、后处理适配器和数据访问适配器的加载

eggroll

  • 新的计算和存储api
  • 稳定性优化
  • 性能优化
  • 存储使用率改进
  • 添加Mini FederatedML测试任务示例
  • 使用任务管理器提交当前示例的分布式任务
  • 错误修复和其他更改
  • 修复检测一个最大列溢出错误。
  • 修复数据IO密集格式不读取主机数据头错误。
  • 修正统计函数调用错误
  • 修复联合功能选择的错误,每个参与方至少保留一个功能
  • 出于安全考虑,不允许在LR模块中使用小的批量。
  • 修复联合功能选择模块中的命名错误。
  • 在某些极端情况下修复自动发布模型信息的错误
  • 修复了定点数中的一些溢出错误
  • 修复许多其他错误。

版本0.2

fate-flow

  • 添加模型管道线
  • 添加异构联合特征分箱工作流
  • 添加异构联合特征选择工作流
  • 添加异构dnn工作流
  • 为训练,预测,较差验证添加求交算子

联邦ML

  • 支持svm稀疏格式输入数据
  • 支持标签稀疏格式输入数据
  • 添加异联邦特性分箱
  • 添加异构联邦特征选择
  • 添加功能定标器:MinMaxScaler和StandardScaler
  • 为缺失值填充添加特征输入
  • 为数据实例添加数据统计
  • 支持原始交集可配置的编码和主计算角色
  • 添加采样器:随机采样器和分层采样器
  • 支持SecureBoost中的回归
  • 支持回归评估
  • 支持分散化FTL
  • 通过DNN添加特征提取
  • 将模型格式更改为ProtoBuf
  • 增加异常参数检测
  • 添加异常输入数据检测

fate服务(联邦学习模型的在线推理)

  • 动态加载联邦学习模型。
  • 使用联邦学习模型的实时预测。
  • 模型管理
  • 版本控制
  • 再现性
  • 查询,搜索
  • 任务管理器
  • 添加加载文件/下载文件
  • 从本地文件添加导入ID
  • 添加开始工作流
  • 添加工作流任务队列
  • 添加查询任务状态
  • 添加Get Runtime conf
  • 添加删除任务

Eggroll

  • 为多处理器添加节点管理器以提高分布式计算性能
  • 添加C++重写存储服务
  • 添加eggroll清理API

部署

  • 添加自动部署
  • 改进部署文档

例子

  • 添加异构联邦特征分箱示例
  • 添加异构联邦特征选择示例
  • 添加异构DNN示例
  • 添加小例子
  • 添加任务管理器示例
  • 添加服务示例
  • 错误修复和其他更改
  • Hetero-LR Minibath 修正
  • 梯度平均修正
  • 代理1秒延迟错误修正
  • 修正了训练流程

版本 0.1

初始化版本

工作flow

  • 支持求交工作流
  • 支持训练工作流程
  • 支持预测工作流
  • 支持评估工作流
  • 支持模型加载和保存工作流

联邦ML

  • 支持样本比对的分布式安全求交和原始求交
  • 支持分布式同质LR和异构LR
  • 支持分布式SecureBoost
  • 支持分布式安全联邦迁移学习
  • 支持二值和多类评估
  • 支持模型交叉验证
  • 支持小批量
  • 支持L1,L2正则化
  • 支持多方同构联邦聚合器
  • 支持多方异构联邦聚合器
  • 支持部分同态加密MPC协议

结构

  • 计算api的初始版本
  • 存储api的初始发布
  • 联合API的初始发布
  • 跨站点网络通信(即“联合”)的初始发布
  • 独立运行时的初始版本,包括计算引擎和k-v存储
  • 分布式运行时的初始发布,包括分布式计算引擎、分布式k-v存储、元数据管理和站点内/跨站点网络通信
  • 支持跨站点异构基础设施
  • 建模与推理的初始支持

部署

  • 支持独立(docker&manual)部署
  • 支持群集部署

相关文章

  • 联邦学习开源框架Fate主要更新

    背景 FATE (Federated AI Technology Enabler) 是微众银行AI部门发起的开源项...

  • FATE单机部署

    简要说明 FATE是微众银行发出的联邦学习(FL)开源框架,目前在GITUB上有源码,本文对用docker部署的单...

  • 联邦学习框架FATE学习笔记

    联邦学习分为横向学习和纵向学习两类 1横向联邦学习 解决数据不够多的问题。双方各自有样本(特征值和标签),拥有共同...

  • 隐私计算FATE-核心概念与单机部署

    一、说明 Fate 是一个工业级联邦学习框架,所谓联邦学习指的就是可以联合多方的数据,共同构建一个模型; 与传统数...

  • 测试

    开源项目整理 更新于 2017-11-04,更新内容详见 萌萌哒的Panda 目录 Android开源框架 Ios...

  • Fateflow

    1. 简介 FATE-Flow是用于联邦学习的端到端Pipeline系统,它由一系列高度灵活的组件构成,专为高性能...

  • MindSpore入门:使用LSTM进行文本情感分析

    MindSpore是华为最近开源的深度学习框架,根据官方的说法,开发这款深度学习框架主要是为了充分利用华为自研的昇...

  • iOS超全开源框架、项目和学习资料汇总:UI篇

    iOS超全开源框架、项目和学习资料汇总:UI篇 iOS超全开源框架、项目和学习资料汇总:UI篇

  • ReactiveCocoa 初识

    简单介绍: ReactiveCocoa 是近年来比较黑科技的开源框架,但是学习路线比较陡峭,现在已经更新到5.0并...

  • Higher Library

    Higher是FAIR开源的一个元学习框架,主要针对gradient-based meta-learning。在g...

网友评论

    本文标题:联邦学习开源框架Fate主要更新

    本文链接:https://www.haomeiwen.com/subject/drobtktx.html