1. Adapter Tuning

Adapter Tuning 通过在 Transformer 的 多头注意力机制 和 FFN 之后插入 瓶颈结构 的 Adapter 模块,实现了参数高效微调。其设计简单、高效且通用,适用于多种任务和模型。
2. Adapter Fusion

AdapterFusion是一种两阶段学习算法,分为知识提取和知识组合阶段,通过两阶段学习,解决了灾难性遗忘、任务干扰和训练不稳定问题,实现了多任务知识的高效融合。尽管增加了参数量,但其在多任务场景下的性能优势显著:
- 知识提取阶段:
- 为每个任务训练独立的Adapter模块,学习任务特定信息。
- 训练方式:
- 单任务Adapter(ST-A):各任务独立训练,互不干扰。
- 多任务Adapter(MT-A):多任务联合训练。
- 知识组合阶段:
- 固定预训练模型和Adapter参数,引入AdapterFusion模块,学习如何组合多个Adapter的知识。
- AdapterFusion结构:
- 基于Attention机制,query为Transformer子模块输出,key和value为各任务Adapter的输出。
- 通过加权聚合多任务Adapter信息,为目标任务生成更合适的输出。
3. Adapter Drop

Adapter Tuning 通过插入轻量级 Adapter 模块实现参数高效微调,但在深层 Transformer 中,逐层添加 Adapter 会带来计算开销。AdapterDrop 旨在动态减少 Adapter 的计算量,同时保持模型性能。
关键技术
- 动态丢弃:
- 在推理时,跳过不重要层的 Adapter,仅计算关键层的 Adapter。
- 层重要性评估:
- 通过启发式方法或学习策略,确定哪些层的 Adapter 可以丢弃。
- 训练策略:
- 在训练时随机丢弃部分层的 Adapter,增强模型鲁棒性。