【Paper Reading】FDML: A Collaborative Machine Learning Framework for Distributed Features

FDML: A Collaborative Machine Learning Framework for Distributed Features

原文来源:[Arxiv2019] FDML: A Collaborative Machine Learning Framework for Distributed Features

欢迎大家访问我的GitHub博客

https://lunan0320.cn

1. Problem formulation

m 个不同的 parties,每个party有相同training samples

如图所示是n个samples

下图,代表了第i个sample的第j个party的features

下图代表第i个sample的所有features,是每个party的concatenation

p ( x , ξ ) p(x,\xi) p(x,ξ)是一个local model,输出是一个prediction

Feature Distributed Machine Learning (FDML) model:

(这里的 α j \alpha^j αj是一个sub-model,可以看作是一个local features 到 local prediction的映射)

σ \sigma σ可以聚合local intermediate predictions, a j a_j aj是权重)

这里的model也是一个复合模型,每个sub-model都是可以不同的

这里需要共享的只有 α j ( x j , ξ j ) \alpha^j(x^j,\xi^j) αj(xj,ξj),以此来得到final prediction

(raw data 和 sub-model parameters是不会泄露的)

目标函数

L 是loss function, z ( x j ) z(x^j) z(xj)是sub-model x j x^j xj的正则项

2. Asynchronous SGD for FDML

i ( t ) i(t) i(t)是sample ξ i ( t ) \xi_{i(t)} ξi(t)在第 t iteration的 index

如下是在sample i ( t ) i(t) i(t),即 t iteration的objective function

整个training set的objective function:

(T是总的iteration number)

∇ F ( x ) ∈ R D \nabla F(x)\in R^D F(x)RD是 F 的gradient, ∇ j F ( x ) ∈ R D j \nabla^jF(x)\in R^{D^j} jF(x)RDj是 F对于sub-model 参数 x j x^j xj的partial gradient,即 ∇ j F ( x ) : = ∂ F ( x ) ∂ x j \nabla^jF(x):= \frac{\partial F(x)}{\partial x^j} jF(x):=xjF(x),那么 ∇ F \nabla F F就是所有的partial gradient 的concatenation

2.1 The Synchronous Algorithm

  • 简单直接并行化SGD

第 t 个iteration,对于party j 的objective function的梯度:

这里用H来代表 ∑ k m α k ( x k , ξ i ( t ) k ) \sum_k^m\alpha^k(x^k,\xi_{i(t)}^{k}) kmαk(xk,ξi(t)k)

为了计算 ∇ j F \nabla^jF jF,每个party只需要得到 ∑ k m α k ( x k , ξ i ( t ) k ) \sum_k^m\alpha^k(x^k,\xi_{i(t)}^{k}) kmαk(xk,ξi(t)k),这就是在第 t 个iteration所有local prediction results 的聚合,剩余的项都可以用第 j 个party的local data计算得到。

2.2 The Asynchronous Algorithm

在异步情况下,每个party j 都会异步地更新自己的参数 x t j x_t^j xtj,任意的两个parties都可能是处于不同的iteration。

但是,这里假设不同的parties运行samples是go through in the same order

通常是随机生成sample index sequence,解决方案是:pseudo random number generator

local parameters update:

此时,很有可能 party 去quest local predictions 的 aggregation 时候,可能是 stale versions x t − ι t j ( k ) x_{t-\iota_{t}^{j}(k)} xtιtj(k)

这里的 ι t j ( k ) \iota_{t}^{j}(k) ιtj(k),代表的是i从party j 到 party k 在 party j 的第 k 个 teration的 “ lag”

3. Distribution Implementation

3.1 Implementation

PS架构: workers 计算 gradients , server更新model

但是,在FDML中,server只要更新一个local prediction matrix A i , j A_{i,j} Ai,j (n行,m列)

用来hold 对于sample i 的最新的 m 个prediction

而且,worker在 FDML中是participating party,不仅需要计算 gradients,而且需要更新自己的 local model parameters

整个过程:

  • a sample coordinator随机shuffle sample indices, 然后生成一个schedule i ( t ) i(t) i(t),每次都要找到 all features以及拥有sample对应的label。在算法开始之前每个party 就有: ξ i j , y i i = 1 n {{\xi_i^j,y_i}}_{i=1}^n ξij,yii=1n
  • 每个party update 自己对sample i ( t ) i(t) i(t) 的 local prediction A i ( t ) , j A_{i(t),j} Ai(t),j

