raiyanyahya
raiyanyahya

how-to-train-your-gpt

Build a modern LLM from scratch. Every line commented. Explained like we are five.

311fork
2.4kwatcher
1issue
Jupyter Notebook

Analisi AI · Italiano

openai · gpt-4o-mini

Sintesi

How to Train Your GPT è una guida interattiva e approfondita che insegna come costruire, addestrare ed eseguire un modello di linguaggio moderno da zero, similmente all'architettura di ChatGPT e LLaMA. La guida, suddivisa in 12 capitoli e oltre 7.500 righe di codice completamente commentato, spiega i concetti fondamentali dell'attention mechanism e altri componenti chiave in modo semplice e accessibile. Include anche 18 approfondimenti dedicati a tecniche specifiche come RoPE, RMSNorm, SwiGLU, AdamW e molto altro, offrendo esempi pratici e spiegazioni dettagliate per sviluppatori Python senza esperienza preliminare di machine learning. Questo progetto rappresenta un percorso educativo completo per chi vuole comprendere internamente i moderni modelli linguistici e sperimentarne la realizzazione pratica.

Casi d'uso

  • Sviluppo didattico per studenti e sviluppatori che vogliono comprendere internamente i modelli di linguaggio come GPT.
  • Formazione di ingegneri software sui moderni meccanismi di attenzione e tecniche di addestramento di LLM senza richiedere conoscenze avanzate di matematica o ML.
  • Prototipazione e testing di architetture Transformer personalizzate e ottimizzate con funzioni aggiornate come RoPE, RMSNorm e SwiGLU.
  • Sperimentazione di tecniche avanzate di training e inferenza per modelli di linguaggio, inclusi warmup cosine, mixed precision e cache KV.
  • Supporto alla ricerca educativa per migliorare la didattica e la trasparenza nella formazione di modelli di linguaggio all'avanguardia.

Idee SaaS / Business

Piattaforma di formazione LLM interattiva

Una piattaforma SaaS che offre corsi interattivi e personalizzati per imparare a costruire modelli di linguaggio da zero, con codice commentato, esercizi live e spiegazioni approfondite basate sulla guida How to Train Your GPT.

Ambiente cloud per prototipazione GPT personalizzati

Un servizio cloud che consente agli sviluppatori di modificare, testare e addestrare modelli Transformer personalizzati con configurazioni flessibili, supporto GPU e monitoraggio avanzato dell'addestramento in tempo reale.

Toolkit SaaS per spiegazioni avanzate AI

Una suite di strumenti online che fornisce analisi, visualizzazioni e walkthrough dettagliati per componenti di modelli LLM, facilitando l'insegnamento, la ricerca e la comprensione tecnica tramite interfacce intuitive e esempi concreti.

Target utenti
Sviluppatori Python con conoscenze di base, studenti di machine learning, ingegneri software interessati ai modelli di linguaggio e chiunque desideri comprendere in profondità i meccanismi interni degli LLM moderni senza richiedere background avanzati in ML o matematica.
Categoria
Python, PyTorch, Jupyter Notebook
Monetizzazione
Modello di monetizzazione basato su abbonamenti per accesso a corsi interattivi avanzati, ambiente cloud per training e prototipazioni, e strumenti di visualizzazione/analisi premium destinati a studenti, ricercatori e sviluppatori professionisti interessati ad approfondire l'addestramento e la personalizzazione di modelli GPT.
Licenza
MIT License
Trend: Il progetto insegna a costruire modelli GPT moderni con tecniche di ultima generazione, rispondendo alla forte domanda di competenze pratiche e personalizzazione nei grandi modelli di linguaggio.

README · tradotto in italiano

Introduzione

🧠 Come Addestrare il Tuo GPT

Una guida per costruire un modello di linguaggio all'avanguardia partendo da zero. Spiegato come se avessi cinque anni. Costruito come un ingegnere.

Questa guida è stata creata con l'obiettivo di imparare ciò che non era completamente chiaro, specificamente la parte dell'attenzione. Uso l'AI frequentemente per comprendere concetti chiave e verificarli.


📖 Cos'è Questo?

Si tratta di un libro interattivo di oltre 12 capitoli e 7.500 righe che insegna come costruire, addestrare e far funzionare un moderno modello di linguaggio da zero. La medesima famiglia di architetture dietro ChatGPT, Claude, LLaMA e Mistral.

Sono inclusi 18 approfondimenti standalone che spiegano ogni tecnica in dettaglio: RoPE, attention, RMSNorm, SwiGLU, KV cache, AdamW, mixed precision e altro ancora. Inoltre, ci sono due racconti narrativi che seguono passo passo una singola frase attraverso l'intero modello. Ogni file segue uno stile semplice, senza gergo, con esempi di codice eseguibili.

Non leggerai solo dei Transformers, ma scriverai ogni singola riga: tokenizer, embeddings, attenzione, ciclo di training, motore di inferenza. Ogni riga commentata per spiegare cosa fa e perché.


🤔 Perché Esiste

