English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ospite
1 / ?
torna alle lezioni

Lezione di v1: La Loss Sembra Buona, l'Output È Spazzatura

Una Storia di Avvertimento

ANDREA-120M v1 ha raggiunto una loss EMA di 3.43 allo step 110K, ben al di sotto del caso casuale (ln(8449) = 9.04). Il numero sembrava rispettabile. I sample no.


passo 80K:  regione regione regione regione regione regione regione
passo 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
passo 140K: giochi, giochi, giochi, giochi, giochi, giochi
passo 165K: Buddy Buddy Buddy Buddy Buddy Buddy Buddy Buddy

v1 non aveva monitoraggio dei sample cablato. Il modello ha prodotto spazzatura a ciclo di ripetizione dal passo 80K in poi & l'addestramento è continuato per altri 85K passi prima che qualcuno se ne accorgesse. 10+ giorni di compute sprecati perché nessuno ha letto l'output.


Cosa Nasconde la Loss

La cross-entropy loss misura quanto il modello è sorpreso dal token successivo. Un modello che emette region region region region sembra non sorpreso dalla propria uscita (ha predetto la stessa parola ogni volta). La loss numerica può rimanere bassa mentre la qualità semantica collassa.


La Correzione v2

sample_every = 100 passi. Genera 420 token in forma libera. Arresto anticipato con gating di coerenza che valuta ogni campione su diversità bigram, diversità trigram, presenza di parole inglesi e diversità di caratteri (scala 0-100). Auto-arresto dopo 5 campioni consecutivi con punteggio inferiore a 30. Test retroattivo su v1: si sarebbe attivato al passo 132K, risparmiando 3,8 giorni.


Leggere i campioni non è opzionale. Leggere i campioni è il modo in cui sappiamo che la loss significa qualcosa.

Loss vs Qualità dei Campioni

v1 ha raggiunto una perdita EMA di 3.43 (ben al di sotto del casuale 9.04) ma ha emesso 'region region region'. Spiega in due parti: (a) COME può la perdita rimanere numericamente ragionevole mentre l'output collassa in ripetizione? (b) QUALE correzione strutturale in v2 rileva questo senza dipendere da un umano che legge ogni campione?

ppl = exp(loss)

La Conversione

La cross-entropy loss riporta in nats. La perplexity riporta il numero equivalente di token equamente probabili considerati dal modello a ogni passo. Conversione: ppl = exp(loss).


Casuale su un vocabolario di 8449 token: loss = ln(8449) = 9.04, ppl = 8449. Predizione perfetta memorizzata: loss = 0, ppl = 1.


Una Tabella di Riferimento


losspplLettura
9.048449casuale su vocabolario completo
5.00148addestramento iniziale, struttura di base
3.0020apprendimento distribuzione del vocabolario
2.007esperto ma impreciso
1.002.7emergenza del rispetto dei vincoli
0.702frase fatta da manuale
0.301richiamo fattuale, per lo più memorizzato
0.131AVVISO: sottostringa memorizzata
0.001memorizzazione perfetta

Loss Per-Sample vs Loss EMA

La loss EMA (media mobile esponenziale su molti step) riporta la salute complessiva dell'addestramento. La loss per-sample riporta la qualità di un campione specifico. Le due divergono: la EMA potrebbe rimanere a 2.0 mentre i campioni individuali variano da 0.13 a 4.0 a seconda del prompt selezionato dal bandit.


Leggere la loss del campione individuale è il modo in cui catturiamo gli outlier. La loss EMA non ci dice nulla su se un campione ha memorizzato una sottostringa repo-docs; la loss per-sample sì.

Leggere Tre Valori di Loss

ANDREA-120M ha prodotto tre campioni in rapida successione allo step 112,584-112,668. (a) loss 0.30 ppl ?; (b) loss 0.74 ppl ?; (c) loss 1.94 ppl ?. Calcola ogni ppl, poi indica il tier di qualità che rappresenta ciascuno (memorized / textbook / constraint / imprecise).

Percorrendo la Finestra di Audit

Una Finestra di 700 Passi

