IAPT: Instruction-Aware Prompt Tuning for Large Language Models

📄 arXiv: 2405.18203v2 📥 PDF

作者: Wei Zhu, Aaron Xuxiang Tian, Congrui Yin, Yuan Ni, Xiaoling Wang, Guotong Xie

分类: cs.CL

发布日期: 2024-05-28 (更新: 2024-06-07)

备注: Accepted by ACL-2024


💡 一句话要点

提出指令感知Prompt Tuning(IAPT),仅用四个soft token实现高效LLM微调。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 指令感知 Prompt Tuning 大型语言模型 参数高效微调 软提示生成

📋 核心要点

  1. 软提示微调需插入大量soft token,效率较低,限制了其在大型语言模型中的应用。
  2. IAPT在Transformer各层引入soft prompt生成器,为每个指令生成特有prompt,仅需四个token。
  3. 实验表明,IAPT在参数量相当的情况下优于现有方法,且在多租户场景下比LoRA更高效。

📝 摘要(中文)

软提示调整(Soft prompt tuning)是一种被广泛研究的参数高效微调方法。然而,它有一个明显的缺点:必须将许多软token插入到输入序列中,以保证下游性能。因此,在大型语言模型(LLM)时代,软提示调整不如低秩适应(LoRA)受欢迎。在这项工作中,我们提出了一种新的提示调整方法,即指令感知提示调整(IAPT),它只需要四个软token。首先,我们在每个Transformer层安装一个参数高效的软提示生成器,为每个输入指令生成特有的软提示。生成的软提示可以看作是输入指令的语义摘要,可以有效地指导输出生成。其次,软提示生成器是具有瓶颈架构的模块,包括自注意池化操作、两个线性投影和一个激活函数。初步实验表明,不同Transformer层的提示生成器需要不同的激活函数。因此,我们提出借助有理函数自动学习提示生成器的特有激活函数。我们已经在各种任务上进行了实验,实验结果表明:(a)我们的IAPT方法在可调参数相当的情况下,可以优于最近的基线。(b)在单骨干多租户设置下,我们的IAPT方法比LoRA更有效。

🔬 方法详解

问题定义:现有软提示微调方法需要插入大量的soft token才能保证下游任务的性能,这导致其效率较低,尤其是在大型语言模型时代,参数量和计算成本都非常高昂的情况下,这种低效性限制了其应用。因此,如何减少soft token的数量,同时保持甚至提升性能,是本论文要解决的核心问题。

核心思路:论文的核心思路是利用指令本身的信息,为每个输入指令动态地生成特定的soft prompt。通过在Transformer的每一层都设置一个轻量级的prompt生成器,可以根据输入指令的语义信息,生成该层所需的soft prompt。这些生成的soft prompt可以看作是指令的语义摘要,能够有效地指导模型的输出生成。这种方法避免了使用大量固定的soft token,从而提高了效率。

技术框架:IAPT方法的核心框架是在Transformer的每一层都添加一个soft prompt生成器。该生成器接收输入指令作为输入,并输出该层对应的soft prompt。整个流程如下:1. 输入指令首先经过embedding层。2. 然后,在Transformer的每一层,输入指令的embedding被送入该层的prompt生成器。3. prompt生成器生成该层的soft prompt。4. 生成的soft prompt与原始输入embedding拼接,作为该层的输入。5. Transformer层进行正常的计算。6. 重复步骤2-5,直到最后一层。

关键创新:IAPT的关键创新在于以下几点:1. 指令感知的动态prompt生成:不同于传统的静态soft prompt,IAPT根据输入指令动态生成prompt,使得prompt更具针对性。2. 分层prompt生成:在Transformer的每一层都生成prompt,使得模型能够更好地利用指令信息。3. 可学习的激活函数:通过有理函数自动学习每个prompt生成器的激活函数,使得模型能够更好地适应不同层的需求。

关键设计:1. Prompt生成器采用瓶颈结构,包含自注意力池化、两个线性投影和一个激活函数,以减少参数量。2. 使用有理函数作为激活函数,并通过学习其参数来自动调整激活函数的形状,以适应不同Transformer层的需求。3. 仅使用四个soft token,显著减少了参数量和计算成本。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,IAPT在各种任务上都优于现有的prompt tuning方法,并且在参数量相当的情况下,可以与LoRA等参数高效微调方法相媲美。特别是在单骨干多租户设置下,IAPT比LoRA更有效。例如,在某些任务上,IAPT仅使用四个soft token,就能达到与使用更多token的传统prompt tuning方法相当甚至更好的性能。

🎯 应用场景

IAPT方法可应用于各种需要对大型语言模型进行微调的场景,尤其是在资源受限或需要快速部署的场景下。例如,在多租户环境中,可以使用IAPT为每个租户定制模型,而无需为每个租户都进行全参数微调。此外,IAPT还可以应用于自然语言生成、文本分类、问答系统等任务。

📄 摘要(原文)

Soft prompt tuning is a widely studied parameter-efficient fine-tuning method. However, it has a clear drawback: many soft tokens must be inserted into the input sequences to guarantee downstream performance. As a result, soft prompt tuning is less considered than Low-rank adaptation (LoRA) in the large language modeling (LLM) era. In this work, we propose a novel prompt tuning method, Instruction-Aware Prompt Tuning (IAPT), that requires only four soft tokens. First, we install a parameter-efficient soft prompt generator at each Transformer layer to generate idiosyncratic soft prompts for each input instruction. The generated soft prompts can be seen as a semantic summary of the input instructions and can effectively guide the output generation. Second, the soft prompt generators are modules with a bottleneck architecture consisting of a self-attention pooling operation, two linear projections, and an activation function. Pilot experiments show that prompt generators at different Transformer layers require different activation functions. Thus, we propose to learn the idiosyncratic activation functions for prompt generators automatically with the help of rational functions. We have conducted experiments on various tasks, and the experimental results demonstrate that (a) our IAPT method can outperform the recent baselines with comparable tunable parameters. (b) Our IAPT method is more efficient than LoRA under the single-backbone multi-tenant setting.