Molti tutorial ML cadono in due errori:

❌ Tutorial Troppo Superficiali❌ Troppo Accademici✅ Questa Guida
model = GPT().fit(data)Articoli di 40 pagine con notazioni denseAnalogie semplici → codice funzionante
Solo chiamate a APIAssume un PhD in MLNessuna esperienza ML richiesta
Nessuna comprensione internaNessun esempio praticoOgni linea commentata con COSA e PERCHÉ

Obiettivo: dopo averla completata conoscerai ed comprenderai perché l'attenzione funziona, come RoPE codifica posizioni relative, perché pre-norm è meglio di post-norm, e il flusso completo dei gradienti.


👥 A Chi È Rivolta

🧑‍💻 Sei...📚 Ti Serve...
Sviluppatore Python curioso di come funziona ChatGPTNozioni base di Python (funzioni, classi, liste). Nessuna esperienza ML
Studente che vuole capire profondamente i TransformersDisponibilità a leggere ~3.500 righe di codice commentato
Ingegnere che valuta architetture LLMComprendere i compromessi tecnici
Chi si è perso nella "attenzione" in altri tutorialAnalogie semplici + esempi numerici concreti

Prerequisiti: basi di Python (variabili, funzioni, classi, pip). No calcolo, no algebra lineare, no PyTorch richiesti (si impara passo passo).


🗺️ Capitoli

CapitoloCosa Imparerai
0: PanoramicaCos'è GPT, visione generale
1: SetupInstallare strumenti, GPU vs CPU, basi PyTorch
2: TokenizzazioneWalkthrough BPE: "unbelievably" diventa token
3: EmbeddingsCome i numeri diventano significato
4: Codifica PosizionaleRoPE: rotazione vettori LLaMA
5: AttenzioneCuore del modello, calcolo Q,K,V, maschera causale
6: Blocco TransformerRMSNorm, SwiGLU, residui, pre-norm e post-norm
7: Modello GPT CompletoModello 151M parametri con SwiGLU, weight tying, logits
8: Pipeline TrainingCross-entropy, backprop, AdamW, warmup coseno, precisione mista
9: InferenzaKV cache, temperatura, top-k/p, beam search
10: Script CompletoFile main.py eseguibile unico
11: GlossarioTavola architettura, parametri

Inizia sempre da Capitolo 0 e procedi in ordine.


🏗️ Cosa Costruirai

ComponenteRigheCosa Comprenderai
BPE Tokenizer~60Come GPT-4 segmenta "unbelievably"
Embeddings~30Come "cat" e "dog" hanno vicinanza spaziale
RoPE~70Perché LLaMA ruota i vettori
Attenzione Multi-Testa~120Calcolo completo passo passo
Blocco Transformer~50Perché i residui sono "autostrada del gradiente"
GPT Completo~200Modello di 151M parametri con modi avanzati
Pipeline Training~250AdamW, warmup, precisione mista, accumulo gradiente
Inferenza~80KV cache, temperatura, top-k/p, beam search

Il cuore del modello è ~860 righe, spiegazioni e diagrammi circa 2.600 righe.


🏛️ Architettura

Questa guida implementa il decoder-only Transformer più recente e noto pubblicamente:

TecnicaModello OriginePerché è Importante
RoPELLaMA, Mistral, QwenPosizione relativa senza parametri appresi
RMSNormLLaMA, Mistral, Gemma15% più veloce di LayerNorm, altrettanto efficace
SwiGLUPaLM, LLaMA, GeminiAttivazione che filtra informazioni
Pre-NormGPT-3 e moderniTraining stabile oltre 100 layer
AdamWGPT-3+Generalizzazione migliore di Adam base
BPEGPT2/3/4Gestione testo qualsiasi, token inesistenti, emoji
Weight TyingGPT2/3Risparmio 30% parametri, segnale training migliorato
Mixed PrecisionTutti i LLM di produzione2× velocità, metà memoria, qualità invariata

GPT-4 e Claude sono proprietari; qui si insegna l'architettura pubblica migliore di LLaMA 3, Mistral e Qwen 2.5.


🚀 Avvio Veloce

# 1. Clona

git clone https://github.com/raiyanyahya/how-to-train-your-gpt.git
cd how-to-train-your-gpt

# 2. Crea ambiente

python -m venv gpt_env
source gpt_env/bin/activate  # Mac/Linux
# gpt_env\Scripts\activate   # Windows

# 3. Installa dipendenze (CPU)

pip install torch tiktoken datasets numpy matplotlib --index-url https://download.pytorch.org/whl/cpu

# 4. Verifica GPU (opzionale ma consigliato)

python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}')"

# 5. Inizia a leggere!

open chapters/00_overview.md

Per avviare il training:

python main.py

La configurazione di default è un modello piccolo (d_model=256, 4 layer). L'addestramento richiede pochi minuti su CPU. Per un modello grande stile GPT-2 (151M parametri, 12 layer), modificare il config in main.py e abilitare la configurazione grande. Serve GPU.


📓 Notebook Jupyter

