Soft Prompt(软提示)
Soft Prompt软提示可以理解为不是人写出来的文字提示而是一组由模型学习出来的向量提示。1. 先理解普通提示词我们平时输入给大模型的文字例如请根据用户历史记录推荐一部电影。这种能直接看到、读懂的文字提示叫作Hard Prompt硬提示。它会先被转换成一个个向量再输入大模型。文字提示 → 分词 → 向量 → 大模型2. Soft Prompt是什么Soft Prompt 不需要先写成自然语言而是直接准备一组可训练的向量放在原始输入前面Soft Prompt向量 用户问题的向量 → 大模型这些向量看起来可能类似[0.21, -0.35, 0.76, ...] [0.48, 0.12, -0.53, ...]人类无法直接读懂它们但大模型能够处理这些向量。因此可以把 Soft Prompt 理解为一段只有模型能理解的“隐藏提示词”。3. 它是怎么得到的一开始Soft Prompt 的向量可能是随机的。训练时通常冻结大模型不修改大模型内部的大量参数只不断调整这些 Soft Prompt 向量让它们逐渐学会怎样引导大模型完成特定任务。例如做推荐任务时Soft Prompt 可能逐渐学会向模型表达接下来要根据用户偏好判断候选物品是否合适。但它表达的不是这句话本身而是一组向量。4. Soft Prompt和普通Prompt的区别对比Hard PromptSoft Prompt形式人类文字连续向量人能否读懂能通常不能如何获得人工编写通过训练学习是否可调整修改文字更新向量参数输入位置输入文本中通常放在文本向量前面5. 为什么叫“Soft”因为普通文字由固定的词组成选择比较离散。例如只能选择“推荐”“预测”“判断”等具体词。而 Soft Prompt 是连续数值向量可以进行很细微的调整0.21 → 0.22 → 0.23因此它比固定文字更加灵活所以叫“软提示”。6. Soft Prompt和MLP Projector的关系这两个概念不完全相同但在图输入大语言模型时可能一起出现。例如图数据 ↓ 图编码器 ↓ 图向量 ↓ MLP Projector ↓ 与大语言模型维度一致的向量 ↓ 作为Soft Prompt输入大模型这里MLP Projector负责把图向量转换到大语言模型能够接收的特征空间Soft Prompt描述这些转换后的向量以什么形式输入并引导大模型。因此经过 Projector 得到的图向量可能被当作若干个 Soft Prompt Token放在文字输入前面。一句话总结Hard Prompt 是人写给模型看的文字提示Soft Prompt 是通过训练得到、直接输入模型的一组向量提示。也可以简单记成Soft Prompt 模型自己学出来的、只有模型能够理解的提示词。