Prefix-Tuning

Prefix Tuning与Prompt Tuning的比较与应用

元数据

核心观点总结

Prefix Tuning是一种通过在输入token前构造任务相关的连续virtual tokens作为Prefix的方法。它在训练过程中只更新Prefix部分的参数,而保持LLM其他部分参数不变。此方法对于不同模型结构需要构造不同的Prefix,并在每层都加上prompt的参数以提高性能。
Pasted image 20250423225341.png

重点段落

Prefix Tuning的实现

Prefix Tuning通过在输入token前构造任务相关的连续virtual tokens作为Prefix。这些virtual tokens不对应于真实tokens,而是自由参数。在训练过程中,仅更新这些Prefix的参数,保持LLM其他部分参数固定。
Pasted image 20250423225444.png

应用于不同模型结构

  1. 自回归架构模型: 在句子前面添加前缀,形成 z = [PREFIX; x; y]。合适的上文能够在固定LM的情况下引导生成下文。
  2. 编码器-解码器架构模型: Encoder和Decoder都增加了前缀,形成 z = [PREFIX; x; PREFIX0; y]。Encoder端增加前缀是为了引导输入部分的编码,Decoder端增加前缀是为了引导后续token的生成。
    Pasted image 20250423225409.png

防止训练不稳定

为了防止直接更新Prefix参数导致训练不稳定和性能下降,在Prefix层前面加了MLP结构。在训练完成后,仅保留Prefix的参数。此方法通过消融实验验证,仅调整embedding层表现力不够,会导致性能显著下降,因此在每层都加了prompt的参数。

技术术语通俗解释

操作步骤

  1. ✅ 构造任务相关的连续virtual tokens作为Prefix。
  2. ⚠ 在训练过程中仅更新Prefix部分参数。
  3. ❗ 在每层都加上prompt的参数以提高性能。

常见错误

注意:直接更新Prefix参数可能导致训练不稳定和性能下降,应在Prefix层前面加MLP结构。

💡启发点

通过消融实验验证,仅调整embedding层表现力不够,会导致性能显著下降,因此在每层都加了prompt的参数。

行动清单

原始出处:[原文内容]

注意:所有公式或公式字母(如 αβmaxlim 等),一律用块级公式包裹,以便在Obsidian中识别为块级公式。