多任务处理方法
MTL-LoRA
配置类: MTLLoRAConfig
"MTL-LoRA:面向多任务学习的低秩适配方法"(Yang et al., 2024)。MTL-LoRA通过提升任务区分度与知识共享能力,将LoRA技术扩展至多任务学习(MTL)领域。该方法创新性地引入任务特定的低秩可学习矩阵\(\Lambda_t\)以更精准捕捉任务特征,并采用\(n\)个低秩上投影矩阵实现多样化信息共享。通过加权平均机制整合这些矩阵,实现跨任务的自适应知识迁移。具体而言,任务\(t\)的MTL-LoRA输出可表述为:
\[
h_t = (W + \Delta W_t)x_t = Wx_t + \sum_{i=1}^n\frac{\text{exp}(w_t^i/\tau)B^i}{\sum_{j=1}^n\text{exp}(w_t^{j}/\tau)}\Lambda_t A x_t
\]
其中 \(\tau\) 控制权重分布的锐度。
MTL-LoRA 可通过 MultiTask 组合和包含 task_ids 列的数据集进行训练(参见 MultiTask Composition)。
示例:
from adapters import MTLLoRAConfig
import adapters.composition as ac
config = MTLLoRAConfig(
r=8,
alpha=16,
n_up_projection=3,
)
model.add_adapter("i", config)
model.add_adapter("k", config)
model.add_adapter("l", config)
model.share_parameters(
adapter_names=["i", "k", "l"],
)
model.active_adapters = ac.MultiTask("i", "k", "l")