跳转至

Co-LoRA: Collaborative Model Personalization on Heterogeneous Multi-Modal Clients

会议: ICLR2026
arXiv: 2506.11024
代码: https://github.com/snumprlab/fedmosaic
领域: AI安全
关键词: personalized federated learning, LoRA, model heterogeneity, multimodal, knowledge sharing

一句话总结

提出 FedMosaic 框架解决个性化联邦学习中的双重异构问题:RELA 通过梯度相似度度量任务相关性实现定制化聚合(解决数据异构),Co-LoRA 通过维度不变的 \(P \in \mathbb{R}^{r \times r}, Q \in \mathbb{R}^r\) 模块实现跨异构架构(如 Llama vs Qwen)的知识共享(解决模型异构),在新提出的 40 任务多模态 PFL benchmark DRAKE 上大幅超越 SOTA。

研究背景与动机

领域现状:个性化联邦学习(PFL)让各客户端协作学习但保留隐私。现有 PFL 方法如 DITTO、FedDAT 通过双 adapter(本地+全局)设计处理数据异构,但假设所有客户端使用相同模型架构。

现有痛点:(a) 数据异构——现有 benchmark 用同一数据集的 non-IID 切分模拟异构,不真实(真实世界中客户端做不同任务);(b) 模型异构——不同客户端有不同硬件,使用不同模型族(Llama vs Qwen)和规模(1B vs 3B),LoRA 矩阵维度不同无法直接平均;(c) 现有处理模型异构的方法(HETLoRA、FlexLoRA)假设基础架构相同只是 rank 不同,不支持真正异构的架构。

核心矛盾:LoRA 的 \(A \in \mathbb{R}^{r \times d_I}\)\(B \in \mathbb{R}^{d_O \times r}\) 矩阵依赖模型特定的隐藏维度 \(d_I, d_O\),不同架构维度不同→无法聚合。同时朴素平均不同任务的模型会产生参数干扰。

本文目标 同时处理数据异构(客户端做不同任务)和模型异构(客户端用不同架构/规模),在真实多模态 PFL 场景中实现有效协作。

切入角度:在 LoRA 中间插入仅依赖 rank \(r\) 的维度不变模块 \(P, Q\)——只聚合这些模块就能跨架构传递知识。

核心 idea:用维度不变的 Co-LoRA 模块实现跨架构知识共享 + 用梯度相似度驱动的相关性聚合减少任务干扰。

方法详解

整体框架

FedMosaic 要在「客户端做不同任务、还用不同模型架构」的双重异构下让各方有效协作。正式联邦训练开始前,先做一次性的跨架构对齐(块对齐 + 权重对齐),让不同模型族的冻结 \(A, B\) 子空间可比。之后每一轮通信里,客户端在本地用 Co-LoRA 微调,把维度不变的 \((P_i, Q_i)\) 模块连同一份消毒过的梯度 \(\tilde{g}_i\) 上传;服务端用 RELA 根据梯度算出客户端两两之间的任务相关性,据此为每个客户端单独拼出一个定制化的全局 Co-LoRA \(G_i\) 再下发,客户端拿到后冻结使用。推理时,本地 LoRA 携带的个性化知识和全局 Co-LoRA 携带的共享知识,通过一个可学习的门控 \(\beta\) 自适应融合。整套设计把「跨架构传知识」和「跨任务选着传」拆给了 Co-LoRA 和 RELA 两个模块各自负责。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}, 'wrappingWidth': 400}}}%%
flowchart TD
    A["异构客户端<br/>不同任务 + 不同架构"] --> CO
    subgraph CO["Co-LoRA(跨架构知识共享)"]
        direction TB
        AL["跨架构对齐<br/>块对齐 + 权重对齐(一次性)"] --> FT["本地微调<br/>冻结 A,B 只更新 P,Q"]
    end
    CO -->|"上传 (P,Q) + 消毒梯度"| R["RELA 相关性聚合<br/>梯度余弦相似度 → softmax 加权"]
    R -->|"下发定制全局 G_i"| G["门控融合<br/>β 自适应混合本地/全局"]
    G --> O["个性化推理输出"]

