Connect with us

Interviuri

Dr. Ram Sriharsha, VP de Inginerie la Pinecone – Seria de Interviuri

mm

Dr. Ram Sriharsha, este VP de Inginerie și Cercetare-Dezvoltare la Pinecone.

Înainte de a se alătura Pinecone, Ram a avut roluri de VP la Yahoo, Databricks și Splunk. La Yahoo, a fost atât inginer software principal, cât și om de știință; la Databricks, a fost liderul de produs și inginerie pentru platforma de analize unificate pentru genomica; și, în cei trei ani petrecuți la Splunk, a avut multiple roluri, inclusiv științific principal, VP de Inginerie și Inginer distins.

Pinecone este o bază de date vectorială complet gestionată, care face ușor adăugarea căutării vectoriale la aplicații de producție. Combinați biblioteci de căutare vectorială, capacități precum filtrarea și infrastructura distribuită pentru a oferi performanță ridicată și fiabilitate la orice scară.

Ce v-a atras inițial spre învățarea automată?

Statistica de dimensiuni ridicate, teoria învățării și subiecte de acest gen m-au atras spre învățarea automată. Acestea sunt bine definite matematic, pot fi raționalizate și oferă insight-uri fundamentale despre ceea ce înseamnă învățarea și cum să proiectezi algoritmi care pot învăța eficient.

Anterior, ați fost Vicepreședinte de Inginerie la Splunk, o platformă de date care ajută la transformarea datelor în acțiuni pentru Observabilitate, IT, Securitate și multe altele. Care au fost unele dintre principalele concluzii ale acestei experiențe?

Nu realizasem până când am ajuns la Splunk cât de diverse sunt cazurile de utilizare în căutarea întreprinderilor: oamenii folosesc Splunk pentru analiza jurnalelor, observabilitate și analiza securității printre multe alte cazuri de utilizare. Și ceea ce este comun pentru multe dintre aceste cazuri de utilizare este ideea de detectare a evenimentelor similare sau foarte disimilare (sau anormale) în date neestructurate. Acesta se dovedește a fi un problemă dificilă, iar mijloacele tradiționale de căutare prin astfel de date nu sunt foarte scalabile. În timpul meu la Splunk, am inițiat cercetări în jurul acestor domenii despre cum am putea folosi învățarea automată (și învățarea profundă) pentru mineritul de jurnal, analiza securității, etc. Prin această muncă, am ajuns să realizez că încorporarea vectorială și căutarea vectorială vor deveni o primitivă fundamentală pentru abordări noi în aceste domenii.

Puteți descrie pentru noi ce este căutarea vectorială?

În căutarea tradițională (cunoscută și sub numele de căutare cu cuvinte cheie), căutați corespondențe de cuvinte cheie între o interogare și documente (acestea pot fi tweet-uri, documente web, documente legale, etc.). Pentru a face acest lucru, împărțiți interogarea în token-urile sale, recuperați documente care conțin token-ul dat și combinați și clasificați pentru a determina documentele cele mai relevante pentru o anumită interogare.

Problema principală, desigur, este că pentru a obține rezultate relevante, interogarea dvs. trebuie să aibă corespondențe de cuvinte cheie în document. O problemă clasică cu căutarea tradițională este: dacă căutați “pop”, veți corespunde “muzică pop”, dar nu veți corespunde “sifon”, etc., deoarece nu există suprapunere de cuvinte cheie între “pop” și documente care conțin “sifon”, chiar dacă știm că, în mod colocvial, în multe zone din SUA, “pop” înseamnă același lucru ca “sifon”.

În căutarea vectorială, începeți prin convertirea atât a interogărilor, cât și a documentelor într-un vector într-un spațiu de dimensiuni ridicate. Acest lucru se face de obicei prin trecerea textului printr-un model de învățare profundă, cum ar fi LLM-urile OpenAI sau alte modele de limbaj. Ceea ce obțineți ca rezultat este o matrice de numere cu virgulă mobilă care poate fi considerată un vector într-un spațiu de dimensiuni ridicate.

