comments: true title: "Prompt-Tuning: Soft Prompts开创者" 前言 OpenAI提出GPT3时,验证了为任务设计特定 可以提升模型的表现,但每次遇到新任务都要花费大量精力去设计合适的 并不现实。为了解决这个问题,Google Research的研究人员提出了Prompt Tuning方法。这种方法仅微调一小部分连续的“软提示”(soft prompt)参数,高效地将大语言模型适配到不同的下游任务,进而大大简化任务适配的过程。 技术细节 Prompttuning 训练方法 设计提示: 根据任务选择硬提示(固定文本)或软提示(可训练向量)作为输入。 融入输入: 硬提示直接加入文本,软提示作为向量加入序列,指导模型生成任务特定的输出。
comments: true title: "Prompt-Tuning: Soft Prompts开创者"
OpenAI提出GPT3时,验证了为任务设计特定prompt可以提升模型的表现,但每次遇到新任务都要花费大量精力去设计合适的prompt并不现实。为了解决这个问题,Google Research的研究人员提出了Prompt Tuning方法。这种方法仅微调一小部分连续的“软提示”(soft prompt)参数,高效地将大语言模型适配到不同的下游任务,进而大大简化任务适配的过程。

Prompt Tuning训练方法这种方法的独特之处在于,它将任务适配信息浓缩在一小组连续向量中,而不是分散在整个模型的参数中。这大大降低了每个任务的参数量,同时保持了与全量微调相当的性能。
Prompt Tuning基于T5等编码器解码器架构的预训练语言模型。
具体来说:
模型结构示意图如下:
Input: [Soft Prompt] [Input Tokens] ↓ Encoder: Frozen Pre-trained Parameters ↓ Decoder: Frozen Pre-trained Parameters ↓ Output: [Generated Tokens]
软提示参数的初始化对性能有重要影响。
常用的初始化方法包括:
实验表明,类别词初始化通常能获得最好的效果。
训练过程与传统的微调类似,但只更新软提示参数:
训练目标是最大化条件概率:
其中 \theta_P 是软提示参数,P 是软提示,X 是输入,Y 是目标输出,\theta 是冻结的预训练模型参数。
推理时,使用训练好的软提示:
这个过程不需要额外的计算开销,保持了原始模型的推理效率。
Prompt Tuning相比传统微调方法有以下优势:
Prompt tuning使用直观的语言提示来引导模型,使其更易于理解和操作。Prompt tuning可以在微调时减少所需计算资源,同时保持良好的性能。Prompt Tuning为大型语言模型的高效适配提供了一种新的范式。它在保持模型性能的同时,大大降低了计算和存储成本。这种方法特别适合于参数量超过数十亿的超大模型,为这些模型的广泛应用铺平了道路。
尽管如此,Prompt Tuning仍然存在一些局限性,例如在小模型上效果不佳、对提示长度和初始化敏感等。未来的研究方向包括改进提示的表示方式、探索更好的初始化策略、将Prompt Tuning与其他高效微调方法结合等。