关键设计

1. Co-LoRA(Collaborative LoRA):插一个只依赖 rank 的模块,让不同架构的知识能直接相加

普通 LoRA 的 \(A \in \mathbb{R}^{r \times d_I}\)\(B \in \mathbb{R}^{d_O \times r}\) 维度都绑死在模型隐藏维 \(d_I, d_O\) 上,Llama 和 Qwen 这种异构架构维度不同,矩阵根本没法对齐相加。Co-LoRA 把一个新模块塞进 \(A\)\(B\) 中间:

\[h_O = W_p h_I + B(PA h_I + Q)\]

其中 \(P \in \mathbb{R}^{r \times r}\)\(Q \in \mathbb{R}^r\) 的尺寸只跟 rank \(r\) 有关、与隐藏维无关,因此不同架构上的 \(P, Q\) 可以直接聚合。训练时冻结 \(A, B\) 以保持表征对齐,只更新 \(P, Q\),聚合的也只是这两个小矩阵。

要让冻结的 \(A, B\) 在不同模型间真正可比,需要两步对齐。块对齐解决「哪一层对哪一层」:CKA 分析显示不同深度的模型在相对位置上的层表征最相似,于是把模型按相对深度切成 \(N_B\) 块,每块最后一层挂一个 Co-LoRA,只在对应块之间做聚合,避免深浅模型层数不等时层与层错配。权重对齐解决「同一层的子空间怎么对齐」:\(A\) 矩阵用 L2 loss 在少量公共数据上对齐到统一的 \(r\) 维表征;\(B\) 矩阵用 CCA 找出最大相关的投影空间,先投到共享空间、用完再反投回各自模型,并施加正交约束以最大化表达能力(Theorem 1 证明此时权重更新张成的空间为 \(r^2\) 维)。相比需要传公共数据 logits 的联邦蒸馏,Co-LoRA 只交换小矩阵,更轻量也更隐私安全;相比只能处理「同架构、不同 rank」的 HETLoRA,它能跨真正异构的模型族。

2. RELA(Relevance-Guided Aggregation):按任务相关性定制聚合,而不是一刀切平均

朴素平均所有客户端的模型,会把不相关任务的参数硬揉到一起、相互干扰,这正是 FedAvg 在真实异构场景里反而不如不协作的根源。RELA 的做法是让聚合「看任务亲疏」:每个客户端从一个小预训练模型里提取最后一层的梯度 \(g_i\) 作为任务画像,用 EMA 更新它以反映分布漂移,再加高斯噪声、做随机维度采样把它消毒成 \(\tilde{g}_i\) 后上传。服务端计算两两余弦相似度矩阵 \(S_{ij} = \cos(\tilde{g}_i, \tilde{g}_j)\),经 softmax 归一化得到权重,再做加权聚合 \(G_i = \sum_j w_{ij} L_j\)——于是每个客户端只重点吸收与自己任务相近的同伴知识,冲突更小。这里用 EMA 梯度而非累计梯度,是因为前者反映模型「当前」的知识状态(把遗忘也算进去了),对相关性的刻画更准。

3. 门控融合:让每层自己决定全局知识占多少

本地 LoRA 偏个性化、全局 Co-LoRA 偏共享,二者该按什么比例混合并非固定——不同层、不同任务对全局知识的需求量不一样。于是用一个可学习门控自适应调节:

\[h_O = W_p h_I + (1-\tilde{\beta})h_L + \tilde{\beta}h_G, \quad \tilde{\beta} = \sigma(\beta)\]

\(\tilde{\beta}\) 由可学习参数 \(\beta\) 过 sigmoid 得到,训练中自动学出每处该更靠本地还是更靠全局。

损失函数 / 训练策略

\(A/B\) 的对齐只在联邦训练正式开始前做一次,属一次性开销,之后整个联邦过程不再重复。通信上只需上传 \(P \in \mathbb{R}^{r \times r}\)\(Q \in \mathbb{R}^r\),比传完整 LoRA 小得多。隐私上靠「梯度 EMA + 高斯噪声 + 随机维度采样」三件套来消毒上传的梯度画像。

