Il prompt tuning è una delle tecniche PEFT più estreme. Non aggiorni nessun peso del modello. Aggiungi un piccolo numero di "soft token" (vettori addestrabili nello spazio di embedding) all'inizio dell'input e impari solo quelli.
Confronto con il prompt normale:
- Prompt manuale: scrivi parole come "Sei un esperto avvocato...". Il modello le converte in embedding fissi.
- Prompt tuning: lasci che l'addestramento trovi gli embedding ottimali, anche se non corrispondono a parole reali. "Soft prompts" perché vivono nello spazio continuo.
Quanti parametri impari? Pochissimi:
- 20 soft token x 4096 dimensioni = 81.920 parametri.
- Vs LoRA con qualche milione, vs full fine-tuning con miliardi.
Risultati: il paper originale di Google (Lester et al. 2021) mostra che con modelli abbastanza grandi (10B+), prompt tuning raggiunge la qualità del full fine-tuning su molti task. Con modelli piccoli, perde più terreno.
Vantaggi:
- Estremamente economico: pochi parametri, training rapidissimo.
- Multi-task perfetto: per ogni task, un set di soft prompt. Cambi prompt, cambi task. Un modello base, mille comportamenti.
- Storage minimo: pochi KB per task.
Limiti:
- Funziona meglio con modelli grossi: sotto i 10B di parametri, perde contro LoRA.
- Meno potente: limita la capacità di adattamento perché tocca solo l'input.
- Difficile da debug: i soft prompt non sono leggibili.
Varianti:
- P-Tuning v2: aggiunge soft prompt a tutti i layer, non solo all'input. Più potente.
- Prefix tuning: simile, ma con architettura leggermente diversa.
Caso d'uso pratico: hai un singolo modello base servito a tanti utenti, ognuno con preferenze diverse. Memorizzi un prompt soft per utente. Carichi quello al volo. Personalizzazione enterprise senza moltiplicare i modelli.