Modelelor lingvistice de mari dimensiuni (LLM)

Modelelor lingvistice de mari dimensiuni (LLM)

Un studiu recent realizat de cercetători de la Google Research și Universitatea din California, Berkeley, a demonstrat că o metodă simplă de scalare în timpul testării poate îmbunătăți semnificativ abilitățile de raționament ale modelelor lingvistice de mari dimensiuni (LLM). Această tehnică se bazează pe generarea mai multor răspunsuri și utilizarea modelului însuși pentru a le verifica.
 

 

Metoda, denumită "căutare bazată pe eșantionare", implică generarea de multiple răspunsuri la o întrebare și selectarea celui mai bun printr-un mecanism de verificare. Această abordare este simplă și scalabilă, permițând generarea paralelă de răspunsuri suplimentare pentru a îmbunătăți acuratețea. Un aspect esențial este "auto-verificarea", unde modelul își evaluează propriile răspunsuri fără a se baza pe răspunsuri de referință externe.

Rezultatele studiului arată că, prin aplicarea acestei metode, performanța modelului Gemini 1.5 Pro a depășit-o pe cea a modelului o1-Preview în teste de raționament. Aceste constatări sugerează că nu sunt necesare antrenamente specializate sau arhitecturi complexe pentru a obține performanțe de top, având implicații importante pentru aplicațiile enterprise.

În concluzie, abordarea simplă de scalare în timpul testării prin căutare bazată pe eșantionare și auto-verificare poate îmbunătăți semnificativ capacitățile de raționament ale LLM-urilor, oferind o alternativă eficientă la metodele tradiționale de antrenament intensiv.

Large Language Model

LLM (Large Language Model) este un model de inteligență artificială antrenat pe cantități masive de date text pentru a înțelege și genera limbaj natural. Aceste modele sunt bazate pe arhitecturi de tip rețea neuronală, precum Transformers, și sunt utilizate în aplicații variate, cum ar fi chatboți, traducere automată, rezumarea textelor și generarea de conținut.

Exemple de LLM-uri populare includ GPT-4 (OpenAI), Gemini (Google), Claude (Anthropic) și LLaMA (Meta). Ele funcționează prin analizarea contextului unui text și generarea de răspunsuri coerente și relevante.

Rețeaua neuronală de tip Transformers

O rețea neuronală de tip Transformers este un model de învățare profundă (deep learning) folosit în special pentru procesarea limbajului natural (NLP). A fost introdus în 2017 de către Vaswani et al. în lucrarea „Attention is All You Need” și a revoluționat domeniul NLP datorită eficienței și performanței sale.

  • Cum funcționează un Transformers?

Transformers se bazează pe mecanismul de atenție (attention), care permite modelului să se concentreze asupra părților relevante ale datelor de intrare, indiferent de poziția lor în secvență.

 Iată o explicație simplificată a componentelor și funcționării:

  • Input Embedding

Datele de intrare (de exemplu, cuvinte sau fraze) sunt transformate în vectori numerici (embedding-uri) care reprezintă semnificația lor în spațiul vectorial.

Pentru a ține cont de poziția cuvintelor în secvență, se adaugă un encoding de poziție (positional encoding) la embedding-uri.


  • Mecanismul de Atenție (Self-Attention)

Acesta este nucleul Transformers. Self-Attention calculează relațiile dintre toate cuvintele dintr-o secvență, indiferent de distanța dintre ele.

Pentru fiecare cuvânt, se calculează trei vectori:

  • Query (Q): Reprezintă cuvântul curent.
  • Key (K): Reprezintă cuvintele cu care se compară.
  • Value (V): Conține informația despre fiecare cuvânt.
  • Se calculează scoruri de atenție folosind produsul scalar între Q și K, apoi se aplică o funcție de normalizare (de exemplu, softmax) pentru a obține ponderi.
  • Aceste ponderi sunt folosite pentru a combina vectorii V, rezultând un vector de ieșire care încorporează contextul din întreaga secvență.

  • Multi-Head Attention
    • Pentru a capta mai multe tipuri de relații și contexte, se folosesc mai multe „capete” de atenție (heads) în paralel. Fiecare cap calculează atenția independent, iar rezultatele sunt concatenate și transformate într-un singur vector.

  • Feed-Forward Neural Network
    • După mecanismul de atenție, ieșirea este procesată printr-o rețea neuronală feed-forward (de obicei cu un strat ascuns și o funcție de activare, cum ar fi ReLU).


  • Normalizare și Conexiuni Reziduale

