Fork me on GitHub

软提示词和硬提示词(soft prompt & hard prompt)

软提示是一种通过将数字数据打包到上下文的开头来引导语言模型的输出的方法。

此过程创建了一种额外的训练层,指示您的模型以不同的方式表现。

例如,软提示可以修改 AI 的风格和行为,以匹配文学体裁、虚构世界或特定作者的风格³。

软提示由**基于梯度下降的优化算法**创建——通过对训练数据进行训练,很像训练和微调模型的方式⁴。

软提示也称为“模块”⁴。

(1) Soft Prompt Guide - Rentry.co. https://rentry.org/shiso-softprompt-quickstart.
(2) Pygmalion + Soft Prompt - Rentry.co. https://rentry.org/pygsoft.
(3) Soft Prompts - KoboldAI/KoboldAI-Client GitHub Wiki. https://github-wiki-see.page/m/KoboldAI/KoboldAI-Client/wiki/Soft-Prompts.
(4) Guiding Frozen Language Models with Learned Soft Prompts. https://ai.googleblog.com/2022/02/guiding-frozen-language-models-with.html.
(5) 🔴 Soft Prompts | Learn Prompting: Your Guide to Communicating with AI. https://learnprompting.org/docs/trainable/soft_prompting.


硬提示是一种通过使用可解释和可重用的手工制作的单词和标记来指导语言模型的输出。

硬提示不同于软提示,软提示使用可通过基于梯度的方法进行优化的**连续特征向量**。

硬提示与软提示相比具有多项优势,例如可移植性、灵活性和简单性²。

然而,为特定任务找到合适的硬提示可能具有挑战性²。

一些研究人员提出了使用高效梯度方法来优化和学习硬提示的方法¹⁴。

(1) Hard Prompts Made Easy: Gradient-Based Discrete Optimization for Prompt .... https://arxiv.org/abs/2302.03668.
(2) Unlocking the Power of Generative Models: Learning Hard Prompts through .... https://www.width.ai/post/learning-hard-prompts-through-optimization.
(3) A New Prompt Engineering Research Proposes PEZ (Prompts Made Easy): A .... https://www.marktechpost.com/2023/02/10/a-new-prompt-engineering-research-proposes-pez-prompts-made-easy-a-gradient-optimizer-for-text-that-utilizes-continuous-embeddings-to-reliably-optimize-hard-prompts/.
(4) How to perfect your prompt writing for ChatGPT, Midjourney and other AI .... https://theconversation.com/how-to-perfect-your-prompt-writing-for-chatgpt-midjourney-and-other-ai-generators-198776.


软提示和硬提示的一些示例是:

- 软提示:**连续的特征向量**可以通过基于梯度的方法进行优化¹。 例如,英语到法语翻译的软提示可以是打包到上下文开头的数字序列⁵。
- 硬提示:**可解释和可重复使用的**手工制作的单词和标记**。 例如,图像字幕的硬提示可以是描述所需图像质量、对象、照明和颜色²的文本说明。


提示调整1是模型微调2的替代方法,它冻结模型权重,并更新提示的参数。结果提示是“软提示”。

模型调整与提示调整(Lester 等人)

上图对比了模型调优和提示调优。在模型调优中,您可以针对不同的任务微调相同的模型。这为您提供了一些不同的模型,您不一定能轻松地批量输入。

另一方面,提示调整允许您对所有任务使用相同的模型。您只需要在推理时附加适当的提示,这使得跨不同任务的批处理变得更加容易。这与常规提示的优势几乎相同。此外,针对跨多个任务的单个模型训练的软提示通常具有相同的标记长度。

它是如何工作的

要了解软提示背后的基本逻辑,让我们考虑一下模型推理如何在给定提示上工作:What's 2+2?

1) 它可能被标记为What, 's, 2, +, 2, ?.

2) 然后,每个标记将被转换为一个值向量。

3)这个值向量可以被认为是模型参数。模型可以进一步训练,只调整这些提示的权重。

请注意,一旦我们开始更新这些权重,标记的向量就不再对应于词汇表中的实际嵌入。

结果

对于较大的模型,提示调整性能更好。较大的模型还需要较少的软提示令牌。无论如何,超过 20 个令牌不会产生显着的性能提升。


  1. Lester, B., Al-Rfou, R., & Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. 
  2. Khashabi, D., Lyu, S., Min, S., Qin, L., Richardson, K., Welleck, S., Hajishirzi, H., Khot, T., Sabharwal, A., Singh, S., & Choi, Y. (2021). Prompt Waywardness: The Curious Case of Discretized Interpretation of Continuous Prompts. 
posted @ 2023-05-18 14:05  stardsd  阅读(1192)  评论(0编辑  收藏  举报