当前位置:网站首页>浅谈字节最新开源联邦机器学习平台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
边栏推荐
- 消防知识线上答题活动小程序复盘
- delete、truncate、drop 有什么区别,误删数据怎么办
- 飞鸽传书局域网找不到其他人的问题解决
- Common settings of PLSQL developer
- Mongodb index management of distributed document storage database
- 初级工程师如何在职场生存
- Usage of [:] and [::] in Python
- Incomplete Polyfill of proxy
- JS solves the problem of automatic pagination in browser printing
- 推动中国制造升级,汽车装配车间生产流水线3D可视化
猜你喜欢

Mongodb kernel source code implementation, performance tuning, best operation and maintenance practice series command processing module source code implementation 1

痞子衡嵌入式:RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计

jt-day10

The solution of polar experience insensitive verification

Day85: Luffy: shopping cart switching price according to different validity period & shopping cart deletion operation & price settlement & foreplay of order page
![Usage of [:] and [::] in Python](/img/3b/00bc81122d330c9d59909994e61027.jpg)
Usage of [:] and [::] in Python

Mongodb index management of distributed document storage database

Unity使用transform.Rotate进行三维旋转角度出现偏差

【LeetCode】 92 整数反转

初级工程师如何在职场生存
随机推荐
Prometheus安装配置
Common concepts and points for attention of CUDA
What's the difference between delete, truncate, and drop, and what to do if you delete data by mistake
Python cookbook 3rd note (2.1): using multiple qualifiers to split strings
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
Overview of the most complete anomaly detection algorithm in history
Day85: Luffy: shopping cart switching price according to different validity period & shopping cart deletion operation & price settlement & foreplay of order page
一幅图像能顶16x16字!——用于大规模图像缩放识别的变压器(对ICLR 2021年论文的简要回顾)
Notes on Python cookbook 3rd (2.2): String start or end match
leetcode之最后一个单词的长度
Assign the corresponding key and value in the map to the object
Error running app: default activity not found solution
asp.net Using serilog in core and customizing enrich
If you need a million objects
初级工程师如何在职场生存
Factory approach model
Gets the property value of a column in the list collection object
Fear of reconstruction? I'm too late to tell you how to refactor. Now I'm here
Raspberry pie drum set WiFi
Coding style: SSM environment in MVC mode, code hierarchical management