Ideea de bază este că vectorii apropiați în acest spațiu de dimensiuni ridicate sunt și semantic similari. Revenind la exemplul nostru de “sifon” și “pop”, dacă modelul este antrenat pe corpusul potrivit, este probabil să considere “pop” și “sifon” semantic similari și, prin urmare, încorporările corespunzătoare vor fi aproape una de alta în spațiul de încorporare. Dacă acesta este cazul, atunci recuperarea documentelor apropiate pentru o anumită interogare devine problema de a căuta vecinii cei mai apropiați ai vectorului de interogare corespunzător în acest spațiu de dimensiuni ridicate.

Puteți descrie ce este baza de date vectorială și cum permite construirea de aplicații de căutare vectorială de înaltă performanță?

O bază de date vectorială stochează, indexează și gestionează aceste încorporări (sau vectori). Principalele provocări pe care le rezolvă o bază de date vectorială sunt:

  • Construirea unui index de căutare eficient peste vectori pentru a răspunde la interogări de vecini cei mai apropiați
  • Construirea unor indici auxiliari și structuri de date eficiente pentru a sprijini filtrarea interogărilor. De exemplu, presupunând că doriți să căutați doar peste o submulțime a corpusului, ar trebui să puteți utiliza indexul de căutare existent fără a fi nevoit să îl reconstruiți

Sprijină actualizări eficiente și păstrează atât datele, cât și indexul de căutare proaspete, consistente, durabile, etc.

Care sunt diferitele tipuri de algoritmi de învățare automată care sunt utilizați la Pinecone?

În general, lucrăm la algoritmi de căutare a vecinilor cei mai apropiați aproximativ și dezvoltăm noi algoritmi pentru a gestiona eficient cantități mari de date într-un mod cât mai rentabil.

De asemenea, lucrăm la algoritmi care combină recuperarea densă și rară pentru o mai bună relevanță a căutării.

Care sunt unele dintre provocările din spatele construirii unei căutări scalabile?

Deși căutarea vecinilor cei mai apropiați aproximativ a fost cercetată de decenii, credem că mai există multe de descoperit.

În special, atunci când vine vorba de proiectarea unei căutări a vecinilor cei mai apropiați la scară largă, care să fie rentabilă din punct de vedere al costurilor, sau de a proiecta algoritmi care să sprijine actualizări de volum mare și, în general, indici proaspeți, toate acestea sunt provocări dificile în prezent.

Care sunt unele dintre diferitele tipuri de cazuri de utilizare pentru care poate fi utilizată această tehnologie?

Spectrul de cazuri de utilizare pentru bazele de date vectoriale crește de zi cu zi. În afara utilizărilor sale în căutarea semantică, îl vedem fiind utilizat și în căutarea de imagini, recuperarea de imagini, inteligența artificială generativă, analiza securității, etc.

Care este viziunea dvs. asupra viitorului căutării?

Cred că viitorul căutării va fi condus de inteligența artificială, și nu cred că acest lucru este foarte departe. În acest viitor, mă aștept ca bazele de date vectoriale să fie o primitivă fundamentală. Ne place să gândim bazele de date vectoriale ca memoria pe termen lung (sau baza de cunoștințe externă) a inteligenței artificiale.

Mulțumim pentru acest interviu minunat; cititorii care doresc să afle mai multe ar trebui să viziteze Pinecone.

Antoine este un lider vizionar și partener fondator al Unite.AI, condus de o pasiune neclintita pentru a da forma și a promova viitorul inteligenței artificiale și al roboticii. Un antreprenor serial, el crede că inteligența artificială va fi la fel de disruptivă pentru societate ca și electricitatea, și este adesea prins vorbind cu entuziasm despre potențialul tehnologiilor disruptive și al inteligenței artificiale generale.

Ca futurist, el este dedicat explorării modului în care aceste inovații vor modela lumea noastră. În plus, el este fondatorul Securities.io, o platformă axată pe investiții în tehnologii de ultimă generație care redefinesc viitorul și reshapă întregi sectoare.