A single soft prompt for every input and every layer can be too blunt. These methods make soft prompts smarter and more selective.
Different layers do different jobs. Different inputs need different hints. So we should not always:
Plain-English idea: keep several prompt candidates, and activate only the useful ones for a given input (sparse mixture), instead of forcing one mega-prompt to do all the work.
Plain-English idea: do not treat all layers equally. Change prefix length (prompt capacity) across layers.
Why that matters:
| Task flavor | Layer emphasis | Why |
|---|---|---|
| Entity / relation extraction | Bottom layers | Local phrase structure matters a lot |
| Commonsense / causal reasoning | Higher layers | Semantic abstraction matters more |
APT can also use gating so a layer only “keeps” the prefix tokens it needs.
Plain-English idea: the right soft prompt should depend on this input, not only on the task name.
A small prompt-generator network builds prompt vectors from the input. Useful when one task has many subcases and a static prompt is too generic.
Why a static prompt struggles here — all three of these are "customer support," yet they need different handling:
"My payment failed twice." -> needs billing care and caution
"How do I change my profile photo?" -> needs short how-to steps
"This is the fourth time I've asked!" -> needs de-escalation first
One fixed soft prompt must average across all three and serves none of them especially well. IDPG generates a prompt shaped by the message itself, so an angry message and a simple how-to question are not briefed identically.
Plain-English idea: ask whether every layer needs soft prompting at all. Usually no. Learn to insert prompts only where they help.
SMoP, APT, IDPG, and SPT make soft prompts selective — by mixture, by layer, by input instance, or by choosing where prompts are even needed.