高效参数微调方法:从理论到实践
1. 适配器概述
适配器是一种小型的封装模块,它可以在不同任务间复用预训练知识。由于其规模较小,适配器必须学习与周围未冻结层兼容的表示,这使得我们能够以模块化的方式组合多个特定任务适配器的知识。
适配器有多种形式和大小,其具体架构可通过隐藏维度、瓶颈大小和跨层参数共享等因素进行定制。适配器的放置位置会影响性能,先前的研究发现,在Transformer中,前馈位置的效果最佳。
大多数适配器架构遵循以下通用框架:
- 向大型预训练模型(如BERT)的每一层引入带有额外可训练参数的小模块。
- 在特定任务微调期间,仅更新适配器参数,而原始模型权重保持冻结。
- 适配器以与后续冻结层兼容的方式转换每一层的激活。
- 使用残差连接将适配器输出与原始预训练表示相结合。
1.1 单任务适配器(ST - As)与多任务适配器(MT - As)
单任务适配器(ST - As)为N个下游任务分别训练特定任务的适配器。预训练模型权重冻结,每个任务仅更新适配器模块中的参数,便于跨任务并行化。
多任务适配器(MT - As)则同时训练所有N个任务的适配器,它可以通过基础模型和适配器参数在任务间共享知识,但需要同时访问所有数据集。ST - As和MT - As的性能接近全模型微调,同时仅在适配器模块中引入少量额外可训练参数。
2. 深入了解适配器
适配器的关键优势在于显著降低优化开销。由于大多数参数被冻结,梯度和优化器状态所需的内存减少,这意味着数十亿参数的模型可以通过仅更新数百万适配器权重在GPU上进行微调。
超级会员免费看
订阅专栏 解锁全文
921

被折叠的 条评论
为什么被折叠?



