引言:随着人工智能和隐私保护技术的快速发展,多模态联邦学习(Multimodal Federated Learning, MFL)正逐渐成为人工智能领域的研究热点。MFL旨在在保护数据隐私的前提下,实现多个客户端共同训练高效的人工智能模型。与传统集中式学习模式不同,MFL允许每个客户端保留其本地数据,并通过共享知识提升整体模型性能。这种方法特别适用于隐私敏感场景,如医疗健康、金融服务和个性化推荐系统等。然而,MFL在实际应用中面临诸多挑战,尤其是在面对客户端架构多样化和数据模态多样化时。例如,不同的客户端可能使用截然不同的神经网络架构,并处理完全不同的数据模态(如图像、文本和音频),这种异构性使得知识共享变得极其复杂。此外,传统方法通常依赖于统一的架构设计或公共数据集,但这些方法不仅限制了系统的灵活性,还可能存在隐私泄露的风险。因此,在架构异构和数据模态多样的情况下,如何实现高效的联邦学习,成为这一领域亟待解决的核心难题。
最近,在ICML2024顶级会议上提出了一种新框架FedMBridge,它恰好可以解决这一问题。该框架引入了拓扑感知超网络(Topology-aware HyperNetwork),为多模态联邦学习的知识共享提供了创新的解决方案。FedMBridge不仅能够平衡和消化架构异构性与统计异构性,还能显著提升通信效率,为MFL的广泛应用奠定了基础。让我们一起来看看吧!
论文链接:https://icml.cc/virtual/2024/poster/33284
01.研究背景
我们生活在一个由多种模态信息构成的世界中,这些信息包括视觉、听觉、文本、嗅觉等。当问题或数据集包含这些不同模态的信息时,我们称之为多模态问题。研究多模态问题对于推动人工智能更好地理解和认知世界至关重要。本文讨论的多模态联邦学习(MFL)的目标是在联邦学习框架下,如何让各个客户端通过协作共享多种模态数据中的知识,从而提升各自模型的性能[1]。然而,在实际应用中,传统方法面临诸多挑战,主要包括:
1) 任务复杂性差异
不同客户端的任务难度和需求往往有很大差异。例如图1(a)中,有的客户端只需简单的模态交互,而有的则需要高度复杂的跨模态注意力机制。这种复杂性的差异要求客户端模型支持多样化架构,而传统方法难以满足这种个性化需求。
图1 (a)每个客户端的本地映射函数。(b)需要限制性组成神经结构的传统MFL问题设置。©不受本地模型架构限制的架构个性化MFL的问题设置。
2)多模态模式差异
多模态融合研究表明,模态之间的交互方式因任务而异,图像与文本模态可能通过简单特征拼接完成融合;图像与音频模态可能需要基于元素对齐;图像、文本和音频三模态可能需要复杂的模态内外注意力机制。这种融合策略的多样性进一步增加了模型设计的复杂性。如图1(b)中所示,当处理异构多模态模型架构之间的知识共享时,传统的多模态联邦学习(MFL)系统通常利用对组合神经架构的限制[2,3],将异构模型架构手动分割成更小的同构模块
,这样的分割允许参与的客户端共享相同的模块,如下公式所示:
这样的设计允许通过模块共享方案实现客户端之间的知识共享。
本文将图1©中涉及的问题命名为架构个性化MFL (AMFL),其中不同的客户端采用结构不同的计算流程,因此整个结构变为不可分割的整块结构,并且不知道异构体系结构之间如何相互关联的。所以本文在问题定义时,放松了传统的问题约束,专注于更一般的MFL场景,没有对架构设计设置任何限制,可以是本地用户指定的任何神经架构,它是非组合的,因此服务器不知道客户端共享方案的先验知识,对于不同的两个客户端可以是:
考虑到这种自由的设计,将会有三种特殊的架构异构情况即:拓扑差异,两个客户端模型类型不同(例如基于Transformer和基于ResNet);深度差,例如都基于ResNet但层数和模块数不同;宽度差,例如每层神经元数量不同。同样在图1©中展示了上述的几种情况。
3)资源预算差异
实际系统中的客户端硬件资源差异显著,从算力有限的手机到高性能的个人电脑,设备对模型大小的支持能力天差地别。例如,资源受限的设备可能无法运行大型预训练模型,而资源充裕的客户端可以从这些模型中大大获益。
02.FedMBridge方法
为了解决传统方法中的诸多挑战,Jiayi Chen和Aidong Zhang等提出了一种多模态联邦学习框架(FedMBridge),如图2所示。主要包括:拓扑感知超网络的架构设计,层任务编码器、任务感知权重生成器以及模型训练。
图2 FedMBridge框架示意图
2.1 TAHN全面支持任意架构设计
FedMBridge的核心是引入了一种全新的超网络结构——拓扑感知超网络(TAHN)。TAHN以全局”桥接函数“的形式存在,其中
表示”桥接函数“的可训练权重,能够自动处理来自不同客户端的模型权重空间
。在给定客户端的条件下,被重新参数化为”桥接函数“的输出,如下公式所示:
其中第一个参数表示为局部神经结构,
表示该局部神经结构来自于潜在的全局共享拓扑空间。第二个参数
表示局部任务,该任务来自于潜在的全局共享任务空间。两个参数分别处理架构异构和统计异构。”桥接函数“可以被看作是一个生成式元学习器。
每个客户端的多模态神经架构都可以表示为有向无环图结构
,将神经架构中的计算算子
表示为一个节点
,这种计算算子可以是非参数的(例如连接操作符)或参数的(例如权重为16X64的线性层)。边
表示神经架构的计算流程,
表示计算算子之间的输入输出的连接。节点的特征矩阵
包含了图中所有算子的K个先验信息,包括层类型、层级别、层形状、模态类型或融合阶段等。通过遍历客户端的设计模型,按照以下步骤构建上述的有向无环图:
第一步,参考微分架构搜索方法,通过跟踪变量的逆向梯度链收集节点和边。具体来说,将一个虚拟的多模态输入样本执行前向传播,之后以相反的顺序迭代遍历梯度函数链,在遍历过程中,与参数模块相关的梯度函数被收集为参数节点,而其他梯度函数,如ConcatBackward和BmmBackward,被收集为非参数节点。
第二步,节点特征的构建。本文使用7种信息类型,包括分支类型,算子类型,层级别和参数形状。此外,我们通过计算每个节点在其父分支中的相对层级别,使每个节点能够意识到它所学习的知识粒度。
2.2 层任务编码器
为了对层的隐式任务进行编码,我们考虑两种类型的信息。首先,每个层的配置信息对于确定层的任务非常重要。例如,如果来自不同架构的两层都是卷积层,并且都处于整个网络的早期阶段,那么它们在计算流程中往往具有相似作用。这些信息在中指定。其次,图形计算流程中每一层的位置和上下文也很重要。例如,如果来自不同体系结构的两层位于相同计算流中的相同位置,则它们倾向于处理相同的任务。隐式任务的上述两种信息特征被合并入图神经网络(GNN)中[4],我们把层任务编码器看作一个L层的GNN:
其中,表示GNN的第l层,
表示其可训练的权重
。每个计算算子
通过消息传递编码为:
收集GNN最后一层的输出结果,作为中所有计算算子的层任务编码集合。
2.3 任务感知权重生成器
客户端独特的任务信息和层任务信息
相结合,以节点的方式生成客户端的权重信息
。利用基于超网络节点解码器
获得权重信息,应用在图神经架构的每个节点上。客户端上每个计算算子的权重
可以用下述公式得到:
其中,表示某种操作(例如concatenation)用来结合两个嵌入向量:特定层任务嵌入向量,和可训练的特定客户端的层不变任务嵌入向量。
2.4 模型训练
训练流程是让客户端只持有他们本地的个人模型,而服务器持有作为知识共享桥梁的TAHN模型。在训练期间,客户端执行本地模型更新,同时,客户端与服务器端频繁通信,以帮助优化TAHN。训练步骤具体可以分为4步:
1、下载。服务器根据当前的 TAHN 参数和当前的任务嵌入预测客户端的权重或客户端子集
。注意一点是,图
可以在第一轮开始前基于上传的客户端模型由服务器自动识别和构建,因此不会引发严重的隐私问题。
2、本地更新。每个被选中的客户端 从下载的权重
开始,基于其本地数据
执行若干本地优化步骤,并最终得到新的权重
。
3、上传。每个客户端将其更新方向上传至服务器。
4、全局更新与知识共享:服务器基于链式法则计算对 TAHN 更新:
其中,多步本地更新方向替代了原始的一步本地梯度
,因为后者在联邦学习 (FL) 中效率较低。我们对选中客户端
,TAHN 更新进行平均,以实现隐式知识共享。
03.实验分析
3.1 实验设置
表1 AMFL的四种多模态场景
我们在四种AMFL模拟场景中评估了我们的方法,这些场景的统计数据总结在表1中。
-
SceneAMF:基于双模态NYU-v2数据集构建,该数据集用于从场景的对齐RGB和深度图像对中识别场景。
-
ObjectAMF:基于双模态ModelNet40数据集构建,该数据集的任务是从3D模型的两个视图中识别3D对象。
-
EmotionAMF:基于CMU-MOSEI数据集构建,该数据集聚焦于通过真实世界的在线视频中的三种模态(视频、语言脚本和音频)进行情感识别任务。
-
MnistAMF:基于AVMnist和MultiMnist数据集构建,涵盖了三种模态(样式一的图像、样式二的图像和数字的音频)。MnistAMF使用了4种多模态融合策略:平均对齐、张量融合、MultiEMO以及跨注意力融合。
3.2 对比试验
表2 不同方法在所有AMFL上的平均性能比较
表2展示了所有模拟实验的结果,比较了FedMBridge与基线方法的表现。其中涉及到的基线方法有三类:无知识共享方法,即Local方法,分别训练具有不同神经架构的本地模型,客户端之间没有任何知识共享;特征共享方法,这些方法在服务器端使用一个公共数据集,以促进异构架构间的知识蒸馏;参数共享方法,包括那些使用固定本地子网络分配的方法。
从表2可以看出,利用特征或权重进行知识共享的FL方法总体上优于无知识共享的Local方法,这表明本地客户端学到的知识成功地在客户端之间交换,并改善了本地性能。然而,我们观察到特征共享基线方法对AMFL中的模态差异和统计异质性较为敏感,因为特征蒸馏对分布偏移的鲁棒性不足。
除了鲁棒性问题外,这些方法还依赖于具有完整模态的公共数据集,这会增加隐私风险。此外,我们还发现参数共享基线方法在AMFL中的架构异质性问题上效果显著下降:本地神经网络架构越异质,客户端之间可共享的权重就越少。因此,训练的权重或梯度可能无法在本地模型之间充分传递。相比之下,FedMBridge 优于特征共享和参数共享的基线方法。这是因为 FedMBridge 不依赖公共数据,也不依赖难以平衡任务偏移的知识迁移损失;同时,它利用 TAHN 隐式地最大化权重共享,而不是显式地对未对齐的权重空间进行聚合。
3.3 消融实验
表3 FedMBridge消融实验结果
表3展示了FedMBridge框架的消融研究结果。我们探讨了关于FedMBridge中四个组件的影响:
-
TAHN第一阶段的影响:TAHN的第一阶段利用基于GNN的网络来学习分层的角色嵌入。表3通过设置L=0L = 0移除了第一阶段。移除该模块后性能下降,表明该模块的重要性。
-
TAHN第二阶段中的角色-任务融合操作符(⊕)的影响:TAHN的第二阶段将层级角色嵌入与任务嵌入相结合。表3将默认的拼接操作替换为求和操作。结果显示性能几乎没有变化。
-
客户端选择的影响:通过在每轮通信中选择更多客户端略微提高了性能。然而,效率随性能的提升而下降。通信时间增加的主要原因是输入到TAHN网络中的实例数量增加。
-
与特征共享FL的结合:实验结果表明FedMBridge可以与特征共享方法(如原始联邦知识蒸馏)结合,并实现略微更好的性能,其中β 表示服务器端特征共享过程中蒸馏损失的重要性。尽管当前的改进并不明显,但在未来工作中,我们可以探索更先进的方法,以更好地平衡AMFL场景中的参数共享和特征共享的影响。
总结与展望
本文提出的FedMBridge框架,旨在解决多模态联邦学习(AMFL)中的关键挑战:任务复杂性、多模态差异性和资源预算差异性。FedMBridge引入了拓扑感知超网络(TAHN),支持任意架构的设计,允许客户端采用异构神经网络,通过全局共享拓扑空间和任务空间实现知识共享。框架通过四个步骤(下载、本地更新、上传和全局更新)完成训练流程,显著提升了模型的灵活性和性能。实验结果表明,与无知识共享和特征共享的方法相比,FedMBridge在准确性(ACC)和通信效率(COT)上表现优越。这主要得益于其无需依赖公共数据,也不受任务偏移的知识蒸馏损失影响,并利用TAHN最大化隐式权重共享。消融实验进一步验证了TAHN中分层角色嵌入的关键作用。
尽管FedMBridge已经在参数和特征共享上表现出色,但性能提升仍有局限性。未来工作可在权重共享与特征共享的平衡策略上进一步优化,开发更加鲁棒的任务迁移机制,并探索其在更多复杂场景下的适应性[5]。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。