Tag: llm, nlp, transformers, prompt-engineering, rag, fine-tuning
Livello: base
TL;DR: Concetti fondamentali sui Large Language Models, dalla loro architettura ai metodi per migliorarne le risposte tramite gestione del contesto e parametri.
Un LLM è un modello neurale profondo basato sull'architettura Transformer.
Il funzionamento primario consiste nel prevedere il token successivo in una data sequenza.
Il meccanismo di Self-Attention valuta l'importanza relativa di ogni token rispetto agli altri nel contesto.
I token sono frammenti testuali; mediamente un token equivale a circa 4 caratteri in lingua inglese.
La Context Window è il limite massimo di token che il modello può elaborare in una singola richiesta.
RAG (Retrieval-Augmented Generation) inietta informazioni esterne nel prompt per fornire contesto dinamico.
Il Fine-tuning modifica i pesi interni del modello addestrandolo su dataset specifici.
La temperatura regola la casualità: valori vicini allo zero producono output più deterministici e prevedibili.
Q: Qual è la differenza tra RAG e fine-tuning?R: Uso RAG per fornire al modello fatti e dati aggiornati. Scelgo il fine-tuning solo se devo insegnare al modello un nuovo stile o un task molto specifico.
Q: Come riduci le allucinazioni?R: Imposto una temperatura bassa, scrivo system prompt restrittivi e uso architetture RAG per vincolare le risposte a fonti documentali certe.
Q: Cos'è il Few-Shot prompting?R: Inserisco nel prompt alcuni esempi di coppie input-output per mostrare al modello il formato e lo stile esatti che mi aspetto.
Inviare prompt troppo generici senza istruzioni sul formato di output desiderato.
Ignorare i limiti della context window, causando il troncamento silenzioso delle istruzioni iniziali.
Trattare il modello come un database di fatti anziché come un motore di ragionamento probabilistico.
Dimenticare che lingue diverse dall'inglese consumano un numero significativamente maggiore di token.
// Esempio di payload standard per richiesta API LLM
{
"model": "standard-llm-v1",
"messages": [
{
"role": "system",
"content": "Rispondi solo con codice JSON valido. Nessuna spiegazione testuale."
},
{
"role": "user",
"content": "Estrai i dati dall'input fornito."
}
],
"temperature": 0.1,
"max_tokens": 500
}
[ ] Rapporto di conversione esatto tra parole e token in italiano.
[x] Differenze architetturali tra modelli encoder-only e decoder-only.