Ogni capitolo ha un notebook con codice eseguibile senza spiegazioni, per vedere in tempo reale cosa succede.

pip install jupyter tiktoken torch numpy datasets matplotlib --index-url https://download.pytorch.org/whl/cpu
jupyter notebook notebooks/02_tokenization.ipynb

I notebook risiedono nella cartella notebooks/. Apri uno e usa Cell → Run All.


📚 Approfondimenti Tematici

Ogni concetto ha un approfondimento nel folder explanations and examples WIP/, scritto con linguaggio semplice e esempi eseguibili.

ArgomentoFileContenuto
RoPErope.mdCodifica posizioni tramite rotazioni
Attenzioneattention.mdEsempio passo passo con 3 token
BPE Tokenizationbpe_tokenization.mdDa testo a token
Embeddingsembeddings.mdNumeri che rappresentano significato
RMSNormrmsnorm.mdNormalizzazione più semplice e veloce
SwiGLUswiglu.mdAttivazione con gating migliore di ReLU
Maschera Causalecausal_masking.mdNessuna visione del futuro
Residuiresidual_connections.mdPercorso dei gradienti
KV Cachekv_cache.mdAccelerare la generazione
Samplingsampling.mdParametri di campionamento
Precisione Mistamixed_precision.mdVelocità senza perdita di qualità
AdamWadamw.mdOttimizzatore per LLM
Weight Tyingweight_tying.mdMatrice condivisa per più scopi
Clipping Gradientegradient_clipping.mdPrevenire esplosioni durante training
Cosine Warmupcosine_warmup.mdProgramma di learning rate
Pre-Normpre_norm.mdDove normalizzare
Un Token in Viaggioa_tokens_journey.mdUna frase segue i layer
La Storia Completathe_complete_story.mdNarrazione completa in 22 parti

📖 Come Leggere

Ogni capitolo segue 4 passi:

PassoFormatoScopo
1️⃣ AnalogiaLinguaggio sempliceCostruire intuizione prima della matematica
2️⃣ EsempioNumeri realiVedere cosa succede esattamente
3️⃣ Codice AnnotatoCommenti WHAT e WHYCapire ogni scelta
4️⃣ DiagrammaDiagrammi Mermaid o ASCIIVisualizzare flusso dati

Se ti perdi nel codice, torna all’analogia. Se la matematica confonde, vai all'esempio.


✨ Cosa Rende Questa Diversa

AspettoTutorial TipicoQuesta Guida
Profondità Spiegazioni"l'attenzione aiuta"Esempio 8 step + matematica e visualizzazioni
Commento CodicePochi o nessunoOgni riga WHAT e WHY
Tecniche ModerneStile GPT-2 (2019)Stile LLaMA 3 (2024): RoPE, RMSNorm, SwiGLU
TrainingUsa Trainer di HuggingFaceLoop personalizzato completo
Inferenzamodel.generate()Parametri di sampling e KV cache spiegati
PubblicoIngegneri MLSviluppatori Python senza esperienza ML
DiagrammiNessunoDiagrammi Mermaid + matrici ASCII

🎯 Competenze Acquisite

  • Spiegherai come GPT-4 tokenizza con BPE
  • Capirai perché RoPE, RMSNorm e SwiGLU sono innovativi
  • Calcolerai l’attenzione per una frase con 3 token
  • Debuggerai loop di training Transformer
  • Sceglierai parametri di sampling adattivi
  • Capirai l’importanza della cache KV per inferenza
  • Leggerai paper ML moderni con confidenza

🔮 Passi Successivi Dopo Aver Finito

EsperimentoModificaCosa Imparerai
Modello più grandenum_layers 12 → 24Profondità migliora il ragionamento
Più datiAggiungi BookCorpus, C4, The PileEffetto qualità e varietà dati
Flash AttentionInstalla flash-attn, cambia attenzioneAddestramento 2-5× più veloce
Grouped Query Attentionnum_kv_heads < num_headsEfficienza inferenza Mistral
Fine-tuning LoRAAggiungi adapter low-rankPersonalizzare senza ri-addestrare tutto
RLHF / DPOAggiungi modello premioCome ChatGPT impara istruzioni
KV CacheImplementa memoria persistente

Attività commit · ultime 26 settimane

stima

Approfondimenti AI

L'AI sta preparando gli approfondimenti…

Chiedi al repo

AI · contesto README + issue

Fai una domanda sul progetto. L'AI legge README e issue recenti.

Sponsor · Sconto esclusivo RepoRadar AI

Hai bisogno di un server per far girare raiyanyahya/how-to-train-your-gpt?

Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.

Deploy in 1 click
2 vCPU · 8 GB RAM · NVMe
Backup + DDoS inclusi
Attiva sconto Hostinger VPSLink affiliato — supporti RepoRadar senza costi extra per te.

Questo progetto esiste grazie a voi

RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.

Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.

Ethereum
ETH
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773
Bitcoin
BTC
bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8r
Solana
SOL
EtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3aj

Grazie di cuore — ogni contributo conta.