Quando usare il fine-tuning
Segnali che indicano i limiti del prompting.
Quando usare il fine-tuning è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Prompt Engineering, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Prompt Engineering include 4 lezioni in totale.
Il fine-tuning è una decisione basata sulle evidenze
Il fine-tuning è giustificato solo quando può indicare dati che dimostrano che il prompting ha raggiunto un limite. Il fattore decisivo non è mai un'intuizione: è una valutazione su un set separato in cui il miglior prompt realistico si stabilizza al di sotto del livello di qualità richiesto, nonostante sia stata percorsa la scala di ottimizzazione.
- Il tuning scambia flessibilità con coerenza, un costo inferiore per chiamata e un comportamento appreso
- Il costo comprende una pipeline di dati, un'infrastruttura di valutazione e un nuovo tuning quando cambia il modello di base
- Deve poter indicare l'errore specifico che il prompting non è riuscito a correggere
Segnale 1: il plateau del prompt
Il segnale più chiaro è un plateau su un set di valutazione congelato. Aggiunge esempi, scompone il problema, aggiunge verificatori - e il punteggio smette di migliorare mentre gli errori rimangono sistematici, non casuali.
Gli errori residui sistematici (il modello gestisce costantemente in modo errato lo stesso costrutto) indicano che il comportamento è difficile da ottenere tramite istruzioni. Questo è un problema adatto al tuning. Errori casuali e sparsi indicano solitamente che il prompt o i dati sono ancora rumorosi: continui invece a iterare.
# Track eval score vs prompt-iteration; flat tail = plateau
scores = [0.62, 0.71, 0.78, 0.79, 0.795, 0.796] # diminishing returns
def plateaued(scores, window=3, eps=0.01):
tail = scores[-window:]
return (max(tail) - min(tail)) < eps
print(plateaued(scores)) # True -> prompting has stalledSegnale 2: la lunghezza del prompt diventa il prodotto
Quando il prompt è arrivato a contenere migliaia di token tra esempi e regole solo per mantenere la qualità, sta pagando un costo di latenza e denaro a ogni chiamata per simulare un comportamento appreso.
Se questi token codificano un comportamento stabile e ripetitivo (un formato fisso, uno stile coerente, una decisione di instradamento), il fine-tuning può incorporarlo nei pesi: il prompt si riduce di un ordine di grandezza mantenendo invariato il comportamento. Questa è la distillazione del prompt, il caso d'uso legittimo più comune del tuning.
Segnale 3: un limite rigido di latenza o costo
Se ha bisogno che un modello più piccolo, veloce ed economico riproduca il comportamento di un modello più grande per un'attività circoscritta, il tuning è lo strumento adatto. Distilla gli output del modello grande in un modello piccolo sottoposto a tuning.
Questo è giustificato quando: il volume è superiore al punto di pareggio, il budget di latenza è ristretto e l'attività è sufficientemente circoscritta da poter essere appresa da un modello piccolo. Al di fuori di queste condizioni, il sovraccarico ingegneristico non vale la pena.
# Distillation data: teacher (big model) labels -> student (small) trains
def make_distill_pair(prompt, teacher_fn):
completion = teacher_fn(prompt) # high-quality big-model output
return {'messages': [
{'role': 'user', 'content': prompt},
{'role': 'assistant', 'content': completion},
]}Segnale 4: formato o stile idiosincratico
Alcuni output sono così specifici che descriverli costa più che dimostrarli su larga scala: una DSL proprietaria, una voce stilistica interna con mille micro-regole, uno schema di dominio rigido con innumerevoli campi condizionali.
Quando la conformità al formato deve essere quasi perfetta e le regole sono troppo numerose per essere elencate in un prompt, centinaia di esempi insegnano lo schema in modo più affidabile della prosa. Il tuning è eccellente nell'interiorizzare strutture implicite che resistono alle istruzioni esplicite.
Segnale 5: un comportamento a cui il modello resiste
A volte un modello contrasta un'istruzione: continua ad aggiungere avvertenze che aveva proibito, rifiuta un'attività innocua oppure torna allo stile predefinito sotto carico. Se istruzioni forti e ripetute, insieme agli esempi, non riescono a sopprimere il comportamento in modo affidabile, questa resistenza è un prior incorporato nei pesi di base.
Il tuning può sovrascrivere questi prior. Verifichi però prima che la resistenza sia reale e non dipenda da un problema di chiarezza del prompt: attribuire erroneamente la causa alla resistenza porta a eseguire training non necessari.
Contro-segnali: quando NON usare il tuning
È altrettanto importante riconoscere i falsi allarmi. NON ricorra al fine-tuning quando:
- La lacuna riguarda la conoscenza: la recuperi invece; il tuning incorpora fatti obsoleti e con perdita di informazione
- La specifica sta ancora cambiando ogni settimana: dovrebbe riaddestrare continuamente il modello
- Ha meno di qualche centinaio di esempi puliti: il segnale è insufficiente e il rischio di overfitting è elevato
- Gli errori sono casuali, non sistematici: i dati o il prompt sono ancora rumorosi
- Le manca un harness di valutazione: non può sapere se il tuning ha realmente migliorato il risultato
Verifica di preparazione dei dati
La qualità del fine-tuning è limitata dalla qualità dei dati. Prima di impegnarsi, superi una verifica di preparazione: un numero sufficiente di esempi, bilanciati rispetto ai casi di interesse, con etichette coerenti e privi di data leakage che gonfi i punteggi di valutazione.
Qualche centinaio di esempi selezionati meticolosamente è meglio di decine di migliaia di esempi rumorosi. Se le etichette non concordano tra loro, il modello imparerà il rumore.
def data_ready(examples, min_n=300, max_dupe_ratio=0.05):
n = len(examples)
texts = [e['messages'][0]['content'] for e in examples]
dupe_ratio = 1 - (len(set(texts)) / n)
return n >= min_n and dupe_ratio <= max_dupe_ratio
# Returns False until you have enough deduped, curated examplesScelga il metodo di tuning
Non tutto il tuning consiste nell'addestrare tutti i pesi. Abbini il metodo al segnale:
- LoRA / adapter - economici, rapidi e reversibili; ideali per la distillazione di stile e formato
- Fine-tuning completo - più impegnativo; per cambiamenti comportamentali profondi su modelli open capaci
- Preference tuning (in stile DPO) - quando dispone di giudizi a coppie positivo/negativo anziché di completamenti di riferimento
Inizi con il metodo più leggero richiesto dal segnale. Gli adapter in stile LoRA coprono la maggior parte dei casi di produzione a una frazione del costo.
Protocollo pre-impegno
Prima di avviare un training, definisca l'esperimento in modo che il risultato sia interpretabile:
- Congeli un set di valutazione separato che il modello non vedrà mai durante il training
- Registri il punteggio migliore della baseline ottenuta con il solo prompt su quel set
- Stabilisca in anticipo il miglioramento obiettivo e il tetto di costo
- Definisca il rollback: se il modello sottoposto a tuning non supera la baseline del miglioramento obiettivo, distribuisca il prompt
Senza una baseline e un obiettivo definiti in anticipo, non può dimostrare che il tuning abbia giustificato il proprio costo.
Mettere insieme i segnali
Combini i segnali in un'unica verifica go/no-go. Il tuning procede solo quando il prompting ha raggiunto un plateau, i dati sono pronti e la lacuna riguarda il comportamento, non quando si verifica un singolo segnale isolato.
def should_fine_tune(plateaued, data_ready, gap_is_behavior,
spec_stable, has_eval_harness):
return all([
plateaued, # prompting stalled on frozen eval
data_ready, # enough clean, deduped examples
gap_is_behavior, # not a knowledge gap (else use RAG)
spec_stable, # task definition has settled
has_eval_harness, # can measure the lift
])
print(should_fine_tune(True, True, True, True, True)) # True -> proceedVerifica rapida
Su un set di valutazione congelato, gli errori di un modello sono casuali e sparsi tra molti tipi diversi di input, e il punteggio aumenta ancora quando modifica gli esempi. Che cosa indica questo riguardo alla preparazione per il fine-tuning?
Riepilogo
Applichi il fine-tuning sulla base delle evidenze, non dell'intuizione. I segnali legittimi sono: un vero plateau con errori sistematici, una lunghezza del prompt che è diventata il prodotto, un limite rigido di latenza o costo, formati idiosincratici oppure un comportamento a cui il modello di base resiste.
- Contro-segnali: lacune di conoscenza, specifiche in evoluzione, dati insufficienti, errori casuali, assenza di un harness di valutazione
- Superi una verifica di preparazione dei dati prima del training: la qualità limita il risultato
- Scelga il metodo più leggero (prima di tutto uno in stile LoRA) richiesto dal segnale
- Definisca in anticipo una valutazione congelata, una baseline, un miglioramento obiettivo e un rollback
- Proceda solo quando sono presenti contemporaneamente plateau, dati pronti e lacuna comportamentale
Domande Frequenti
La lezione «Quando usare il fine-tuning» è gratuita?
Sì — il testo completo di «Quando usare il fine-tuning» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Prompt Engineering, passa a CoddyKit PRO. Il corso AI Prompt Engineering include 4 lezioni in totale.
Cosa imparerò in «Quando usare il fine-tuning»?
Segnali che indicano i limiti del prompting. Eserciti AI Prompt Engineering con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Prompt Engineering?
Non è richiesta alcuna esperienza precedente. AI Prompt Engineering su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Quando usare il fine-tuning»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Prompt Engineering?
Sì. Ogni lezione AI Prompt Engineering include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Quando basta il prompting
- Quando usare il fine-tuning
- Ibrido: prompt e tuning leggero
- Valutare la scelta