实验关键数据

主实验(DRAKE Benchmark,40 任务)

方法 同构设置 (Avg Acc) 异构设置 (Avg Acc) 说明
Local only 基线 基线 无联邦协作
FedAvg 低于 Local 不适用 朴素平均有害
DITTO 中等 不适用 双 adapter 但不支持异构
FedDAT 中等偏上 不适用 同上
HETLoRA - 中等 只处理 rank 异构
FedMosaic 最优 最优 显著超越所有方法

消融实验

配置 Acc 变化 说明
Full FedMosaic 最优 完整方法
w/o RELA(用 FedAvg) 下降 任务干扰
w/o Co-LoRA(用 HETLoRA) 下降 架构异构处理不足
w/o 块对齐 下降 层对应错误
w/o 权重对齐 下降 优化轨迹不一致
w/o 门控 \(\beta\) 下降 全局/本地知识固定比例不佳

关键发现

  • FedAvg 在真实异构场景中比不协作还差:朴素平均不相关任务的模型产生严重参数干扰
  • RELA 的选择性聚合至关重要:只与相关客户端协作显著优于全局平均
  • Co-LoRA 成功跨架构传递知识:Llama-1B ↔ Llama-3B 和 Llama-1B ↔ Qwen-3B 都能有效协作
  • CKA 验证层对齐假设:不同深度模型的相对位置层有最高表征相似度,支持块对齐策略
  • 通信开销极低:只传 \(P(r^2)\)\(Q(r)\) 参数 + 消毒梯度

亮点与洞察

  • 维度不变模块是跨架构联邦学习的优雅解决方案\(P \in \mathbb{R}^{r \times r}\) 只依赖 rank 不依赖隐藏维度——这个设计思想可以推广到任何需要跨架构知识传递的场景
  • 梯度消毒三件套:EMA 混合 + 高斯噪声 + 随机维度采样——每一步都有隐私理论支撑,整体方案实用且安全
  • DRAKE benchmark 填补多模态 PFL 评估空白:40 个不同任务 + 分布漂移 + 多图像输入——比之前 non-IID MNIST 的评估真实得多
  • Theorem 1 的正交约束保证:冻结正交 A/B 下,Co-LoRA 的权重更新空间维度为 \(r^2\)(最大可能)——从理论上保证了表达能力

局限与展望

  • DRAKE 任务数 40 偏少:真实 agentic AI 场景可能有数百个任务类型,scalability 需验证
  • 公共数据需求:A/B 对齐需要公共数据(虽然很少量),在极端隐私场景下可能不可接受
  • 只测试了 1B/3B 规模:7B/13B 以上规模是否有效、通信成本是否仍然可控?
  • rank r 需要所有客户端统一:如果客户端需要不同 rank 的 LoRA,Co-LoRA 目前不支持

相关工作与启发

  • vs HETLoRA/FlexLoRA:它们只处理同一架构不同 rank 的异构,本质上假设 \(d_I, d_O\) 相同。Co-LoRA 处理真正的架构异构(不同模型族、不同深度、不同维度)
  • vs FedMD/FedMKT:联邦蒸馏通过公共数据 logits 传递知识,但 logit 提取对大模型计算昂贵、且有梯度反演隐私风险。Co-LoRA 只传小矩阵,更安全更高效
  • vs DITTO:DITTO 保留本地/全局双 adapter,但全局用朴素平均。FedMosaic 用 RELA 做任务感知聚合 + Co-LoRA 支持异构

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 维度不变模块、梯度相关性聚合、块对齐/权重对齐的组合设计系统且新颖
  • 实验充分度: ⭐⭐⭐⭐ 40 任务 benchmark 全面,消融充分,但缺少更大规模模型实验
  • 写作质量: ⭐⭐⭐⭐ 问题定义清晰,方法推导严谨,但篇幅很长
  • 价值: ⭐⭐⭐⭐⭐ 为异构联邦学习提供了可行的实用方案,DRAKE benchmark 有持续价值