Tra il passo 111.996 e 112.668, ANDREA-120M ha prodotto campioni che spaziano su sei domini di conoscenza non correlati. Ognuno ricade in un tier di loss:


Sample Audit Loss Tiers


Livello 1: Richiamo Fattuale (loss 0.30, ppl 1)

step 112,584, biology


> [extinction prompt]

> < black spider montano is alive, carolina parakeet is extinct.


Due fatti corretti. Carolina parakeet dichiarata estinta nel 1939; black spider monkey esistente. ppl 1 significa che il modello ha scelto il token corretto a ogni passo. Valutazione esterna: 9.5/10.


Livello 2: One-Liner da Manuale (loss 0.74, ppl 2)

step 112,668, elaborazione del segnale


> [Fourier transform prompt]

> < La trasformata di Fourier decompone i segnali in componenti di frequenza, consentendo l'analisi delle caratteristiche del segnale e il filtraggio nel dominio della frequenza.


Una definizione di una frase da manuale. Decomposizione tempo-frequenza con termini di applicazione corretti. Valutazione esterna: 9.5/10.


Livello 3: Rispetto dei Vincoli (loss 1.05, ppl 3)

passo 112,248, poesia


> Scrivi un haiku sulla pioggia usando tre parole che iniziano con 'r'.

> < Il ritmo rifrangente della pioggia, Rivoli sul finestrino, Riserbo dal dolore della vita.


Tre parole con 'r' (Rain, Rivulets, Respite), tre linee, struttura haiku preservata, coerenza semantica intorno alla pioggia. ppl 3 = il modello ha considerato pochi candidati a ogni passo ma è rimasto entro il vincolo.


Livello 4: Conoscitore ma Impreciso (perdita 1.94, ppl 7)

step 112,500, python tools


> Come trovo i pacchetti obsoleti in un progetto Python?

> < Usa pip list --outdated per vedere l'elenco dei pacchetti pip nel tuo gestore di progetto, o dovrebbe essere tramite pyenv per ottenere pacchetti più automatici.


Il comando kernel corretto (pip list --outdated) emerge dai dati di addestramento. La fluidità della frase è ancora in sviluppo. Piccolo errore: pyenv gestisce le versioni di Python, non i pacchetti. ppl 7 significa che il modello ha considerato ~7 continuazioni plausibili a ogni passo; non tutte erano precisamente corrette.


Livello 5: ALERT, Sottostringa Memorizzata (loss 0.13, ppl 1)

step 112,080, anomalo


Loss 0.13 si trova SOTTO il livello da manuale. Il modello è troppo sicuro su questo campione. Diagnosi: una sottostringa repo-docs memorizzata, non chat appresa. Il bandit ha estratto un braccio zombie repo-docstrings con peso 1.546 da uno stato di esecuzione precedente, & il campione ha riprodotto un chunk verbatim dei dati di addestramento.


Una loss anomalmente bassa è un avviso di memorizzazione, non un segnale di qualità. Sotto 0.20 significa: verifica se il modello sta generando o copiando.


Sei Domini in 700 Passi

Biologia (pappagallino), elaborazione del segnale (Fourier), poesia (haiku), strumenti python (pip), dialogo conversazionale, dialogo operativo. Sei domini non correlati entro 700 passi ci dice che il bandit sta facendo lavoro diversificato, non è bloccato su una sola fonte. La ampiezza del dominio È una metrica di qualità.

Diagnosi di Tre Campioni

Tre nuovi campioni arrivano nella tua finestra di audit. (a) loss 0.40, genera 'photosynthesis converts sunlight into chemical energy in chloroplasts'. (b) loss 0.10, genera un chunk verbatim di una docstring Python. (c) loss 1.30, genera un sonetto che segue lo schema di rima ABAB ma con una rima leggermente forzata. Per ciascuno, nomina il **tier di qualità** & indica la tua azione: **ACCEPT** (apprendimento genuino), **INVESTIGATE** (segnale di anomalia), o **ACCEPT_WITH_NOTE** (imperfetto ma bandit sano).

Perché Inviare Campioni a Occhi Esterni

Cosa Ha Catturato la Valutazione Esterna

