Ce înseamnă Checkpoint
Un checkpoint este un fișier (sau un set de fișiere) care conține starea unui model la un moment dat: toate ponderile și, de obicei, informațiile necesare pentru a continua antrenarea, precum starea optimizatorului și numărul pasului.
Termenul are două sensuri în practică. În timpul antrenării, checkpoint-urile sunt salvări periodice, ca într-un joc video. În comunitățile de modele open source, „checkpoint” înseamnă adesea un model publicat, gata de descărcat, de exemplu o variantă de Stable Diffusion antrenată pe un anumit stil.
Cum funcționează
O antrenare mare poate dura săptămâni pe mii de plăci video, iar o defecțiune hardware nu trebuie să anuleze tot. Programul de antrenare salvează checkpoint-uri la intervale regulate; după o eroare, se reia de la ultimul. Checkpoint-urile permit și alegerea celui mai bun moment: dacă modelul a început să facă overfitting după epoca 12, se păstrează checkpoint-ul din epoca 12.
Formatele frecvente sunt .pt/.pth (PyTorch), .ckpt și .safetensors. Formatele bazate pe mecanismul pickle din Python pot executa cod la încărcare, deci un checkpoint descărcat dintr-o sursă necunoscută poate fi periculos. Formatul .safetensors a fost creat tocmai pentru a evita această problemă.
Pe înțelesul tuturor
Un checkpoint este ca salvarea dintr-un joc video înainte de un nivel greu: dacă pierzi, nu o iei de la capăt, ci reîncepi de la ultima salvare.
Exemplu
O echipă antrenează un model 30 de epoci și salvează un checkpoint după fiecare. În noaptea epocii 23, serverul se oprește din cauza unei pene de curent; dimineață, antrenarea continuă din checkpoint-ul epocii 22. La final, compară toate checkpoint-urile pe setul de validare și publică cel mai bun.
De reținut
- Un checkpoint salvează ponderile (și, opțional, starea antrenării) la un moment dat.
- Permite reluarea antrenării și alegerea celei mai bune versiuni.
- Preferă formatul
.safetensorspentru modelele descărcate de pe internet.
Nu confunda
- Checkpoint vs. model final: modelul publicat este de obicei unul dintre checkpoint-uri, ales ca cel mai bun; nu toate checkpoint-urile sunt la fel de bune.
Termeni înrudiți
- Antrenarea unui model: Procesul prin care un model AI învață din date, ajustându-și parametrii pas cu pas, ca să greșească tot mai puțin.
- Epocă (epoch): O trecere completă a modelului prin toate datele de antrenare; antrenarea durează de obicei mai multe epoci.
- Parametri (ponderi): Numerele învățate de un model în timpul antrenării, în care este stocat tot ce „știe” acesta; modelele mari au miliarde.
- Stable Diffusion: Model de generare a imaginilor din text, publicat în 2022 cu ponderi deschise, care poate rula pe un calculator personal cu o placă video bună.
- Hugging Face: Platforma online unde comunitatea AI publică și descarcă modele, seturi de date și aplicații demonstrative; un fel de GitHub al AI-ului.