字节跳动:开源Fedlearner框架,广告投放增效209%-one体育下载
发表时间:2023年04月15日浏览量:
作为漫衍式的机械学习范式,联邦学习能够有效解决数据孤岛问题,让到场方在不共享数据的基础上团结建模,挖掘数据价值。近两年,联邦学习技术生长迅速,阿里、、百度、京东、蚂蚁金服、微众银行等一众互联网大厂、金融科技公司皆涉足其中。
前不久,字节跳动联邦学习技术团队也开源了自研的联邦学习平台 Fedlearner。据先容,字节跳动联邦学习平台 Fedlearner 已经在电商、金融、教育等行业多个落地场景实际应用。字节跳动联邦学习技术卖力人吴迪在接受 InfoQ 专访时表现,联邦学习面临的难题更多是如作甚客户争取可感知的最大商业价值,差别行业的同伴,其产物特点和价值诉求各不相同。
得益于字节跳动在推荐和广告领域恒久积累的机械学习建模技术,字节跳动联邦学习找到了资助企业客户取得可感知商业价值的偏向,即基于字节跳动的个性化推荐算法、模型优势,探索、寻找落地场景。例如在电商广告场景的落地案例中,Fedlearner 已经资助互助方取得了 10% 以上的投放效率增长,跑量消耗提升 15%+,电商平台 ROI 提升 20%+。
除了电商行业,在与教育行业头部客户配合探索联邦学习落地的历程中,效果也获得了比力好的印证,资助教育客户广告跑量提升 124.73%,正价课续报人数提升 211.54%,续报率提升 32.69%,正价课续用度户获客成本降低 11.73%。即便如此,从整个行业来说,现在联邦学习技术的落地仍然存在难题,在宁静与效率的兼顾宁静衡上,在建模能力和机械学习算法的进化上,平台与企业需要做的事情另有许多。InfoQ 筹谋了 《联邦学习在金融领域的实践和落地逆境》 系列选题,邀请各大公司来分享如何落地实践联邦学习技术。
本文中,我们将分享字节跳动联邦学习平台 Fedlearner 的技术实现与落地应用履历,看字节跳动如何寻找联邦学习落地难题的突破口。联邦学习平台 Fedlearner 的技术落地与挑战字节跳动联邦学习团队在 2020 年头低调开源了自研的联邦学习平台 Fedlearner(项目地址:https://github.com/bytedance/fedlearner ),并一直连续更新,在 2020 年 10 月 26 日上线了 v1.5 版本。
吴迪对 InfoQ 表现:“之所以开源 Fedlearner ,一方面是字节跳动拥有海量的用户数据,深知掩护用户数据宁静的重要性,希望通过开源 Fedlearner ,和行业同伴一起推动隐私盘算的生长,与客户一起掩护用户数据宁静。另一方面,在掩护用户数据宁静的同时,也建设我们平台开放透明的机制,提升客户的信任度。”Fedlearner 联邦学习平台可以支持多类联邦学习模式,整个系统包罗控制台、训练器、数据处置惩罚、数据存储等模块,各模块对称部署在到场联邦的双方的集群上,透过署理相互通信,实现训练。
数据求交Fedlearner 双方在提倡训练之前,必须要基于双方的数据举行求交,找出交集从而实现模型训练。通常情况下,训练数据求交的方式主要分为两种,一种是流式数据求交,一种是 PSI 数据求交。
(1) 流式数据求交流式数据通常是指由配合在线流量发生的数据,例如在广告场景下,用户点击一次广告,会在媒体平台和广告主两侧各自发生一条数据记载。为了基于 Fedlearner 团结训练模型,必须先把这两条数据记载对齐并生成一条样本。
不外,在流式数据的场景下,因为数据落盘时间、样本存储可靠性都无法统一,而且双方还会存在样本缺失和样本顺序不统一的问题。因此,必须有一套协议,把双方样本按样本 example_id 取交集并统一排序,盘算出双方共有的样本条目用来举行模型训练。如前所述,Fedlearner 现在应用的场景大多需要处置惩罚大规模数据,为此,在流式数据处置惩罚中,Fedlearner 预先把数据根据 example_id 哈希分为 N 个 partition。求交时双方各自拉起 N 个 worker,配对后形成 N 对,每对处置惩罚一个 partition。
每对 worker 中,担任 leader 的 worker 向 follower 顺序发送自己数据流中的 example_id,follower 收到后和自己的当地数据流求交,然后把交集发送回 leader。实际处置惩罚历程中,举行联邦学习训练的双方,其数据处置惩罚流程通常是差别的,样本在双方的存储挪用顺序也都是差别的。
所以在求交时,通常会使用 key-value 查询机制,这种查询机制是随机会见全量数据举行查询,可是随机会见全量数据的价格过大,好比为了处置惩罚大数据量,KV 数据库搭建和维护的成本就很是高。为相识决这一问题, Fedlearner 接纳了时间窗的方式,即在内存里维护两侧时间相近的样本,放弃少部门超出时间窗的样本,从而大大降低了设备和运维成本。
(2)PSI 数据求交与流式数据差别,另有一些场景下的数据,并不是由配合的线上流量发生的,而是由各方独自记载,例如差别金融机构记载的用户画像数据。对于此类由各方独自记载的数据,举行模型训练之前,需要使用双方共有的用户信息(例如用户 ID )来找出双方用户的交集。例如,A 机构有 2 亿用户数据,B 机构有 4 亿用户数据,如果希望求出 A 与 B 机构共有的 1.5 亿用户,就需要找出双方机构中相同的用户 ID,以此来找出双方交集的 1.5 亿用户。
不外,在双方找出交集的历程中,A 机构不希望将自身用户中不与 B 机构相交的 0.5 亿用户泄露给对方,同样,B 机构也不希望将自身用户中不与 A 机构相交的 2.5 亿用户泄露给对方。为此,Fedlearner 团队接纳了 PSI(Private Set Intersection,隐私掩护荟萃交集)加密数据求交的方式。PSI 加密数据求交方式允许持有各自荟萃的两方来配合盘算两个荟萃的交集。
在这个历程中,无论是在传输还是在盘算时,双方真实的用户 ID 都市被加密和隐藏起来,这样,在盘算交互的最后,一方或是两方都可以获得正确的交集,而且不会获得交集以外另一方荟萃中的任何信息。由于需要处置惩罚离线单独存储的数据,PSI 加密数据求交的方式需要分为两步。首先是在离线场景下,对双方的全量 ID 举行宁静加密,基本流程是:字节将全量的 原始字节 ID 用私钥加密并哈希,把 原始字节 ID 映射到 哈希加密字节 ID 落入数据库;客户将全量或增量的 原始客户 ID 加盲,传输给字节;字节对收到的加盲数据用私钥加密,将加密的效果回传给客户;客户对收到的加密加盲数据去盲并哈希,把 哈希加密客户 ID 映射回 原始客户 ID 落入数据库。
离线场景完成之后,双方就可以在在线场景中举行实时求交:字节将实时流量的 原始字节 ID 查询出 哈希加密字节 ID,传输给客户;客户把收到的 哈希加密字节 ID 与数据库中的 哈希加密客户 ID 求交,交集可映射回 原始共有 ID;客户凭据业务决议是否回传、回传什么信息。模型训练联邦学习技术本质上是为了资助联邦双方更好地训练模型。差别公司由于此前积累的数据类型特征差别,落地应用场景差别,会接纳差别的模型训练方式。常见的模型训练包罗神经网络模型训练、树模型训练、线性回归模型训练等等。
其中,神经网络训练模型最常见的落地应用场景是推荐,包罗个性化内容推荐、广告推荐等等,而树模型更多在金融领域建模信用 / 风险等指标时常用。由于字节跳动在个性化推荐技术上积累较多,Fedlearner 的模型训练也主要以神经网络模型训练、树模型训练为主。(1)神经网络模型训练根据特征漫衍的差别,联邦学习的神经网络模型训练可以分为纵向(Cross-silo)和横向(Cross-device)两种模式。纵向模式下,每个到场方拥有相同样本的差别维度的特征,模型被分为两部门,类似模型并行训练。
横向模式下,每个到场方拥有差别样本的相同维度的特征,每个到场方都有一份模型的拷贝,类似数据并行训练。纵向与横向两种训练模式可以归约于一个框架,既一对 worker 各自执行一个神经网络,并通信中间效果和梯度。为了支持这种模式,Fedlearner 实现了一个基于 gRPC 的通信协议,并以算子的形式集成到 TensorFlow 中:bridge = bfl.bridge.Bridge(50051, 'localhost:50052')bridge.wait_for_remote_startup()g = tf.Graph()with g.as_default(): x = tf.placeholder(tf.float32) w1 = bridge.receive_op('w1', dtype=tf.float32) ... send_gw1 = bridge.send_op('gw1', gw1)dataset = MnistData()sampler = bfl.data.SequentialSampler(dataset)data_loader = bfl.data.DataLoader(bridge, 'leader', dataset, 256, sampler)with tf.Session(graph=g) as sess: sess.run(tf.global_variables_initializer()) for round_id, (np_x, np_y) in data_loader: bridge.start(round_id) print sess.run([...], feed_dict={...}) bridge.commit()使用该通信协议,算法工程师只要在普通 TensorFlow 模型代码里加上发送算子(send_op)和吸收算子(receive_op),就可以将其改为支持联邦训练的模型。
基于神经网络模型训练,Fedlearner 现在最大处置惩罚过高达 40TB 的数据,在不稳定的公网通信情况下, 可以使用少少的资源快速稳定地完成训练数据求交和模型训练,迭代效率较高。(2) 树模型训练与神经网络模型训练差别,树模型训练现在只支持两方纵向学习模式,一方提供特征,另一方提供 label 和特征。为了在掩护双方数据和标签隐私的前提下举行模型训练,同时性能要满足实际使用要求,Fedlearner 树模型的训练器接纳了 SecureBoost 算法:拥有 label 的一方对每个样本盘算梯度后使用 Paillier 加密算法对梯度加密,然后发送给另一方;另一方使用 Paillier 加密的半同态特性,在密文域上盘算按特征值分桶的梯度统计,然后回传;最后拥有 label 的一方解密统计值,找到最优支解点。从模型训练的结果来看,字节跳动联邦学习平台 Fedlearner 的数据已经可以和行业其他对手媲美,甚至凌驾了对手。
此前,字节跳动联邦学习团队将 Fedlearner 和微众银行 FATE 上的树模型在单机上举行了性能对比。基于 MINST 数据集的训练指标显示,在双方参数设置一致的情况下,双方训练后的模型准确度、F1、AUC、KS 等指标基本一致,差异在小数点后三位以后才泛起。
MINST 数据集上的训练指标双方的主要差距泛起在模型训练速度上,经由 5 轮迭代平均训练,Fedlearner 的训练速度相较于 FATE 有约 17.2% 的优势。一键部署、可视化平台为了处置惩罚大规模数据,Fedlearner 的数据求交和模型训练都依赖漫衍式盘算和存储系统。
为此,字节跳动联邦学习团队开发了基于 Kubernetes+HDFS/MySQL/Elasticsearch 的解决方案,由 Kubernetes 治理集群和任务。其中,在阿里云等公有云上,用户可以使用一键剧本快速建设整个集群。整个系统使用 K8s Helm Charts 系统集成部署,用户只要准备好一个尺度的 K8s 集群和 HDFS/MySQL 服务,就可以使用 Helm 一键部署好整个系统。
系统部署好之后,K8s 集群可以自动调理联邦学习任务,每个 Fedlearner 任务都需要在到场双方各自拉起一个 K8s 任务,两个任务的 worker 需要相互配对通信,字节跳动联邦学习团队通过自界说 K8s Controller 和 Ingress-NGINX 实现了配对和加密跨机房通信。由于 K8s 自身只提供下令行 +YAML 治理任务,为了利便算法工程师使用,字节跳动联邦学习团队开发了可视化 Web 平台,用户可以在平台上提交任务、检察进度、分析效果。
Fedlearner 任务需要到场双方同步拉起,为了淘汰双方相同成本,字节跳动联邦学习团队还开发了基于 Ticket 的预授权系统,一方只要建立一个 Ticket 划定授权规模,另一方就可以自主提倡多次训练和预测任务。Fedlearner 落地应用:广告投放增效 209%现在,在字节跳动内部,Fedlearner 已经通过技术赋能的方式连通散落在各部门和业务的数据,在掩护用户、公司数据隐私宁静的前提下,资助业务挖掘数据在各业务场景下的价值。在外部市场上,字节跳动也正推动 Fedlearner 在电商、金融、教育等各个垂直行业落地,与行业头部客户互助举行技术沉淀及商业收益的验证。
“最大的挑战是如作甚客户争取可感知的最大商业价值,Fedlearner 提供了良好的宁静保障以及完整的联邦学习生态,这为落地部署提供了扎实的基础。”吴迪表现,“但从‘技术基础’到‘最终的商业价值增量’之间,仍然有较大的距离。
”现在市场上开放的联邦学习平台许多,每家平台的数据优势各不相同。吴迪认为企业需要凭据自己的业务目的选择合适的联邦学习平台。
而对于 Fedlearner 来说,最大的优势除了技术上的训练速度、效率之外,无疑是字节跳动在推荐和广告领域恒久积累的机械学习建模技术。例如在电商广告场景,电商广告主会在字节跳动的巨量引擎平台上投放商品广告,巨量引擎和电商广告主都希望提升广告投放 ROI,配合优化深度转化,即购置事件。
但电商广告主通常不希望将商品详情、用户购置历史等敏感信息回传到巨量引擎平台,这种情况下,Fedlearner 的能力就得以体现了。这种场景下,联邦学习平台的实现流程大致可以分为两部门。首先是在线部门流程:当用户会见巨量引擎支持的抖音、头条等产物平台时,巨量引擎平台会使用 CTR/CVR 模型排序找到点击率 / 转化率最高的广告展示给用户;用户点击广告后,会跳转到电商广告主一侧的购物页面上,同时电商广告主和巨量引擎平台都市记载下这次点击事件,而且双方使用相同的 example_id 举行标志;在电商广告主一侧的购物页面上,用户可能选择购置(转化)或不购置相关商品,广告主会记载用户行为作为 label。
离线部门流程:电商广告主和巨量引擎平台,双方使用在线记载的 example_id 对齐数据和 label ,然后根据对齐的顺序读取数据;模型分为两半,巨量引擎平台将数据输入前一半,获得中间效果(embedding)后发送给电商广告主;电商广告主盘算后一半模型,然后用自己记载的 label 盘算 loss 和梯度,然后将梯度回传给巨量引擎平台;最后电商广告主和巨量引擎平台各自更新模型。基于以上方案,联合巨量引擎平台一侧的用户内容兴趣标签和电商广告主一侧的用户生意业务行为及商品标签,使用 Fedlearner 联邦学习平台团结建模,可以充实发挥双方数据的互补性,优化广告召回、精排 CTR、CVR 模型等多个模块。
在实际互助案例中,取得了 10% 以上的投放效率增长,并辅助提升了拿量和 ROI。“这种落地与应用,除了技术上的优势之外,高质量的数据是很是关键的。”吴迪说道,“训练数据是机械学习的焦点基石,在联邦学习场景也不破例,选择与商业目的高度相关、表达能力强的训练数据,可以加速获得极致的商业价值。”字节跳动旗下的营销平台巨量引擎,依托今日头条、抖音的数据优势,基于 600T+ 的海量用户群体画像,对用户行为特征举行动态分析、深度建模,拥有凌驾 220 万用户标签。
这些数据对于许多行业和企业都具有极高的商业价值。例如,在线教育行业里,因为正价课付费人群数据是焦点营收数据,所以许多客户对正价课付费人群数据严格保密,无法输出至巨量引擎服务器。
可是,正价课付费是在线教育广告最焦点的转化及考核目的,客户也希望提升正价课付费 / 续课率。基于 Fedlearner,通过“联邦学习 - 巨量引擎单侧特征模型”的方法,可以实现巨量引擎侧和教育客户侧各自提供用户标识 + 特征 / 标签,数据取交集后配合建模。这种方法在不获知用户深度行为标签(即哪些人购置了正价课)的同时,具备预测深度正价课转化率的能力。联合在广告精排阶段的动态出价调整,就能优化在线教育广告的正价课转化率,提升客户获客 ROI。
基于以上方案,字节跳动联邦学习现在与在线教育行业多家头部客户深入互助探索,资助教育客户广告跑量提升 124%,正价课续报人数提升 209%,续报率提升 33.1%,正价课续用度户获客成本降低 11.7%。联邦学习亟需解决宁静与效率的冲突在吴迪看来,联邦学习现在还处于“早期接纳”阶段,无论是字节跳动的 Fedlearner 还是已往两年海内外科技公司陆续推出的一系列联邦学习平台,都还面临着林林总总的挑战。基于字节跳动开发 Fedlearner 联邦学习平台和字节跳动落地联邦学习技术的履历,吴迪总结了联邦学习技术的四大挑战。
第一是宁静性。联邦学习天然有无可相比的宁静性优势,近两年全球各国对数据宁静的重视和严格规范,是联邦学习连续加速生长的动力。但在机械学习领域内,仍然存在一些宁静方面的挑战。
例如,训练历程中的梯度是否有可能让互助者 A 猜出互助者 B 的 label 漫衍从而泄露用户行为的统计信息?类似的,A 方是否有可能推测出 B 方的特征漫衍,或者把 B 方通报已往的中间产物(例如 activation 的 output)使用在其他模型中?这些“宁静性”问题,有些可以通过同态 / 半同态加密等传统手段解决,有些则需要通过创新的机械学习算法和框架解决。例如,为进一步确保客户侧的数据宁静,Fedlearner 就在联邦学习框架及神经网络模型的基础上,针对 label 及 Embedding 接纳加密算法升级隐私掩护。第二是效率。虽然字节跳动的 Fedlearner 在推荐、广告、用户增长等场景下取得了一些结果,但吴迪表现,在这些场景中依然存在严峻的大规模数据和训练效率的挑战。
例如能否在相互数据不行见的情况下,在若干小时内完成凌驾几十亿行训练样本荟萃的对齐和预处置惩罚,而且通过有限且不稳定的网络毗连在数小时内完玉成部样本的多轮训练,这对团队的要求很高。除了对团队的挑战之外,效率也会给宁静带来挑战。“越强的数据宁静要求,越会带来数据处置惩罚效率和训练效率的下降,还会限制机械学习算法的选择空间,宁静和效率之间需要更优的兼顾与平衡。
”吴迪表现,“团队正在探索新的机械学习算法和框架,也涵盖了软硬一体等诸多技术方案,现在整个行业也有大量的针对性投入,相信在不久的未来会看到大量技术突破。”第三是建模能力和机械学习算法。
包罗字节跳动 Fedlearner 在内的种种联邦学习平台上,联邦的双方都看不到对方的原始数据,甚至有时候双方还会隐藏各自的神经网络结构。这样的做法,很大水平上保证了数据的宁静性,但从技术角度看,也使得“可解释性、可 debug”的难度升高了。那么,如何在看不到双方特征的情况下举行特征工程处置惩罚,筛选出重要的“好特征”,如何举行模型效果的 troubleshooting,一步步把模型迭代到极致,这给联邦学习技术团队的建模能力、机械学习算法能力带来了极大的挑战。
第四是友好性。联邦学习的一个关键词是“互助”,互助越广泛则到达的效果越好。
这也意味着必须不停降低到场联邦建模的技术门槛,由此带来了诸多挑战,包罗:快速部署(物理服务器 / 私有云 / 种种公有云等)、易于接入、一键式的训练和服务能力等。以上这些,都是整个行业所面临的挑战,以及需要继续深入研究和探讨的问题。
专题推荐:联邦学习在金融领域的实践和落地逆境-InfoQ关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「相识更多」,即可移步InfoQ官网,获取最新资讯~。
本文关键词:one体育下载,字节,跳动,开源,Fedlearner,框架,广告投放,增效
本文来源:one体育官网-www.gwmmgb.com