联邦学习/联盟学习 (Federated Learning) 的发展现状及前景如何？
数据是人工智能运转的“石油”，AI发展到现在的阶段，能否获得量大质高的数据已成为制约其进一步发展的重要因素。在这样背景之下，数据共享、融合的需求越来越强烈，但是在数据共享的过程中，遇到以下问题： 另一方面来说，传统的机器学习方法，需要把训练数据集中于某一台机器或是单个数据中心里，为了满足逐渐增加的数据量级，还要不断加机器、不断建设基础设施。而在数据集中的过程中有出现数据泄露的风险。多说一点，目前的AI市场模式是科技巨头在主导，他们提供基于云的AI解决方案以及API，这种模式使用户无法控制AI产品的使用以及个人隐私数据，而通过数据集中公司却可以做到垄断数据。一定要注意这一点，因为未来世界的竞争是基于数据的竞争，而数据的垄断必将带来市场的垄断。而这种集中模式很可能在未来限制初创企业乃至大型企业的创新。 以上提到的问题导致传统的数据共享技术难以满足需求。新的技术应运而生——Federated Learning，在融合安全多方计算以及其他加密技术的基础之上发展越来越成熟。该技术实际上是一种加密的分布式机器学习技术，各个参与方可在不批露底层数据和底层数据的加密（混淆）形态的前提下共建模型。 Federated Learning适合以下任务： 而该技术有很多不同名称，比如UC Berkeley使用的是共享学习（Shared Learning）,而谷歌和腾讯系公司微众银行用的Federated Learning，但在中文翻译两者不同，前者用的是联盟学习，后者用的是联邦学习。而Federated Learning是世界范围使用较为普遍的该技术的英文名称。 该技术的发展广受关注，2017年10月16日，UC Berkeley电气工程与计算机科学系（EECS）14位专家联合发布了一份名为《A Berkeley View of Systems Challenges for AI》的报告。该报告明确提出，下一代人工智能系统的问题需要通过体系结构、软件和算法的协同创新来实现，而伯克利也将在从所面临的四大趋势和九大挑战，来解决这些问题。而在保密数据上共享学习（Shared learning on confidential data）便是九大研究方向之一。  最近CMU 博客上有一个白皮书《Federated Learning: Challenges, Methods, and Future Directions》对于该技术做了系统介绍，推荐一看。 引路人———谷歌 2017年4月6日,谷歌科学家Brendan McMahan和Daniel Ramage在GoogleAI上发布名为《 Federated Learning: Collaborative Machine Learning without Centralized Training Data》的博文，介绍了Federated Learning也是一种机器学习，能够让用户通过移动设备交互来训练模型。 Google近期还特别推出中文漫画对于Federated Learning进行介绍，很有趣，推荐大家看一下 其主要工作原理如下： 根据谷歌的官方说明，我们可以对于Federated Learning的优势给出如下总结： 此外Federated Learning的易用性也不断提高。除了Google的tensorFlow,世界上另外一个最流行的深度学习框架Fackbook的PyTorch也在近期开始支持采用联盟学习方案来实现隐私保护。而Facebook的AI研究小组同步推出了Secure and Private AI，这是一个免费为期两个月的Udacity课程，其中专门提到在PyTorch中如何使用联盟学习。国内的微众银行推出Federated AI Technology Enabler（FATE）的开源项目，旨在提供一个安全的计算框架来支持Federated AI生态系统。 2019年2月，谷歌发布论文《Towards Federated Learning at Scale：System Design》，描述了谷歌基于TensorFlow构建了全球首个产品级可扩展的大规模移动端Federated learning系统。并介绍该系统的设计理念以及面临的挑战，并给出了自己的解决方案。 该进展以至于让Deepmind研究科学家Andrew Trasktwitter惊呼：“这是2019年「年度最激动人心的论文之一」。谷歌公布了他们如何在数千万台手机上手机上实现可扩展的联盟学习，数据安全隐私终于成真，而谷歌是这方面的领跑者！”目前该系统已在数千万台手机上运行。研究人员表示，该系统有望在几十亿部手机上运行。 谷歌目前看重以下的使用场景： 设备上项目排名 （On-device item ranking) 移动应用程序中机器学习中的常见用途是从设备上的库存中选择和排序项目。例如，app可以公开用于信息检索或在app导航的搜索设置。在设备上对搜索结果进行排序，可以免去对服务器的成本高昂的呼叫（原因可能是延迟、带宽限制或高功耗），而且关于搜索查询和用户选择的任何潜在的隐私信息仍然保留在设备上。每个用户与排名特征的交互可以作为标记数据点，可以在完整排序的项目列表中观察用户与其优先选项的交互信息。 移动设备键盘输入内容建议 (Content suggestions for on-device keyboards) 可以通过为用户输入的相关内容提供建议（比如与输入文本相关的搜索查询）来提升对用户的价值。联盟学习可用于训练机器学习模型来触发建议功能，并对可在当前上下文中建议的项目进行排名。谷歌的Gboard移动键盘团队就在使用这个的联盟学习系统，并采用了这种方法。 下一词预测 (Next word prediction) Gboard还使用联盟学习学习平台训练递归神经网络（RNN）用于下一词预测。该模型具有约140万个参数，在经过5天的训练后，处理了来自150万用户的6亿个句子后，在3000轮联合学习后实现收敛（每轮大约需要2-3分钟）。该模型将基线n-gram模型最高召回率从13.0％提高到16.4％，并且其性能与经过1.2亿步服务器训练的RNN的性能相当。在实时对比实验中，联盟学习模型的性能优于n-gram和服务器训练的RNN模型。 在2019年5月8日的Google I/O开发者大会中，谷歌CEO Sundar Pichai强调了Federated Learning的重要性：“ It allows Google’s AI products to work better for you and work better for everyone without collecting your data from all your devices.” 关于Google联盟学习更多内容可以看一下以下链接： Google产品中的联盟学习 Gboard的联盟学习 Google联盟学习内容站点 如果说Google的联盟学习的应用侧重在C端，那么跨机构跨组织（B端）的数据融合场景，也有很多机构正在探索： 2018年，英特尔开始与宾夕法尼亚大学的生物医学图像计算与分析中心(CBICA)合作，展示了联盟学习在现实世界医学成像中的第一个概念验证应用。并在Springer上发表了他们的研究结果：《Multi-institutional Deep Learning Modeling Without Sharing Patient Data: A Feasibility Study on Brain Tumor Segmentation》 目前英特尔正在与宾夕法尼亚大学和其他19家医学研究机构合作开发安全的联盟学习平台，这将使合作者能够在不交换患者数据的情况下训练医疗共享机器学习模型。在这个合作中，因特尔将提供英特尔®至强®可扩展处理器和英特尔®软件保护扩展（英特尔®SGX）的功能为该项目提供支持。 蚂蚁金服在《共享学习：蚂蚁金服数据孤岛解决方案》一文中，对于其该项技术称之为共享机器学习 （Shared Machine Learning），并做了系统的介绍。在文中还比较了共享学习与联邦学习的差异： 蚂蚁金服在共享学习领域有较深的积累，有专利50余项，并且其在IEEE正式立项《共享学习系统技术框架及要求》（Standard for Technical Framework and Requirements of Shared Machine Learning）国际标准。 微众银行聚焦在金融领域的机构间的数据共享，其在联邦学习领域的进展公开资料较多，不做专门介绍，可以通过以下资源详细了解： 论文 会议 标准 白皮书及其他 在数据隐私保护的研究应用方面，基于多方安全计算技术，腾讯开展AI创新实践，推出“腾讯云数盾”。数盾以数据安全治理为核心,构建了包含外部攻击防护、数据交换保护、内部防泄露等全流程的数据安全保护方案,用于帮助企业数据安全建设。针对外部攻击,数盾通过全量会话审计,能够快速完成问题事故追责定责,对可能产生的风险和威胁进行实时警告，提供全景视图显示数据流转动向，在数据交换环节,数盾对敏感数据一键智能脱敏。通过使用匿名化、差分隐私、安全多方计算架构等方式,在数据使用安全的基础上,平衡隐私保护与数据挖掘价值,符合金融、政府、运营商等机构对于数据使用和共享环境中的合规需求。 Mesa TEE是由百度公司开发的可信安全计算服务框架，为“函数即服务”（Function-as-a-Service，缩写FaaS）云计算模式提供革命性安全方案。FaaS具有灵活、经济等优点外，通应用Intel SGX技术，云上数据代码的完整性和保密性也得到了芯片级的安全保障，并且允许用户远程对这些安全保护进行验证。 MesaTEE还应用了百度安全实验室的HMS内存安全技术，兼具内存安全带来的不可绕过性，这一世界首创的独特优势让攻击者难以突破，提供了无可比拟的安全保障。 以下是Mesa TEE平台具有的特点：  百度“点石”数据安全融合及应用服务平台 百度基于数据本地和云端隔离技术，采用安全数据融合以及多方联邦学习技术，推出“点石”数据安全融合及应用服务平台。提供安全数据集合、灵活建模、快速服务部署等服务，基于硬件隔离域、多方安全计算的技术能力，支持多场景的数据安全计算。“点石”利用安全方案解决数据打通难与应用成本高等问题。提供减少企业损失的风险识别，帮助企业有效识别在信用卡、贷款、在线支付等场景中的违约、欺诈等潜在风险，帮助企业对销售线索进行甄别与拓展，优化企业营销策略。“点石”的联邦学习应用场景主要是风险识别和营销分析。该平台与清华大学达成合作，利用联邦学习对接政府客户，帮助智慧城市建设。在风控模型建立方面，与狮桥公司合作，协同客户本地训练，结合大数据联合建模平台进行数据融合与分析建模。此外还有的客户案例包括：天闻、卓思、易车等。 蜂巢平台是由平安科技开发的一个联邦学习平台。除了一般的联邦学习平台所具有的功能之外，蜂巢平台希望能够实现的其余功能包括：提供基于联邦学习的医疗影像数据平台、扩接融合用户特征与个性推荐系统和动态车险定价模型系统等。此外，相较于目前已有的联邦学习平台，蜂巢平台能够支持更多的深度学习框架。 以下是蜂巢平台具有的特点： 在联盟学习领域出现了一些新的创业公司，如S20.ai，Owkin和Snips，围绕联盟学习和其他安全计算技术创建了新的工具和企业解决方案。 其中一个挑战是通信带宽。手机上的联盟学习依赖于无线通信来协作学习机器学习模型。虽然手机的计算资源变得越来越强大，但无线通信的带宽并没有增加太多。因此，瓶颈从计算转移到通信。结果，有限的通信带宽可能导致长的通信延迟，因此可能减慢联盟学习过程的收敛时间。 另一个挑战是参与联盟学习过程的终端设备的可靠性。联盟学习是一个迭代过程，它依赖于参与的终端设备在迭代中不断进行通信，直到学习过程收敛。但是，在实际部署中，由于各种实际原因，并非所有终端设备都可以从头到尾完全参与完整的迭代过程。对于在联盟学习过程中退出的终端设备，在学习过程中无法充分利用其数据。因此，联盟学习的学习质量可能会受到严重影响。 最后，数据集中训练模式、为大公司创造孤岛以获得竞争优势的思维方式将成为推动联盟学习采用的一项重大挑战。在有效的数据保护政策以及围绕权力下放数据的适当激励和商业模式下，可以解决这些问题，并开发联盟学习AI生态系统。 最近在看Tim O'Reilly的《未来地图：技术、商业和我们的选择》（WTF? What's the Future and Why It's Up to Us)。其中提到了克莱顿·克里斯坦森的高利润守恒定律： 联盟学习硬件的平价化，将为联盟学习的应用带来无限可能的机会。支持联盟学习的手机底层芯片在2018年中后期发生一些变化，从三星S9或Apple X系列开始，在未来3 - 5年内，随着10亿多智能手机配备了AI芯片并拥有强大的计算能力手机上市，许多ML型号将能够在这些移动设备上本地运行。与中央计算设施相比，通过“边缘”智能手机分发分析和计算将大大缩短开发数据产品的时间，例如超个性化推荐引擎，电子商务定价引擎等。 而5G时代的到来，将极大缓解联盟学习的通信带宽的问题，同时联盟学习将可以在物联网中将得到更为广泛的应用。  5G以及终端设备AI芯片组的广泛应用，将极大促进联盟学习的发展。从另一个维度来说，联盟学习其实为人工智能开辟了一个全新的计算范式。人工智能正在从云端和数据中心转向终端设备，联盟学可有效利用终端设备内的分散计算资源来训练机器学习模型。考虑到全球有数十亿的移动设备，从这些移动设备累积的计算资源远远超出了世界上最大的数据中心。从这个意义上说，联邦学习有可能会改变主导地位的计算范式：云计算。 我将技术本身看作一个生命，我现在很好奇一个技术是如何出现，如何发展，然后又如何死亡，这其中又有怎么样的规律。联盟学习是我最近在关注的领域，我发现国内的关于这块技术内容太单一，所以整理一下这些资料，供大家了解。如果你对于我正在探索的问题很感兴趣，欢迎和我交流。 最后，码字不易，如果觉得内容还可以，希望给我点个赞，谢谢！ The New Dawn of AI: Federated Learning AI Weekly: Google’s federated learning gets its day in the sun Federated Learning and Privacy Google engineers work towards large scale federated learning A Beginners Guide to Federated Learning Federated Learning: The Future of Distributed Machine Learning How federated learning could shape the future of AI in a privacy-obsessed world The Best Way to Avoid Data Leaks and Privacy Scandals: Don't Own Consumer Data 