Prefix-Tuning 论文概述

Prefix-Tuning 论文概述

前缀调优:优化生成的连续提示

前言

大规模预训练语言模型(PLM)在下游自然语言生成任务中广泛采用fine-tuning的方法进行adaptation。但是fine-tuning需要更新模型所有的参数,对于每个任务都需要保存一份完整的模型拷贝,存储成本很高。文章提出prefix-tuning方法,其只优化一个小的连续任务特定向量(称为prefix),KEEP 语言模型参数固定。该方法受prompting的启发,允许后续token参考这个prefix,就像参考一系列"虚拟token"。
文章将prefix-tuning应用于GPT-2在表格到文本生成任务和BART在摘要任务上。结果显示,只学习0.1%的参数,prefix-tuning获得与fine-tuning相当的性能;在低数据设置下,prefix-tuning优于fine-tuning;在extrapolation设置下评估泛化能力时,prefix-tuning也优于fine-tuning。
Prefix-tuning是一个轻量级的fine-tuning替代方法,大大减少了每个任务的存储成本。它通过优化一个小的、连续的、任务特定的prefix来steering一个固定的语言模型完成下游生成任务。

摘要

微调是利用大型预训练语言模型执行下游任务的事实上的方法。然而,它修改了所有语言模型参数,因此需要为每个任务存储完整副本。
在本文中,我们提出了前缀调优,这是自然语言生成任务微调的一种轻量级替代方案,它保持语言模型参数冻结,但优化了所有连续的特定于任务的向量(称为前缀)。前缀调整从提示中汲取灵感,允许后续令牌关注该前缀,就好像它是"虚拟令牌"一样。
我们将前缀调整应用于 GPT-2 以生成表到文本,并将前缀调整应用于 BART 以进行摘要。我们发现,通过仅学习 0.1% 的参数,前缀调整在完整数据设置中获得了相当的性能,在低数据设置中优于微调,并且更好地推断出训练期间未见过的主题的示例。

论文十问

  1. 论文试图解决什么问题?

这篇论文试图解决大型预训练语言模型微调所带来的存储成本问题。

  1. 这是否是一个新的问题?

这是一种新提出的问题。过去关注更多的是大型预训练语言模型微调的计算成本。

  1. 这篇文章要验证一个什么科学假设?

主要是提出 prefix tuning 这一方法来解决大型预训练语言模型微调中的存储问题。

  1. 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?

相关研究包括轻量级微调方法、提示学习等。值得关注的研究员包括文章作者李香丽(Xiang Lisa Li)和梁培杰(Percy Liang)。

  1. 论文中提到的解决方案之关键是什么?

文章提出的关键解决方案是 prefix tuning,只优化一个小的连续任务特定向量(prefix),保持PLM参数固定。

  1. 论文中的实验是如何设计的?

在GPT-2和BART上分别进行表格到文本生成和摘要生成任务的实验。使用标准数据集进行评估。

  1. 用于定量评估的数据集是什么?代码有没有开源?

使用的数据集有E2E、WebNLG、DART、XSUM。代码开源。

  1. 论文中的实验及结果有没有很好地支持需要验证的科学假设?

实验结果充分验证了prefix tuning相比微调可以获得可比性能,使用的参数量只有微调的千分之一。

  1. 这篇论文到底有什么贡献?

主要贡献是提出prefix tuning这一参数高效的PLM适配方法。

  1. 下一步呢?有什么工作可以继续深入?

下一步可以研究这种方法适配的理论解释,以及在更多下游任务和更大模型上验证这种方法的有效性。

实验

数据集

  • 表格到文本生成任务使用E2E、WebNLG和DART数据集。
  • 摘要任务使用XSUM数据集。

模型

  • 表格到文本生成对比了fine-tuning、只fine-tune顶层2层(FT-TOP2)、adapter-tuning和prefix-tuning。
  • 摘要任务对比了fine-tuning和prefix-tuning。

实验结论

  • 在充分数据设置下,prefix-tuning和fine-tuning在E2E表格到文本生成任务上的性能相当;在XSUM摘要任务上prefix-tuning性能略低。
  • 在低数据设置下,prefix-tuning的平均性能优于fine-tuning。
  • 在 extrapolation 设置下评估泛化能力,prefix-tuning也优于fine-tuning。
  • prefix-tuning只更新了0.1%的参数,远少于fine-tuning,但性能接近或超过fine-tuning。

摘要任务

摘要任务结果如上表所示,prefix-tuning和全量微调还是有差距,这与文本生成任务的结果有所不同,有如下几点原因:

  • XSUM数据集是三个table-to-text数据集的三倍。
  • 输入的文章比table-to-text的输入长17倍。
  • 摘要任务更复杂,因为需要从文本中挑选关键内容。

泛化性能

这里探索模型的泛化性能,即模型在未见过的主题上的数据上的表现。为此,作者对数据集进行了重新划分:
对于表格到文本任务,WebNLG数据集原本包含9个训练和验证中出现的类别(标记为SEEN),以及5个仅在测试集中出现的类别(标记为UNSEEN)。作者使用SEEN类别的数据进行训练,在UNSEEN类别的数据上进行测试,来评估模型的泛化能力。
对于摘要任务,构建了两个数据分割。第一个是news-to-sports,使用新闻文章进行训练,在体育文章上测试。第二个是within-news,使用世界、英国、商业等新闻领域的数据训练,在新闻中其它类别(如健康、技术等)的数据上测试。

相关推荐
AI_NEW_COME1 分钟前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室23 分钟前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself25 分钟前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董1 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee1 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa1 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空1 小时前
Python调用open ai接口
人工智能·python
睡觉狂魔er1 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan7242 小时前
LILAC采样算法
人工智能·算法·机器学习