Learn

Learn: come funziona un LLM, un meccanismo alla volta

Un percorso ordinato che porta dalla frase scritta al token generato, con un solo esempio trasportato dall'inizio alla fine, i calcoli eseguiti a mano e ogni affermazione verificata.

Il percorso parte da una funzione che riceve un input e restituisce un output, e arriva a ricostruire cosa accade dentro un LLM. Serve saper programmare, non serve avere studiato machine learning: l'algebra lineare entra dove serve, nel punto in cui serve.

Fuori perimetro, per scelta: il machine learning classico, le modalità generative diverse dal testo, i tutorial di prodotto e i confronti fra fornitori.

0Orientamento

  1. 0.1Che cosa calcola davvero un LLMbozza
  2. 0.2La frase che seguiremo per tutta la sezionepianificato

1Dal testo ai numeri

  1. 1.1Perché un modello non può leggere caratteripianificato
  2. 1.2Tokenizzazione: dividere il testo in unità riutilizzabilipianificato
  3. 1.3Il vocabolario: dal token all'ID interopianificato
  4. ramoByte-pair encoding, passo per passopianificato
  5. 1.4Vettori e matrici: contenitori di numeri con una formapianificato
  6. 1.5La moltiplicazione tra matrici, calcolata a manopianificato
  7. 1.6Il layer lineare è una moltiplicazione più un biaspianificato
  8. ramoBroadcasting e regole di formapianificato
  9. 1.7La tabella di embedding: un ID seleziona un vettorepianificato
  10. 1.8La posizione va codificata separatamentepianificato
  11. ramoVarianti di codifica posizionale: sinusoidale, appresa, RoPEpianificato

2Attention

  1. 2.1Il gap: un vettore, un significato, in ogni frasepianificato
  2. 2.2Confrontare due vettori: il prodotto scalarepianificato
  3. 2.3Q, K, V: tre matrici di pesi applicate allo stesso inputpianificato
  4. 2.4La matrice dei punteggi: Q per K trasposta in un solo prodottopianificato
  5. 2.5Scaling per la radice di d e softmax riga per rigapianificato
  6. 2.6Il risultato: pesi per V, ancora una moltiplicazionepianificato
  7. 2.7Il mascheramento causale: meno infinito sulla metà superiorepianificato
  8. 2.8Tutta l'attention in tre moltiplicazioni: le forme completepianificato
  9. 2.9Multi-head: le stesse operazioni ripetute in parallelopianificato
  10. ramoAttention efficiente: MQA, GQA, finestra scorrevole, FlashAttentionpianificato

3Il blocco Transformer

  1. 3.1Il feed-forward: due moltiplicazioni con una non linearità in mezzopianificato
  2. 3.2Le connessioni residue: perché l'input viene risommatopianificato
  3. 3.3La normalizzazione: tenere la scala utilizzabilepianificato
  4. 3.4Impilare i blocchi: cosa aggiunge la profonditàpianificato
  5. 3.5La testa di output: una moltiplicazione contro la matrice del vocabolariopianificato
  6. 3.6Softmax: dai logit alle probabilitàpianificato
  7. ramoVarianti architetturali: encoder-only, encoder-decoder, mixture of expertspianificato

4Generazione

  1. 4.1Il ciclo autoregressivo: un token alla voltapianificato
  2. 4.2Il campionamento: greedy, temperatura, top-k, top-ppianificato
  3. 4.3La finestra di contesto: cosa il modello può vederepianificato
  4. 4.4La KV cache: perché il secondo token costa menopianificato
  5. 4.5Condizioni di arresto e token di fine sequenzapianificato
  6. ramoDecodifica speculativa, batching, latenza e throughputpianificato

5Addestramento

  1. 5.1Il gap: finora ogni peso era arbitrariopianificato
  2. 5.2L'obiettivo: predire il token successivopianificato
  3. 5.3Cross-entropy: da una predizione a un numero solopianificato
  4. 5.4Il gradiente: quale direzione abbassa la losspianificato
  5. 5.5Il gradiente di una matrice di pesi ha la stessa forma della matricepianificato
  6. 5.6Backpropagation: riportare il segnale attraverso i layerpianificato
  7. 5.7Il passo dell'optimizer: SGD e Adampianificato
  8. 5.8Il ciclo di addestramento: batch, step, checkpointpianificato
  9. 5.9Il pretraining su larga scala: dati, calcolo, scaling lawpianificato
  10. ramoLearning rate e inizializzazionepianificato
  11. ramoRegolarizzazione: weight decay e dropoutpianificato
  12. ramoLeggere un addestramento: curve di loss e unità mortepianificato

6Adattamento

  1. 6.1Che cosa è un modello base, e che cosa non èpianificato
  2. 6.2Fine-tuning supervisionato: insegnare un formato di rispostapianificato
  3. 6.3Template di chat e token specialipianificato
  4. 6.4Allineamento alle preferenze: RLHF e DPOpianificato
  5. 6.5LoRA e PEFT: adattare senza muovere ogni pesopianificato
  6. ramoFine-tuning quantizzato e distillazionepianificato

7I sistemi intorno al modello

  1. 7.1Il prompt è condizionamento, non istruzionepianificato
  2. 7.2System prompt e separazione dei ruolipianificato
  3. 7.3Output strutturato e decodifica vincolatapianificato
  4. 7.4Recupero: mettere fatti dentro la finestra di contestopianificato
  5. ramoEmbedding per il recupero, chunking, ricerca vettoriale, rerankingpianificato
  6. 7.5Tool use: il modello emette una chiamata, il sistema la eseguepianificato
  7. 7.6Agenti: ciclo, stato e terminazionepianificato
  8. 7.7Valutazione: definire e misurare "migliore"pianificato
  9. 7.8Costo, latenza, quantizzazione: i compromessi ingegneristicipianificato
  10. ramoPrompt injection e il confine di fiduciapianificato

8Ricostruzione

  1. 8.1Il percorso completo, dalla frase inizialepianificato
  2. 8.2Cosa un LLM non fa: l'allucinazione come meccanismopianificato
  3. 8.3Dove andare adesso: LearnGPT e gli approfondimentipianificato
  4. ramoTutte le forme di un forward pass, dalla stringa ai logitpianificato