作者丨Baifeng@知乎(已授权)
来源丨https://zhuanlan.zhihu.com/p/632301499
编辑丨极市平台
极市导读
在只微调一小部分参数的情况下超越fine-tuning,LoRA,VPT等方法!
论文链接:https://arxiv.org/pdf/2305.15542
GitHub链接:https://github.com/bfshi/TOAST
我们发现在一个下游任务上微调大模型时,目前的方法(fine-tuning,LoRA,prompt tuning等等)往往无法将模型的attention聚焦在和下游任务相关的信息上。比如下方图1(b),我们把一个pretrained ViT迁移到下游的鸟类分类任务,却发现微调后得到的attention往往非常杂乱,这有可能会对模型在下游任务上的表现有影响。
图1:(a) 我们的方法通过重新聚焦模型的attention来大幅提升大模型在下游任务上的表现;(b) 目前的微调方法往往无法将模型的注意力集中到和下游任务有关的信息上(在这个例子里是前景的鸟)。
在这篇文章中我们发现,通过把模型的attention重新聚焦到和下游任务相关的信息上(图1(a)),我们可以大幅提高模型在下游任务的表现。我们的方法继承了我们之前关于top-down attention的工作:
CVPR23 Highlight|拥有top-down attention能力的vision transformer
简单来说,top-down attention是一种可以根据目前在做的task来相应地调整模型的attention的机制。在这篇工作中,我们重新聚焦attention的方法就是,首先把预训练过的模型固定住,在上面加一个top-down attention模块,然后在下游任务上只去微调这个top-down attention模块即可:
图2:我们的方法将预训练过的模型(蓝色部分)固定住,然后在上面加一个top-down attention模块(橙色部分)并且只微调这个模块。
我们在视觉和语言任务上都做了实验,在视觉上我们可以在只微调一小部分参数的情况下超越fine-tuning,LoRA,VPT等方法:
TOAST是我们的方法
在语言任务上,我们在只微调7%左右的参数的情况下,可以超越fine-tune或者LoRA版本的Alpaca:
欢迎大家评论!