Pentru a stabiliza antrenarea, se folosesc:

  • Conexiuni reziduale: Adaugă intrarea originală la ieșirea unui strat, evitând pierderea informațiilor.
  • Normalizare pe strat (Layer Normalization): Ajustează valorile pentru a îmbunătăți convergența.

  • Stive de Straturi (Encoder și Decoder)
    • Transformers este compus din două părți principale:
    • Encoder: Procesează datele de intrare și extrage caracteristici.
    • Decoder: Generează ieșirea (de exemplu, traducerea sau textul) folosind informațiile din encoder.
    • Ambele sunt formate din stive de straturi identice (de exemplu, 6 straturi pentru encoder și 6 pentru decoder în modelul original).
  • Ieșirea
    • În final, ieșirea este transformată în probabilități (de exemplu, folosind softmax) pentru a alege cel mai probabil cuvânt sau token următor.
    • Aplicații ale Transformers
    • Traducere automată: De exemplu, Google Translate folosește Transformers.
    • Generare de text: Modele precum GPT (Generative Pre-trained Transformer).
    • Înțelegerea limbajului: Modele precum BERT (Bidirectional Encoder Representations from Transformers).
    • Chatbots: Sisteme precum ChatGPT.

Softmax

Softmax este o funcție matematică folosită în învățarea automată și în special în rețelele neuronale pentru a transforma un vector de valori numerice (numite logits) într-un vector de probabilități. Aceasta este utilizată în mod obișnuit în probleme de clasificare, unde dorim să atribuim o probabilitate fiecărei clase posibile.

softmax

 Sursa: https://web.stanford.edu/~nanbhas/blog/sigmoid-softmax/

Cum funcționează Softmax?

Pentru un vector de intrare z=[z1,z2,,zn], unde zi sunt logits (valori numerice), funcția softmax calculează probabilitatea pi pentru fiecare element i folosind formula:

pi = ezi / j=1n ezj

Unde:

  • ezi este exponențiala lui zi.
  • nj=1ezj este suma exponențialelor tuturor elementelor din vector.

Proprietăți ale Softmax

  • Normalizare: Suma tuturor probabilităților pi este întotdeauna 1:
    i=1n pi = 1
  • Amplificarea diferențelor: Softmax amplifică diferențele între logits. Dacă un zi este mult mai mare decât celelalte, probabilitatea corespunzătoare pi va fi aproape 1, iar celelalte probabilități vor fi aproape 0.
  • Nenegativitate: Toate probabilitățile pi sunt între 0 și 1:
    0 ≤ pi ≤ 1

Exemplu

Să presupunem că avem un vector de logits:

z = [2.0, 1.0, 0.1]

1. Calculăm exponențialele:

e2.0 = 7.389,   e1.0 = 2.718,   e0.1 = 1.105

2. Calculăm suma exponențialelor:

∑ ezj = 7.389 + 2.718 + 1.105 = 11.212

3. Aplicăm softmax:

p1 = 7.389 / 11.212 ≈ 0.659,   p2 = 2.718 / 11.212 ≈ 0.242,   p3 = 1.105 / 11.212 ≈ 0.099

Rezultatul este un vector de probabilități:

p = [0.659, 0.242, 0.099]

Utilizări ale Softmax

Clasificare multiclasă: În rețelele neuronale, softmax este folosit în stratul final pentru a atribui probabilități fiecărei clase.

Generare de text: În modele precum GPT, softmax este folosit pentru a alege următorul token (cuvânt) pe baza probabilităților calculate.

Recunoaștere de imagini: În rețele convoluționale (CNN), softmax este folosit pentru a determina probabilitatea ca o imagine să aparțină unei anumite clase.

Softmax vs. alte funcții

Sigmoid: Este folosit pentru clasificare binară (două clase), în timp ce softmax este pentru clasificare multiclasă.

LogSoftmax: Este o variantă a softmax care calculează logaritmul probabilităților, folosită pentru stabilitate numerică în calculul funcțiilor de pierdere (de exemplu, cross-entropy).

Documentație

Susține acest blog

 Dacă cumperi folosind linkurile care duc la emag.ro si aliexpress.com vei susține blogul meu, iar 10% din donații se vor direcționa pentru fundația dăruiește viată. Mulțumesc ! 

Mulțumesc pentru atenție! 

Pentru întrebări și/sau consultanță tehnică vă stau la dispoziție pe blog mai jos în secțiunea de comentarii sau pe email simedruflorin@automatic-house.ro.
O zi plăcută tuturor !
Back to top of page

Etichete

Afișați mai multe

Arhiva

Afișați mai multe