自 2021 年起,国家积极推动数据要素的高水平应用和数据安全治理,同时强调数据与 AI 相辅相成。大家逐渐形成一个共识,就是数据要素的价值在于其流通。然而,在数据流通与应用过程中,必须防止数据滥用并保障数据安全。为此,2016 年谷歌首次提出联邦学习这一机器学习范式,迅速吸引了广泛的研究和企业关注,并在金融偏好、推荐等领域得到应用。
近年来,大模型的兴起使得数据要素市场规模持续扩大。大模型也给这个不断壮大的市场提供了一个全新的、强大的工具,创造了更多新的应用场景和市场机会。正如上图右侧所示,可以说几乎所有的应用都值得由大模型重新做一遍。
大模型重新设计数据要素相关应用具有巨大潜力。例如,ChatGPT 等大模型在多种任务中已显示出卓越性能,然而,将大模型在特定垂直行业中高效、高质量地应用,依然面临挑战。比如,若要在特定领域微调大模型,如何获取大量高质量的训练或微调数据,以及如何利用大规模计算资源进行训练或微调,都是重大难题。正如上图左图所示的金融领域大模型“Bloomberg GPT”,其训练涉及跨度 40 年间的超过 3630 亿 token 的数据和 130 万 A100 GPU 小时,成本巨大。即使不进行训练或微调,避开收集数据的问题,部署一个高效的大模型进行推理也需大量计算资源。
尽管收集大规模高质量数据具有挑战性,但我们每天产生的大量数据并未被充分利用。由于隐私问题,这些数据主要存储在本地,未得到应用。这些数据像孤岛般散落在各处,如手机、电脑以及自动驾驶车辆中的传感器采集的数据,或分散在不同的医院和大型企业中。我们可利用的公开数据集只占所有数据的一小部分,如上图所示。因此,如何打破数据孤岛,同时保护数据隐私,综合利用所有数据,成为了一个重要且富有挑战性的问题。
有人可能会考虑直接将数据集中发送给大模型以进行应用或推理,但这显然是不可行的。首先,这违反了数据安全中的基本原则——数据不出域。同时,大模型的出现也为私有数据安全保护带来了新的挑战。鉴于远端大模型可能带来的数据泄露风险,许多公司禁止将公司数据上传至远端服务器或限制员工访问如 ChatGPT 这类远端大模型。像亚马逊这样的行业巨头也表达了对于大模型可能泄露私密数据的担忧。此外,关于隐私泄露的真实案例不断被报道,这些对数据安全的担忧严重阻碍了大模型和 AI 技术在实际中的应用和落地。
前面提到的主要是数据安全问题,实际上模型安全也是一大问题。模型训练方拥有模型权重的知识产权,他们不希望模型参数被他人轻易利用或窃取。因此,闭源模型的开发商不愿意将模型直接发送给使用方进行本地部署。所以,大模型时代的应用落地面临着数据安全问题和模型与数据流通之间的巨大矛盾。
上图展示了一些当前的关键问题,前面讨论了私有数据与闭源模型之间的问题,那么如果将闭源模型更换为开源模型并在数据侧进行本地部署,是否可以解决这个问题呢?答案是否定的。因为数据侧通常只有能够支撑训练小型模型的计算资源,部署大型模型可能会带来过大的压力。如果我们将开源模型部署在第三方云端,是否可行呢?答案仍然是否定的,因为许多公司不信赖将其私有数据发送到第三方云端,如阿里云,尤其是一些国有企业,他们会考虑到数据和国家安全问题。同时,我们还需要考虑第三种情况,即单个数据持有者拥有的私有数据量可能较少,在大模型时代,如何联合多个私有数据持有方共同训练一个更好的模型也是一个值得研究的问题。在此过程中,如何使用大模型来提升每个小模型,以及如何利用每个小模型的专业能力来帮助大模型在这个领域进一步提升,都是值得研究的问题,并且目前是一个开放的研究领域。
二、隐私计算与联邦知识迁移技术
在上一章节中介绍了大模型时代下数据和模型安全以及使用上的问题。接下来,将分享一些现有的解决方案,以及我们团队正在研究的基于知识迁移的联邦学习技术。
目前存在多种保护数据隐私的方法,包括常见的同态加密、多方安全计算和差分隐私技术。这些方法都可应用于机器学习和模型训练,但通常以牺牲计算效率或损害模型性能为代价来提升数据安全。另外,可信第三方计算依赖于可信的第三方存在,并需要特殊硬件来实现代码和数据的隔离。
联邦学习是一种独特的技术,由谷歌在 2016 至 2017 年间提出的 Cross-device 联邦学习的一种架构,允许在不泄露每个参与方本地数据的情况下进行联合建模。在这个模型中,模型参数而非原始数据作为信息交互的载体,实现了跨成千上万客户端的联合模型建立与协同进化。随后,联邦学习的应用扩展到了 Cross-silo 场景,此场景涉及较少的参与方,通常是大型企业,参与度较高,较少出现参与方因各种原因无法参与合作的情况。相比之下,在 Cross-device 场景中,成千上万的参与方因网络等问题退出合作的情况则更为常见。
联邦学习也可以根据参与方间本地数据的切分方式进行分类。如果不同参与方持有不同用户但相同特征的数据,称为横向联邦学习。相反,如果参与方拥有相同用户但不同特征的数据,则称为纵向联邦学习。而当参与方的数据在用户和特征的重合度都很低时,这种情况被称为联邦迁移学习,此时通常需要运用迁移学习技术来提升模型性能。
联邦学习面临的核心挑战是如何在数据安全、模型性能和模型效率三者之间寻找平衡,尤其在各种限制都可能存在的情况下。目前,我们已经有了一些实现这三者间某两者平衡的方法。例如,多方计算和同态加密(MPC 和 HE)正在寻求数据安全与模型效率之间的平衡,而差分隐私(DP)则在探索数据安全与模型性能之间的平衡。另外,模型压缩或量化等技术正在寻求模型性能与模型效率之间的平衡,这在大模型时代由于超大规模参数带来的巨大训练开销,显得愈发重要。此外,我们还在探索一些新的研究热点,如客户端本地模型的个性化和模型公平性等。
在大模型时代,为了平衡模型性能与模型效率,已经开发了多种策略,其中包括利用分布式训练配合资源优化和并行处理来分散训练压力,或者仅训练模型的 Adapter 层,而不是全部参数,以减少训练所需的参数量。此外,还有利用 Prompt Tuning 技术进行提示的微调而非模型参数的微调。这些方法有效减少了训练参数及参与方间的通信开销,但依然要求参与方本地具备一定的计算能力和资源,以支持大模型的部署、训练或至少进行推理。
我们观察到在横向联邦学习中,由于参与方共享模型参数或权重更新,这需要每个参与方都持有相关内容,但实际上这可以优化。近年来,研究重心从基于模型迁移的联邦学习转向更注重于在参与方之间共享知识而非模型权重来实现联合建模。最常见的知识形态是通过公开数据集上样本的 Logits 或表征共享,这与知识蒸馏技术相关。这引入了联邦学习的第三种分类方式:基于模型迁移的联邦学习与基于知识迁移的联邦学习。
接下来将详细介绍基于知识迁移的联邦学习,这也是我们团队的研究重点。在这类联邦学习中,被传递的知识有多种可能,如在知识蒸馏的联邦学习中,模型在公开数据集上的 Logits 或表征在参与方间流动,构成被传递的知识。在纵向联邦学习,也有人称之为 splitNN,的架构下,模型的中间计算结果或某一方的模型中间输出则作为被传递的知识。最新的研究还包括仅传输每个分类类别的原型,即表征的平均值,作为应对多类抑制数据联合训练的共享知识。在模型仅提供 API 调用权限的情况下,共享的知识可以是模型的决策,如分类预测结果,或生成的合成数据。当然,还有更多其他可能等待我们去探索和发掘。
首先来介绍基于知识蒸馏的联邦学习技术。这种方法属于基于知识迁移的联邦学习范式,其中参与方传递的是针对公开数据集的 Logits。这种方法有多个优点:①它有效地平衡了模型能力和效率,因为传递 Logits 比传递大模型的参数要轻量得多。②它能够适应服务器端的大模型和用户端的小模型,满足不同算力的需求。③它支持客户端模型的个性化部署,甚至能在不同客户端部署不同类型的模型。④这种方法避免了横向联邦学习中常见的 Gradient Leakage 攻击,这是一种通过模型参数窃取隐私数据的攻击方式,从而极大地提高了数据的安全性。
我们在 INFOCOM 2023 上发表的 FedHKT 工作,采用了基于知识蒸馏的联邦学习技术,通过传递各边缘模型在公开数据集上的 Logits 来构建全局模型。全局模型通过加权平均不同边缘模型在公开数据集上的 Logits,以此从多个小模型中获取知识,提高在各分类类别上的能力。
我们在 ICLR 2023 上发表的 CreamFL 工作,提出了一种用于跨模态联邦学习的方法。这种方法基于传递不同模态的数据表征,使得不同客户端能够参与联合建模,客户端可能拥有图片、文本或两者的数据。每个客户端使用本地数据学习自己模态的表征,并通过公开数据集与服务器交换本地模型的表征,这是一个基于知识蒸馏的流程。服务器然后根据每个客户端上传的表征与其数据对应的全局表征的相似度,以及与不对应模态表征的差异度计算权重,进行加权聚合。同时,客户端的本地训练利用对比学习方法,通过减小本地数据的表征与配对数据的全局表征之间的距离,并减小本轮与上一轮表征间的距离来进行。这种方法适用于小型及大规模模型的训练,并可扩展到 VQA 和检索等任务。
这里介绍一种基于原型(Prototype)的联邦建模方法。在这种方法中,参与方和远程服务器共享每个类别的平均表征,即原型。通常,服务器简单地对每个用户上传的原型进行平均。然而,这种简单平均法不能有效区分不同类别的原型,如上图中所示,每个类别的原型(三角形)相距很近,影响模型性能。我们在 AAAI 2024 上发表的研究提出了一种利用对比学习增加不同类别原型间距离的方法,如图新的三个三角形所示,并显示出比基本方法更好的实验结果。
基于原型的联合建模方法可以扩展到涉及大模型的场景。在这种模式中,客户端的小模型上传各自的原型到服务器。服务器综合多个客户端为同一分类提供的不同原型,相当于整合世界不同视角的知识。这种合成可以生成高质量的数据,帮助每个小模型提升性能。
接下来,将分享有关大模型在分类决策和合成数据联合建模的应用。如前文中提到的,隐私数据通常分布有限,如医药领域,公司可能只有几百条数据,不足以支持模型训练,尤其是大模型。面对这种数据量不足的情况,有研究提出使用单一大模型生成的大量合成数据来替代真实数据进行训练。这种方法虽然解决了数据量问题,但合成数据可能含有噪声,如分类错误,且通常存在模型固有的偏差。
上图右侧展示了六个大模型对影评情感分类生成的合成数据分布。不同模型的数据显示了互补特性,但每个模型生成的数据均有偏差。例如,LLAMA2 数据集倾向于生成情感明确的影评,易于模型学习,但现实情况往往更为复杂。如果仅用 LLAMA2 的数据训练,下游任务模型的表现可能不佳。而另一模型如 Flan-T5 虽问题较少,但偏差仍然存在,可能影响最终训练效果。因此,我们提出了一种基于大模型知识融合的方法,旨在提高基于合成数据训练的模型在私有数据上的表现。
我们开发的方法,称为 FuseGen,通过多个大模型进行高效的零样本融合,以增强下游任务的性能。零样本融合是在假设用户无法提供任何相关隐私数据的情况下进行的,这极大地保护了私有数据的安全。此外,由于下游任务模型的训练和推理都在本地完成,因此确保了整个过程的安全性。
实验结果显示,FuseGen 消除了对单一大模型优良性能的依赖。这意味着,在有多个可用大模型的情况下,我们无需预先判断哪一个模型生成的合成数据集质量更高或更适合当前任务。FuseGen 允许我们简单地利用所有大模型进行知识融合,从而获得比任何单一模型都更好的效果。因此,我们的方法特别适合于大模型作为黑盒、性能难以预测的场景。
上图展示了一些实验结果:右表显示了 FuseGen 方法可以消除对单一大模型优良性能的依赖,因为使用多个大模型的组合结果优于任何单一大模型。同时,FuseGen 通过挑选来自不同大模型的高质量样本,作为 few-shot 提示的上下文学习样本,反馈给参与的各大模型进行学习。上图左侧下方的两张图表展示了每一轮反馈中使用的样本来源于哪些大模型,显示出这些样本实际上来自多个不同的大模型。这证明了 FuseGen 能有效融合多个大模型的能力,将不同模型的知识传递和整合。
三、联邦知识计算平台 FLAIR
最后,介绍一下我们团队最近开发的联邦知识计算平台 FLAIR。您可能已经注意到,我之前跳过了一种联邦学习模式,即基于模型中间计算结果进行知识迁移的方式,这在纵向联邦学习和 splitNN 场景中较为常见。FLAIR 平台正是基于此类学习模式,它是从 VFLAIR 平台演化而来的,VFLAIR 即纵向联邦学习平台。因此,先来简要介绍一下纵向联邦学习的基本概念。
纵向联邦学习与常见的横向联邦学习不同,后者是由 Google 最初提出的 Cross-device 学习模式。在纵向联邦学习中,各参与方持有同一批用户的不同特征数据。例如,一个医院可能拥有用户的基本体检数据,而肿瘤专科医院则持有相同用户的肿瘤生化指标和检测结果。在这种模式下,各方在保障本地数据隐私和模型不外泄的前提下进行联合建模。
特别地,数据的标签通常由某一参与方持有,我们称之为标签持有方或主动方。由于纵向联邦学习与实际应用场景高度契合,近年来发展迅速。我们最近在 TDKE 2024 上发表了一篇全面综述纵向联邦学习的文章,覆盖了其概念、算法、数据安全、建模效率等研究进展和挑战,以及未来展望。对此感兴趣的同行可查阅此文以获取更多信息。
尽管纵向联邦学习领域发展迅速并产生了许多科研成果,但这一领域缺少一个广泛覆盖、轻量级的平台来辅助科研人员快速测试联邦学习算法并评估它们。因此,我们开发了 VFLAIR,这是一个面向科研的轻量级纵向联邦学习平台。VFLAIR 平台支持 11 种攻击方法,包括标签攻击、数据推断攻击和后门攻击等,同时也支持 8 种防御方法,如差分隐私、稀疏化和互信息等。此外,我们引入了一个安全风险评估指标,并提供了多个数据安全评估的 Benchmark。平台目前评估了两种模型分布、五种数据传输方式、一种加密方式以及两种数据分布模式。此外,该平台支持 13 个公开数据集和超过 20 种模型,这些模型可用作联邦学习训练中各参与方的底层模型。我们希望这个平台能帮助科研人员加速他们的研究进展。
上图展示了我们关于攻防的一些 benchmark 结果:图中左侧展示了不同防御方法的性能评测,旨在为研究者和行业人员提供防御策略的建议。例如,图中紫色部分代表的 MID 防御方法,在多种攻击任务中表现出色。同时,差分隐私(DP)方法,显示为蓝色和橙色,也在多个任务上有良好表现。此外,我们评估了不同的纵向联邦学习模型的抗攻击性结构,如图中右侧所示。发现如果纵向联邦学习中唯一持有标签数据的参与方,在整合多个参与方上传的模型输出时采用可训练模型而非简单的聚合函数如 Softmax,可以显著提升系统的抗攻击性和鲁棒性。
在大模型时代,我们对 VFLAIR 平台进行了扩展,以支持大模型。但这一拓展面临挑战,如一方在使用大模型时希望保护私有数据不外泄,同时又受限于本地资源,无法部署大型模型。为解决这一问题,我们采用模型拆分方法来实现在保护私有数据的同时进行大模型的推理或微调,类似于 splitNN 场景。
在此配置中,数据方即持有数据又持有标签。本地参与方拥有分割后大模型的第一部分,通常是前几层的 embedding 层。数据通过这些层后的输出被传递给模型方进行后续的 forward 处理。模型方完成任务(如分类)后,将预测结果或模型输出反向传递给数据方进行损失计算。接着,损失信息传回模型方,通过反向传播和 SGD(随机梯度下降)进行模型训练。目前,平台支持多种主流的大语言模型和 NLP 任务,并且提供了全面的数据安全评估。
我们进一步拓展了 VFLAIR 平台,使其不仅支持纵向联邦学习,还支持横向联邦学习及其他场景,因此推出了联邦知识计算平台 FLAIR。FLAIR 支持传统机器学习模型,如逻辑回归、树模型以及基本的神经网络模型如 CNN 和 LSTM。在横向联邦学习方面,FLAIR 支持 ChatGLM-6B 和 Bloom-7B 的联合训练。在纵向联邦学习的应用中,支持 GPT 系列、LLAMA 系列和 Bloom 系列的模型拆分,并且该平台正在不断扩充这一功能。此外,FLAIR 也支持跨模态的联邦训练和检索任务。目前,FLAIR 平台已通过信通院的可信数据流通测试。
此外,FLAIR 已在一个实际的医疗领域当中完成了部署。我们在长庚医院的内部环境当中部署了 FLAIR 平台,并且让这个系统连接了长庚医院、青岛大学附属医院和福州孟超医院。