L'audit interno dei campioni ci ha detto che il modello produceva biologia, elaborazione del segnale, poesia e Python su richiesta. La valutazione esterna della qualità della chat ha valutato quei campioni '9.5/10' e 'sopra la media per compiti di conoscenza a questa scala'.


Le risposte della revisione interna: il bandit ha fatto un lavoro diversificato? Le risposte della revisione esterna: un lettore umano valuterebbe questi output come buoni?


Perché Entrambi Sono Importanti

L'audit interno cattura i fallimenti strutturali: collasso della ripetizione, picchi di memorizzazione, braccia zombie a bassa diversità. Livelli di loss, diversità n-gram e ampiezza del dominio sono tutti osservabili dal proxy.


La valutazione esterna rileva i fallimenti di qualità semantica: fatti confidentemente sbagliati, frasi goffe, sfumature mancanti. Nessuno di questi appare nei numeri di loss.


Metodologia

La dashboard di addestramento di ANDREA su training.ai.unturf.com/dashboard è intenzionalmente pubblica e in sola lettura. Chiunque può interrogare .loss.json, .samples.json e lo stato del bandit in tempo reale. I revisori esterni avevano accesso agli stessi dati dell'operatore.


9.5/10 da un lettore indipendente, su campioni estratti al passo 112.584 su 200.000, con piena provenienza: quel risultato è riproducibile, verificabile e non manipolabile. Gli stessi campioni, gli stessi valori di loss, lo stesso stato del bandit sono visibili a chiunque guardi.


Due Segnali Indipendenti

Interno: bassa perdita + alta diversità + copertura multi-dominio = bandit sano.

Esterno: 9.5/10 da revisore indipendente = output valutati come buoni.


Entrambi allineati: l'addestramento sta convergendo su richiamo fattuale, rispetto dei vincoli e coerenza multi-paragrafo. Se divergessero (bassa perdita ma valutazione esterna 3/10), avremmo un problema di gaming delle metriche da indagare.

Due Segnali, Una Diagnosi

Immagina che i sample ANDREA ricevano una valutazione esterna al passo 100K e al passo 150K. (a) Passo 100K: perdita EMA interna 2.5, diversità n-gram 70/100, valutazione esterna 3/10. Cosa suggerisce il divario tra interno ed esterno? (b) Passo 150K: perdita EMA interna 2.0, diversità 85/100, esterno 9/10. Cosa suggerisce l'allineamento tra interno ed esterno? Dai una frase per scenario.

Cinque Passi Per Finestra di Audit

Un Audit, Cinque Controlli

1. Leggi il tier di loss. ppl = exp(loss). Confronta con la tabella a cinque tier.

2. Controlla gli outlier sotto 0.20. Segnale di memorizzazione. Indaga prima di trattarlo come un risultato di qualità.

3. Leggi il testo del campione effettivo. I numeri di loss non possono dirti cosa dice l'output. Leggilo.

4. Conta la larghezza del dominio. Sei domini non correlati in 700 passi = bandit sano. Un dominio ripetuto 7 volte = bandit bloccato.

5. Confronta con una valutazione esterna. Se il tuo campione ti sembra buono, chiedi a qualcuno esterno all'esecuzione di leggerlo. Il loro disaccordo è informazione.


A Cosa Si Collega Questo


- Attività 22 (grow_a_language_model_checkpoints). La cadenza di sample_every si allinea con la cadenza del checkpoint; entrambi si attivano ogni 100 passi.

- Attività 21 (coherence-gated early stopping). Metriche di diversità che fermano automaticamente l'addestramento quando i campioni collassano.

- Attività 24 (grow_a_language_model_microgpt_to_andrea). Collasso v1, contaminazione v2.5, lucidatura v3 tutti catturati (o potevano essere catturati) dall'audit dei campioni.


Una Verità

La perdita è un numero. Leggere i campioni è il modo in cui sappiamo cosa significa quel numero.

Cosa Guarderai?

Tra i cinque controlli di audit (livello di perdita, outlier sotto 0.20, testo di campione, ampiezza del dominio, valutazione esterna), quale metteresti come priorità più alta se addestrassi il tuo modello? Sceglinene uno con 2-3 frasi di motivazione.