Oricine poate rula un script de antrenare. Diferenta dintre un dragon antrenat si unul norocos este evaluarea — masurarea, diagnosticarea si iterarea ca un inginer. Aceasta este lectia care transforma un v1 mediocru intr-un v3 in care chiar ai incredere, si e disciplina peste care sar majoritatea amatorilor.
Cele trei niveluri de evaluare
Nivelul 1 — Curbele de loss (gratuit, automat). Le ai deja din antrenare. Iti spun despre proces: a invatat modelul, a facut overfitting? Nu iti spun nimic despre daca raspunsurile sunt de fapt bune.
Nivelul 2 — Setul tau de test (examenul adevarat). Iti amintesti test.jsonl — felia pe care modelul nu a vazut-o niciodata? Ruleaza fiecare prompt de test prin modelul antrenat si noteaza iesirile fata de cardul de obiectiv din lectia 2. Acesta e adevarul tau de referinta.
Nivelul 3 — Model-ca-judecator (scalarea nivelului 2). Pune un model puternic (Claude, sau cel mai mare model local al tau) sa noteze fiecare raspuns dupa o grila. Perfect pentru re-notarea a 30+ de raspunsuri la fiecare iteratie fara sa pierzi o seara.
Concept
Noteaza dupa cardul tau de obiectiv, nu dupa impresii. Cardul lui Ember spune: structura (raspuns → explicatie → pas urmator), voce, zero fapte inventate. Deci grila are trei intrebari da/nu per raspuns. Scor = numaratori, nu sentimente. "Pare mai bun" nu e o masuratoare.Citirea curbelor: trei forme clasice
Sanatoasa: ambele curbe coboara, validarea putin deasupra train-ului, ambele se aplatizeaza. Trimite-l la setul de test.
Overfitting: loss-ul de validare atinge minimul si urca in timp ce train-ul continua sa scada. Dragonul memoreaza. Remedii, in ordinea puterii: date mai multe/mai bune, mai putine epoci (opreste-te unde val loss a atins minimul), rank mai mic, LoRA dropout mai mare.
Subantrenata: ambele inca scadeau cand antrenarea s-a terminat. Cel mai usor remediu din manual: antreneaza mai mult sau creste putin learning rate-ul.
Tabelul de diagnostic
Numerele arata spre problema; citirea iesirilor reale o identifica. Dupa fiecare run, citeste 10 iesiri de test si potriveste simptomele:
| Simptom in iesiri | Cauza probabila | Remediu |
|---|---|---|
| Ignora formatul uneori | Exemple inconsistente sau prea putine | Curata datele; adauga exemple axate pe format |
| Papagaliceste raspunsuri de antrenare cuvant cu cuvant | Overfitting | Mai putine epoci; mai multa varietate in date |
| Format grozav, substanta slaba | Rank prea mic sau baza prea mica | r=16→32; ia in calcul o baza 8B |
| Inventeaza fapte cu incredere | Lipsesc exemple de refuz in date | Adauga 20–30 de demonstratii explicite de refuz |
| Mai slab decat baza la conversatie generala | Supraantrenat / catastrophic forgetting | Mai putini pasi; amesteca 10–20% exemple de conversatie generala |
| Schimba limba aleator | Date cu limbi amestecate fara tipar | Fa perechea de limbi explicita per exemplu |
Nota sincera
Catastrophic forgetting e real: bombardeaza un model cu 2.000 de tichete de suport si poate deveni mai slab la orice altceva. Baza inghetata a LoRA limiteaza pagubele (stergi adapterele si baza ramane neatinsa), dar adapterele tot pot coplesi comportamentul. Vaccinul standard: pastreaza o felie mica de date de conversatie generala in amestec.Bucla de iteratie
Fluxul tau de lucru de aici incolo este o bucla, si fiecare trecere dureaza o seara, nu o saptamana:
- Evalueaza v_N pe setul de test → scoruri pe grila cardului de obiectiv
- Citeste cele mai slabe 10 iesiri → alege singura problema cea mai mare
- Repara datele intai (ele sunt cauza in ~80% din cazuri), hiperparametrii pe locul doi
- Reantreneaza → v_N+1, re-evalueaza acelasi set de test → compara numerele
- Opreste-te cand atingi testul de succes din cardul de obiectiv — al lui Ember era ≥25/30 structurate, 0 fapte inventate