Adapter是什么?Adapter在NLP中的用途是什么,能带来哪些好处?

Adapter是什么?Adapter在NLP中的用途是什么,能带来哪些好处?

adapter出现背景

自从bert出现以来,全模型微调(Fine-Tune)可以在下游任务中充分利用 预训练数据中包含的知识,逐步在下游任务中占据主流。但是Fine-Tune的显存需求太高, 因此寻求更经济的微调方式。Houlsby N等人将Adapter引入NLP领域,作为全模型微调的一种替代方案。

adapter原理

Adapter是什么?Adapter在NLP中的用途是什么,能带来哪些好处?

adapter通过向原始transformer layer 增加新的 Adpater 模块的方式,增加模型参数量。对于下游任务来说,transformer中的权重矩阵是冗余的, 所有 adapter内容向量维度 会经过 d -> m -> d 这样一个降采样 再上采样的操作,减少参数量。(这一思路也在lora中被继承,LLM庞大的数据维度对于下游任务来说大部分是冗余的)

在训练过程中,冻结原始transformers layer中的权重, 只训练 adapter layer中的权重。

adapter效果

Adapter是什么?Adapter在NLP中的用途是什么,能带来哪些好处?

如左图所示,橙色代表adapter方法的效果, 蓝色代表微调部分层(Fine-tune top layer)的效果, 横坐标为 需要训练的参数量, 纵坐标为效果。可以看到adapters即使在较少训练参数量的情况下仍然能达到较好的效果(与任务难易程度相关)。而Fine-tune top layer训练参数量的下降会带来模型性能的急剧下降。

Reference

  1. 大模型·微调(1):Adapter/适配器模式,19.2 Google
  2. blog.csdn.net
  3. docs.adapterhub.ml

推荐阅读:

Embedding模型有哪些类型?除了BERT,还有其他结构的模型吗?

如何使用Ollama与AnythingLLM零成本搭建本地知识库?

咨询方案 预约演示                        
(0)
AI工程专家-秦AI工程专家-秦
上一篇 2024年6月24日 上午10:15
下一篇 2024年6月24日 下午2:29

相关推荐