Skip to content
Imblanzirea bestiei: evalueaza, diagnosticheaza, itereaza
← Inapoi la Curs Lectia 6 / 8

Imblanzirea bestiei: evalueaza, diagnosticheaza, itereaza

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 scad, distanta mica Overfitting val loss o ia in sus Subantrenata inca scade la final — train   ---- validare

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:

  1. Evalueaza v_N pe setul de test → scoruri pe grila cardului de obiectiv
  2. Citeste cele mai slabe 10 iesiri → alege singura problema cea mai mare
  3. Repara datele intai (ele sunt cauza in ~80% din cazuri), hiperparametrii pe locul doi
  4. Reantreneaza → v_N+1, re-evalueaza acelasi set de test → compara numerele
  5. Opreste-te cand atingi testul de succes din cardul de obiectiv — al lui Ember era ≥25/30 structurate, 0 fapte inventate

Pro Tip

Schimba un singur lucru per iteratie. Daca adaugi date, scazi learning rate-ul si cresti rank-ul toate deodata, scorul se misca si nu inveti nimic despre de ce. Incet inseamna lin, lin inseamna rapid — bucla asta converge in 3–4 treceri disciplinate.

Incearca

Ruleaza intregul set de test prin v1 si noteaza-l cu grila ta — numarul de referinta sincer. Apoi fa exact o iteratie a buclei (probabil: adauga exemple de refuz si re-curata formatarea) si pune scorul lui v2 langa cel al lui v1. Acea singura comparatie te invata mai multe despre fine-tuning decat orice articol de blog.

Checkpoint

Poti citi cele trei forme de curbe de loss, poti diagnostica cele sase simptome clasice ale iesirilor si rulezi o bucla de iteratie cu o singura schimbare per trecere, cu scoruri reale. Dragonul tau e imblanzit. Urmeaza: antrenare avansata — preference tuning, modele mai mari si micsorarea lui Ember pentru deploy.