Zašto smo prešli s Cosine na Dot-Product sličnost za pretraživanje embeddinga
U svijetu pretraživanja embeddinga, Cosine sličnost dugo je bila zlatni standard. Mjeri kut između dva vektora, što je intuitivno i široko primjenjivo. Međutim, u RiNET-u smo odlučili napraviti promjenu – prešli smo na Dot-Product sličnost. Zašto? Zato što s normaliziranim vektorima ove dvije metrike daju identične rezultate, ali dot product je znatno brži i jednostavniji za implementaciju.
Matematička pozadina
Cosine sličnost izračunava se kao kosinus kuta između dva vektora: cos(θ) = (A · B) / (||A|| * ||B||). Ako su vektori normalizirani (imaju jediničnu normu), nazivnik postaje 1, pa se formula svodi na A · B – upravo dot product. To znači da za normalizirane vektore nema razlike u rangiranju rezultata.
Prednosti Dot-Product sličnosti
- Brzina: Dot product zahtijeva samo množenje i zbrajanje, bez dijeljenja ili izračuna normi. To smanjuje vrijeme izvođenja za 20-30% u našim testovima.
- Jednostavnost implementacije: Manje operacija znači manje prilika za greške i lakše održavanje koda.
- Podrška u hardveru: Mnogi procesori i GPU-ovi imaju optimizirane instrukcije za dot product, dok Cosine sličnost zahtijeva dodatne korake.
Kako smo implementirali promjenu
Prvo smo normalizirali sve embeddinge u bazi podataka. Zatim smo zamijenili Cosine funkciju s dot productom u našem sustavu za pretraživanje. Testiranje na 10 milijuna vektora pokazalo je identične rezultate, ali s prosječnim ubrzanjem od 25%. Ovo je posebno važno za aplikacije u stvarnom vremenu, gdje svaka milisekunda štedi resurse.
Što to znači za korisnike
Korisnici RiNET-a ne primjećuju razliku u točnosti pretraživanja – rezultati su taj kao i prije. Međutim, brže odgovore znače bolje korisničko iskustvo i niže operativne troškove. Ova promjena dio je našeg kontinuiranog napora da optimiziramo performanse bez žrtvovanja kvalitete.
Zanima vas ovakva AI tehnologija?
RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.
Kontaktirajte nas →
Komentari