🔴 软提示
提示微调(Prompt Tuning)1 是模型微调(@khashabi2021prompt)的一种替代方法,它会固定模型权重并更新提示的参数,生成的提示被称为“软提示”。
![](/assets/images/prompt_tuning-c6ca2065dd8c0e4671b2091eeb82aca2.png)
模型微调与提示调整的对比 (Lester et al.)
上面的图片对比了模型微调和提示调整。在模型微调中,你会在不同任务上对同一个模型进行微调。这会产生一些不同的模型,但你不能保证可以轻松地对不同的任务进行批处理输入。
另一方面,提示调整可以让你为所有任务使用同一个模型。你只需要在推理时附加适当的提示,这样可以使不同任务之间的批处理更容易。这是常规提示的同样优点。此外,为单个模型跨多个任务训练的软提示通常会具有相同的标记长度。
工作原理
为了理解软提示背后的基本逻辑,让我们思考一下如何在给定提示What's 2+2?上进行模型推理:
对于给定的: What's 2+2?
.
1) 它可能被标记为 What, 's, 2, +, 2, ?
.
2) 然后,每个标记将被转换为一组值的向量。
3) 这些向量可以视为模型参数。模型可以进一步训练,仅调整这些提示的权重。
请注意,一旦我们开始更新这些权重,标记的向量就不再对应于词汇表中实际的嵌入。
结果
提示调整对较大的模型表现更好。较大的模型也需要较少的软提示标记。但是,超过20个标记并不会产生显著的性能提高。
- Lester, B., Al-Rfou, R., & Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. ↩