当前位置:网站首页>浅谈字节最新开源联邦机器学习平台Fedlearner
浅谈字节最新开源联邦机器学习平台Fedlearner
2020-11-10 07:37:00 【osc_odp8kgup】
最近联邦机器学习越来越火,字节也正式对外宣讲开源了联邦机器学习平台Fedlearner。这次头条开源的Fedlearner与我之前分析过得华为、微众的联邦机器学习平台有什么不同呢?主要体现在以下几个方面:
-
产品化:Fedlearner的代码里有大量的js、Html模块,也是第一次让我们可以直观的看到联邦机器学习平台大概是什么样的,如果做成产品需要长成什么样。
-
业务多样化:之前华为、微众更多地强调联邦机器学习在风控业务的落地。头条开始强调联邦学习在推荐、广告等业务中的落地,并且给了很明确的数据,在某教育业务板块广告投放效果增加209%
-
可输出性:如果说之前的联邦机器学习平台更多地从理论层面做介绍,这一次字节的Fedlearner强调了可输出性,比如为了保持联邦建模双方的环境一致性,通过K8S的部署模式快速拉起和管理集群。这是为ToB对外输出服务做技术准备
下面分别介绍下Fedlearner在这三方面的一些工作。
Fedlearner产品化工作
以推荐广告业务为例,联邦机器学习平台的广告主和平台方应该各自管理一套模型展示服务和模型训练服务。
需要有两套协议保证客户的联邦建模,一套是数据一致性问题。比如在纵向联邦学习场景下,用户在页面上点击了某个广告,平台方和广告主各自会捕获一部分日志。如何能实时的保证这两部分捕获的日志的一致性,并且拼接成训练样本,需要一套实时数据样本拼接协议。
另一个协议是多方数据安全协议。比如AB两个业务方,A有4亿用户,B有3亿用户,如何做到通过某种方式找到A和B的交叉用户,并且不让A和B互相猜到对方的数据,需要有一套多方数据安全协议。
基于以上两套协议,在双方联合建模过程中,使用GRPC通信,利用TensorFlow做双方梯度的交换进行联合建模。
业务多样性
联邦机器学习的最大业务场景在推荐广告,这个我在一年前的文章中有预测过。果然头条特别强调了推荐场景的应用。他提到了推荐业务更适合神经网络算法,风控业务适合树形算法。作者也比较认同这样的说法,因为风控需要高可解释性,树形算法天然满足这样的需求。而推荐业务对模型可解释性要求不高,神经网络算法的复杂性可以充分保证推荐排序算法的准确率。
Fedlearner业务负责人给了一组数字可以证明联邦机器学习在推荐业务中的落地效果。
这组数组还是非常有说服力的。其实对于新技术,很多时候面对的壁垒不是技术问题,而是如何证明业务价值,需要第一个吃螃蟹的人,才能推动新技术在行业的落地。联邦机器学习在推荐广告业务中大有可为。
可输出性
Fedlearner采用的是一套云原生的部署方案。数据存放在HDFS,用MySQL存储系统数据。通过Kubernetes管理和拉起任务。每个Fedlearner的训练任务需要参与双方同时拉起K8S任务,通过Master节点统一管理,Worker建实现通信。
这套方案充分考虑了当前做推荐业务的用户的数仓兼容性,因为大部分客户的数仓体系还是Hadoop生态,数据存储在HDFS。同时用K8S又最大限度的保证了联合建模双方计算引擎环境的一致性。
总结
随着越来越多的厂商入局,联邦机器学习一定会是机器学习平台产品竞争的一个拐点。
参考:
[1]https://www.jiqizhixin.com/articles/2020-11-03-9
[2]https://github.com/bytedance/fedlearner
版权声明
本文为[osc_odp8kgup]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4326248/blog/4710447
边栏推荐
猜你喜欢
Thinking about competitive programming: myths and shocking facts
完美日记母公司逸仙电商招股书:重营销、轻研发,前三季度亏11亿
SQL filter query duplicate columns
CUDA_ Memory model
分布式文档存储数据库之MongoDB索引管理
What's the difference between delete, truncate, and drop, and what to do if you delete data by mistake
推动中国制造升级,汽车装配车间生产流水线 3D 可视化
Using tail as time series to identify whales
树莓派鼓捣记 - 设置 wifi
Unity使用transform.Rotate进行三维旋转角度出现偏差
随机推荐
Promote China manufacturing upgrade, 3D visualization of production line in automobile assembly workshop
leetcode之最后一个单词的长度
SQL case conversion, remove the space before and after
What's the difference between delete, truncate, and drop, and what to do if you delete data by mistake
CUDA_存储器模型
Hand in hand to teach you to use container service tke cluster audit troubleshooting
An unsafe class named unsafe
Algorithm template arrangement (1)
剑指offer之打印二叉搜索树中第k小的结点
初级工程师如何在职场生存
SQL intercepts the data before and after the '.'
Exception: invalid or unexpected token
DB engines database ranking in November: PostgreSQL holds the top spot in the same period
pytorch训练GAN时的detach()
Coding style: SSM environment in MVC mode, code hierarchical management
将Map中对应的key和value赋值到对象中
解决Coursera视频无法观看的三种方法(亲测有效)
Unity使用transform.Rotate进行三维旋转角度出现偏差
Can't find other people's problem to solve
Thinking about competitive programming: myths and shocking facts