​ (Push request: 即 worker j 在iteration t,upload value c)

  • party Pull 最新的的 ∑ k = 1 m A i ( t ) , k \sum_{k=1}^{m}A_{i(t),k} k=1mAi(t),k
  • party update x t j x_{t}^j xtj x t + 1 j x_{t+1}^j xt+1j

a fully synchronous algorithm可以在最短的iterations 达到converge

但是,导致了更大的等待同步的时间

a asynchronous algorithm可以减少每轮的时间,但是需要更多的iterations达到converge

为了减少总的时间,需要最快iteration的party比最慢的iteration超出的不能超过bound ι \iota ι (加入bound 来保证 convergence)

SGD algorithm可以被更好的 mini-batch SGD替换

3.2 Privacy

不会泄露 weights 和 features 信息

共享的信息只是:local prediction (是对于 local weights 和 local features 的复合函数)

此外,也可加入扰动项,noise 对于local prediction

4. Experiments

an app recommendation task at Tencent MyApp

利用另外两个app中的信息达到 cross-domain的效果,提高准确性

Dataset:

  • Tencent MyApp data : 5, 000, 000 labeled samples indicating whether a user will download an app or not
  • a9a,: classical census dataset, where the prediction task is to determine whether a person makes over $50K a year.

Model:

  • logistic regression (LR)

  • a two layered fully connected neural network (NN)

Training schemes:

  • Local: 7, 000 local feature or 67 features of a9a
  • Centralized: collect all the 8, 700 features or using all the 124 features in a9a
  • FDML: 8, 700 features distributed or a9a classification model on all 124 features from two different parties

如下Tables, FDML在保证local features的同时,优于 Local scheme,接近于Centralized的情况

LR model:objective value,loss , AUC值 FDML与Centralized情况下都比较好

NN model: 两种机制下,local scheme都是最快的,没有communication 和 synchronous 的开销

DP 机制: 不同的noise level

5. Conclusion

motivation: 相同的 training sample 在不同的app 中有不同的features,但是一个app中的data必须对其他的app是confidential

convergence:达到与目前最快的data-parallel SGD in a stale synchronous parallel , O ( 1 / T ) O(1/\sqrt T) O(1/T ), T是iteration number

results : FDML AUC、loss 效果接近于centralized training (后者model更复杂)

future work: add momentum and privacy

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
未来社区的建设背景和需求分析指出,随着智能经济、大数据、人工智能、物联网、区块链、云计算等技术的发展,社区服务正朝着数字化、智能化转型。社区服务渠道由分散向统一融合转变,服务内容由通用庞杂向个性化、服务导向转变。未来社区将构建数字化生态,实现数据在线、组织在线、服务在线、产品智能和决策智能,赋能企业创新,同时注重人才培养和科研平台建设。 规划设计方面,未来社区将基于居民需求,打造以服务为中心的社区管理模式。通过统一的服务平台和应用,实现服务内容的整合和优化,提供灵活多样的服务方式,如推送式、订阅式、热点式等。社区将构建数据与应用的良性循环,提高服务效率,同时注重生态优美、绿色低碳、社会和谐,以实现幸福民生和产业发展。 建设运营上,未来社区强调科学规划、以人为本,创新引领、重点突破,统筹推进、整体提升。通过实施院落+社团自治工程,转变政府职能,深化社区自治法制化、信息化,解决社区治理中的重点问题。目标是培养有活力的社会组织,提高社区居民参与度和满意度,实现社区治理服务的制度机制创新。 未来社区的数字化解决方案包括信息发布系统、服务系统和管理系统。信息发布系统涵盖公共服务类和社会化服务类信息,提供政策宣传、家政服务、健康医疗咨询等功能。服务系统功能需求包括办事指南、公共服务、社区工作参与互动等,旨在提高社区服务能力。管理系统功能需求则涉及院落管理、社团管理、社工队伍管理等,以实现社区治理的现代化。 最后,未来社区建设注重整合政府、社会组织、企业等多方资源,以提高社区服务的效率和质量。通过建立社区管理服务综合信息平台,提供社区公共服务、社区社会组织管理服务和社区便民服务,实现管理精简、高效、透明,服务快速、便捷。同时,通过培育和发展社区协会、社团等组织,激发社会化组织活力,为居民提供综合性的咨询和服务,促进社区的和谐发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值