Ce înseamnă Cuantizare
Cuantizarea este o tehnică de micșorare a unui model AI prin reducerea preciziei cu care sunt stocați parametrii lui. În mod normal, fiecare parametru este un număr cu virgulă, stocat pe 16 sau 32 de biți. Prin cuantizare, el este aproximat cu un număr pe 8, 4 sau chiar mai puțini biți.
Efectul este spectaculos: un model cuantizat la 4 biți ocupă de aproximativ patru ori mai puțină memorie decât varianta pe 16 biți. Un model de 7 miliarde de parametri scade de la circa 14 GB la circa 4 GB și poate rula pe un laptop obișnuit. În plus, calculele devin mai rapide și consumă mai puțină energie.
Prețul este o mică pierdere de calitate. La 8 biți, diferența este de obicei greu de observat; la 4 biți este mică pentru multe sarcini; sub 4 biți, calitatea începe să scadă vizibil. Cuantizarea este principalul motiv pentru care modelele cu ponderi deschise pot fi rulate acasă, cu unelte precum Ollama sau llama.cpp.
Cum funcționează
Parametrii unui model sunt numere zecimale răspândite într-un anumit interval. Cuantizarea împarte acest interval într-un număr mic de trepte (de exemplu, 16 trepte la 4 biți) și rotunjește fiecare parametru la cea mai apropiată treaptă. Se salvează și un factor de scară, pentru a putea reconstrui aproximativ valorile originale în timpul calculelor.
Metodele moderne sunt mai inteligente decât o simplă rotunjire: păstrează cu precizie mai mare parametrii cei mai importanți sau folosesc date de calibrare pentru a reduce erorile. Pentru modelele rulate local, un format foarte răspândit este GGUF, folosit de llama.cpp și Ollama.
Pe înțelesul tuturor
Cuantizarea seamănă cu salvarea unei fotografii într-un format mai comprimat: imaginea ocupă mult mai puțin spațiu și se încarcă mai repede, iar la o compresie moderată aproape nu vezi diferența. Doar dacă exagerezi cu compresia, detaliile se pierd și imaginea se strică.
Exemplu
Un student vrea să ruleze un model cu ponderi deschise de 13 miliarde de parametri pe un laptop cu 16 GB de memorie. Varianta originală, pe 16 biți, ar avea nevoie de circa 26 GB și nu încape. Descarcă de pe Hugging Face o variantă cuantizată la 4 biți, de aproximativ 8 GB, și o rulează cu Ollama. Răspunsurile sunt aproape la fel de bune, iar modelul merge și fără internet.
De reținut
- Cuantizarea reduce numărul de biți folosiți pentru fiecare parametru.
- Micșorează și accelerează modelul, cu o pierdere mică de calitate.
- Face posibilă rularea unor modele mari pe calculatoare și telefoane obișnuite.
Nu confunda
- Cuantizare vs. distilare: cuantizarea comprimă același model; distilarea antrenează un model nou, mai mic.
- Cuantizarea în AI vs. în fizică: în fizica cuantică, cuantizarea se referă la valorile discrete ale unor mărimi, precum energia; în AI, termenul înseamnă reprezentarea numerelor pe mai puțini biți.
Termeni înrudiți
- Parametri (ponderi): Numerele învățate de un model în timpul antrenării, în care este stocat tot ce „știe” acesta; modelele mari au miliarde.
- Distilarea modelelor: Tehnica prin care un model mic („elev”) este antrenat să imite un model mare („profesor”), păstrând mare parte din performanță la un cost mult mai mic.
- SLM (model lingvistic mic): Model de limbaj compact, cu relativ puțini parametri, care poate rula rapid și ieftin pe un laptop, pe telefon sau pe un server mic.
- Edge AI (AI pe dispozitiv): Rularea modelelor AI direct pe telefon, laptop, cameră sau mașină, fără a trimite datele la un server din cloud.
- Ollama: Program open source care descarcă și rulează modele de limbaj direct pe calculatorul tău, cu o singură comandă.
- Model open source / open weights: Model AI ale cărui ponderi pot fi descărcate și rulate de oricine; un model complet open source ar include și codul și informații despre date.