Pre-training of large language models (RO)

From Systems analysis Wiki
Jump to navigation Jump to search

Preantrenarea modelelor lingvistice mari (LLM) — este o etapă fundamentală în crearea modelelor lingvistice mari moderne, care constă în antrenarea acestora pe seturi masive și eterogene de text neetichetat. Acest proces permite modelelor să asimileze tipare lingvistice generale, cunoștințe despre lume și relații semantice, formând ceea ce se numește model fundamental (foundation model), care poate fi apoi adaptat pentru rezolvarea unor sarcini specifice.

Ce este preantrenarea?

Preantrenarea (pre-training) reprezintă faza inițială de antrenare, în care LLM este supus antrenării pe seturi de date textuale de mari dimensiuni, folosind metode de învățare auto-supervizată (self-supervised learning). Aceasta înseamnă că semnalele de antrenare (etichetele) sunt generate din datele înseși, fără a fi necesară etichetarea manuală de către oameni.

Obiectivul principal al acestei etape este predicția părților ascunse sau viitoare ale textului. În funcție de arhitectură, se utilizează două sarcini principale:

  • Modelarea cauzală a limbajului (Causal Language Modeling, CLM): Modelul învață să prezică cuvântul următor (token) dintr-o secvență, pe baza tuturor celor anterioare. Această abordare stă la baza modelelor generative, precum GPT.
  • Modelarea mascată a limbajului (Masked Language Modeling, MLM): Modelul învață să reconstituie cuvintele „mascate" (ascunse) aleatoriu din text, folosind contextul bidirecțional din jur (cuvintele din stânga și din dreapta). Această metodă este utilizată în modele precum BERT.

Grație acestor sarcini, modelul este forțat să învețe sintaxă, semantică și cunoștințe factuale despre lume pentru a face predicții cu succes.

Date pentru preantrenare

Eficiența preantrenării depinde în mare măsură de calitatea și diversitatea datelor de antrenare. Se utilizează următoarele surse principale:

  • Pagini web: Seturi de date precum Common Crawl și C4 oferă o gamă largă de subiecte, stiluri și limbi, reprezentând o „amprentă" a internetului.
  • Cărți: Corpusuri precum BookCorpus și The Pile furnizează text structurat și coerent, util pentru înțelegerea dependențelor pe termen lung și a narațiunilor.
  • Date conversaționale: Date de pe forumuri (de exemplu, Reddit) și rețele sociale, care ajută modelele să asimileze limbajul informal și tiparele dialogale.
  • Date specializate: Articole științifice (din arXiv), cod sursă (din GitHub și The Stack) sau texte multilingve pentru îmbunătățirea capacităților specifice ale modelului.

Exemple de distribuție a datelor

Diferite modele utilizează proporții diferite ale surselor, ceea ce influențează capacitățile lor finale:

  • GPT-3 (175 miliarde de parametri):** 16% cărți, 84% pagini web.
  • PaLM (540 miliarde de parametri):** 5% cărți, 14% pagini web, 50% date conversaționale, 31% altele.
  • LLaMA (65 miliarde de parametri):** 5% cărți, 2% pagini web, 87% date conversaționale.

Aceste distribuții arată că alegerea datelor este o decizie strategică, care variază în funcție de obiectivele modelului.

Corpusuri frecvent utilizate

Seturi de date frecvent utilizate pentru preantrenarea LLM
Corpus Dimensiune Sursă Ultima actualizare
BookCorpus 5GB Cărți Dec-2015
Gutenberg - Cărți Dec-2021
C4 800GB Common Crawl Apr-2019
CC-Stories-R 31GB Common Crawl Sep-2019
CC-NEWS 78GB Common Crawl Feb-2019
REALNEWS 120GB Common Crawl Apr-2019
OpenWebText 38GB Linkuri Reddit Mar-2023
Pushshift.io 2TB Linkuri Reddit Mar-2023
Wikipedia 21GB Wikipedia Mar-2023
The Pile 800GB Altele Dec-2020
ROOTS 1.6TB Altele Iun-2022

Tehnici de antrenare

Preantrenarea LLM necesită resurse de calcul semnificative. Pentru gestionarea acestui proces se aplică următoarele tehnici:

  • Antrenare distribuită: Utilizarea mai multor GPU sau TPU pentru procesare paralelă.
  • Precizie mixtă (Mixed Precision): Utilizarea formatelor numerice cu precizie redusă (de exemplu, 16 biți în loc de 32 de biți) pentru accelerarea calculelor și reducerea consumului de memorie.
  • Puncte de control ale gradientului (Gradient Checkpointing): Tehnică de economisire a memoriei prin recalcularea, în loc de stocarea, a unor activări intermediare.
  • Paralelism de model (Model Parallelism): Distribuirea modelului însuși pe mai multe dispozitive.

Antrenarea unui model precum GPT-3 poate dura câteva luni pe mii de GPU.

Legi de scalare

Cercetări precum lucrarea OpenAI (Kaplan et al., 2020) au demonstrat că performanța modelelor lingvistice se îmbunătățește previzibil odată cu creșterea a trei factori:

  • Dimensiunea modelului (numărul de parametri).
  • Volumul datelor.
  • Resursele de calcul.

Aceste dependențe empirice, cunoscute sub numele de legi de scalare, servesc drept ghid pentru dezvoltatori la proiectarea și antrenarea modelelor mai mari și mai puternice, permițând alocarea optimă a bugetului de calcul.

Provocări și realizări

  • Scalarea: Principala realizare a preantrenării este posibilitatea de a echilibra dimensiunea modelului, a datelor și a resurselor de calcul pentru atingerea performanței optime.
  • Calitatea datelor: Asigurarea curățeniei, diversității și absenței prejudecăților în datele de antrenare reprezintă o provocare esențială.
  • Eficiența: Dezvoltarea metodelor de reducere a costurilor de calcul, precum preantrenarea continuă sau arhitecturile mai eficiente.
  • Multilingvismul: Crearea modelelor capabile să proceseze eficient mai multe limbi necesită o selecție și o balansare atentă a datelor.

Vezi și

  • Modele lingvistice mari
  • BERT
  • GPT