Ce înseamnă Embedding
Un embedding (în română, reprezentare vectorială) este o listă de numere, numită vector, care reprezintă sensul unui cuvânt, al unei fraze, al unui document sau chiar al unei imagini. Un astfel de vector are de obicei sute sau mii de numere.
Proprietatea esențială este că lucrurile cu sens asemănător primesc vectori apropiați. „Câine” și „cățel” vor fi foarte aproape unul de altul, „câine” și „pisică” ceva mai departe, iar „câine” și „factură” foarte departe. Astfel, calculatorul poate compara sensuri făcând calcule cu numere.
Embedding-urile sunt peste tot în AI: în interiorul modelelor de limbaj, în căutarea semantică, în sistemele de recomandare, la găsirea textelor duplicate și în RAG. Un exemplu celebru vine de la word2vec (Google, 2013): vectorul pentru „rege” minus „bărbat” plus „femeie” dă un vector foarte apropiat de „regină”.
Cum funcționează
Un model de embedding, adică o rețea neuronală antrenată special, primește textul și produce vectorul. Modelul a învățat din cantități mari de date care texte apar în contexte asemănătoare, așa că le așază aproape unele de altele, într-un spațiu cu multe dimensiuni.
Pentru a compara două texte, se calculează cât de apropiați sunt vectorii lor, de obicei prin similaritatea cosinus, care măsoară cât de mult „arată în aceeași direcție” doi vectori. O valoare apropiată de 1 înseamnă sensuri foarte asemănătoare.
Pe înțelesul tuturor
Gândește-te la o hartă pe care fiecare oraș are coordonate: orașele apropiate pe hartă sunt apropiate și în realitate. Embedding-urile alcătuiesc o hartă a sensurilor, doar că, în loc de două coordonate (latitudine și longitudine), au sute sau mii.
Exemplu
Un magazin online calculează embedding-uri pentru toate descrierile de produse. Când un client caută „ceva cald de purtat iarna pentru copii”, căutarea nu verifică doar cuvintele exacte, ci găsește produsele cu vectorii cei mai apropiați: geci de puf, căciuli, mănuși pentru copii, chiar dacă descrierile lor nu conțin cuvântul „cald”.
De reținut
- Un embedding transformă sensul în numere, adică într-un vector.
- Sensurile asemănătoare au vectori apropiați.
- Stă la baza căutării semantice, a recomandărilor și a RAG.
Nu confunda
- Embedding vs. token: tokenul este bucata de text; embedding-ul este vectorul de numere care îi reprezintă sensul.
- Embedding vs. compresie: dintr-un embedding nu poți reconstrui exact textul original; vectorul păstrează sensul, nu cuvintele exacte.
Termeni înrudiți
- Bază de date vectorială: Bază de date specializată în stocarea embedding-urilor și în găsirea rapidă a celor mai apropiate, ca sens, de o întrebare.
- Căutare semantică: Căutare care înțelege sensul întrebării, nu doar cuvintele ei, și găsește rezultate relevante chiar dacă folosesc alte cuvinte.
- RAG (generare augmentată prin căutare): Tehnica prin care un model de limbaj caută întâi informații relevante în documente sau pe internet și abia apoi răspunde, pe baza lor.
- Token: Bucata de text (cuvânt, parte de cuvânt sau semn) cu care lucrează un model de limbaj; limitele și costurile se măsoară în tokeni.
- Sistem de recomandare: Algoritm care îți propune produse, filme, melodii sau postări pe baza a ce ai făcut tu și a ce au ales oameni asemănători cu tine.
- Tokenizare: Procesul prin care textul este tăiat în tokeni și transformat în numere, singura formă pe care o poate procesa un model de limbaj.