联合学习颠覆集中式ML训练

三年前,Google一篇联合学习(Federated Learning,又称联邦学习)博客文章,解释了如何以分布式训练方法,把资料留在本地端,打造出可部署至上百万支手机的输入字推荐模型。这个做法,不再需要收集大量个人资料至数据中心,不仅取代传统集中式机器学习,更一举成为现在AI大数据与个人信息隐私瓶颈的解套方法。

2017年,Google为改善自家Android虚拟键盘Gboard的输入功能,设计出一套加密分布式机器学习方法。首先,个别用户的手机会从中央主机下载一套模型,接着在数以万计的用户端,根据用户端的使用行为,来训练Local端模型。

训练好后,用户手机会上传模型权重(也称参数)至中央主机,中央主机收集一定数量的权重后,就会聚合(Aggregation),计算出一个优化过的权重,再回放到用户端手机,进行下一轮训练。

这个过程会不断重复,直到模型达到理想的表现。在这过程中,只会上传模型参数,完全不会上传用户资料。Google指出,这个方法训练出来的模型,不只让搜索功能变得更好,还能部署到“数百万支Android手机上。”

AI浪潮兴起以来,为打造高准确度、高适应性的模型,就必须使用量大且多样的训练资料。但在2018年,欧盟祭出史上最严格的个人信息保护规范GDPR,限制了企业搜集、使用个人资料的行为,这与AI热浪的大数据需求,发生冲突。

而联合学习借分布式训练,以共享模型取代共享资料,能借众人之力,打造性能不输集中式训练的模型。这个方法,近年来在着重隐私的金融、医疗领域发酵,比如中国纯网银微众银行发起联合学习框架,邀集全球金融企业,来打造信用卡防欺诈模型,或是在医疗界,Nvidia联手伦敦国王学院,共同打造一款医疗联合学习平台。

今年,台北荣总率先发布了台湾第一个联合学习试验的成果,以国产AI超级计算机来试验联合学习可行性,随后,三总也在6月时宣布,加入全球20多家医院联手的联合学习研究计划,要来打造一个COVID-19病情预测模型。台湾也开始跟上了新一波联合学习全球浪潮。

Q:什么是联合学习?

A联合学习(Federated Learning)是一种分布式机器学习训练方法,最常见的形式为Server-Client形式,由一个中央服务器,搭配分散各地来参与训练的多个节点(也就是Client)。各节点主机先从中央服务器下载模型,在本地端以自己的资料来进行训练,完成训练后,再将各自模型的权重上传至中央服务器,由中央服务器来聚合(Aggregate)这些权重。这种分布式训练方法,可套用在不同机器学习模型的训练过程。

接着,中央服务器会将优化过的权重,回传给各节点,各节点再利用新的权重,进行下一轮训练。这个过程会不断重复,直到模型收敛至理想状态。

Q:联合学习最大好处是?

A联合学习靠各节点贡献自己的模型参数,来同步优化所有模型,而不需要像传统集中式的训练方式,需将所有资料集中来训练。因此,就算资料因故无法共享,也可以进行联合学习。只要加入训练的节点够多、资料多样性够高,联合学习也能解决资料不足和模型偏见问题,训练出最具代表性的模型。

Q:什么是权重?所有节点都回传权重后,才能聚合吗?

A类神经网络模型由两部分组成,一是架构,另一是权重(Weight),也就是参数。联合学习的每一轮训练中,不一定要取得所有节点的权重,也可以在过半数节点回传后就进行聚合。至于这一轮未上传权重的节点,自己训练完模型、上传权重后,就会得到第一轮聚合过的权重,再以新权重继续训练模型。

Q:采用联合学习,得有哪些事前准备?

A参与模型训练的节点,得采用相同的训练程序和软件平台,在资料方面,也得先定义出要使用的训练资料类型和规格。甚至执行联合学习时,各方需采用同规格模型,像是类神经网络的层数。

Q:联合学习有哪些种类?适合哪些产业?

A联合学习可分为两种,首先是跨设备(Cross-device),比如Google利用联合学习来训练数万支Android手机的Gboard模型,最后再部署到上百万支手机。另一个是跨组织(Cross-silo),比如英特尔联手宾州大学医学院,与29家跨国医疗机构利用联合学习,来开发脑瘤侦测AI算法。联合学习适合重个人信息隐私的领域,比如医疗、金融业。

Q:联合学习与集中式训练的模型,准确度有差别吗?

A根据台湾人工智能实验室创办人杜奕瑾的经验,他们多次用联合学习来训练医疗AI模型时,比较过两种训练方法的效果,只要各节点的资料分散程度越多样,训练迭代次数越多,联合学习的AI模型准确度可以媲美集中式训练,甚至可以比集中式训练更高。

Q:联合学习有哪些框架?

A常见的包括Google的Tensorflow Federated、脸书的PySyft,不过两者只限于模拟,无法用来部署。其他框架还有Nvidia的Clara、百度的Paddle Federated Learning(PFL),以及中国纯网银微众银行的FATE。

台湾人工智能实验室也在今年六月,开源自家联合学习框架Harmonia,已开放Harmonia-operator SDK和差分隐私(Differential privacy)函数库下载。

Q:国际上,联合学习有哪些应用案例?

A在金融方面,中国纯网银微众银行发起开源联合学习项目,要集结全球金融企业,来打造信用卡防欺诈侦测模型。在医疗方面,则有Nvidia与英国伦敦国王学院,以联合学习打造脑瘤图片分割模型;此外,还有波士顿大学与麻州总医院MGH联手,以电子健康记录(EHR)和联合学习方法,来训练一套预测心脏病患者住院率的模型。

Q:联合学习有哪些挑战?

A虽然联合学习不必将原始资料上传,但在传递权重的过程中,仍可能受到模型逆推攻击(Model Inversion Attack),通过权重来回推特定的用户资料。常见的解法包括同态加密、差分隐私(Differential Privacy),在发送的权重中添加噪声(Noise)。