Intervjuer

Dr. Ram Sriharsha, VP of Engineering at Pinecone – Intervju-serie

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Dr. Ram Sriharsha er VP of Engineering og R&D ved Pinecone.

Før han begynte hos Pinecone, hadde Ram VP-roller hos Yahoo, Databricks og Splunk. Hos Yahoo var han både principal software engineer og research scientist; hos Databricks var han produkt- og ingeniørleder for det samlede analytics-plattformen for genomics; og i hans tre år hos Splunk, spilte han flere roller, inkludert Sr Principal Scientist, VP Engineering og Distinguished Engineer.

Pinecone er en fullstendig administrert vektor-database som gjør det enkelt å legge til vektor-søk i produksjonsapplikasjoner. Den kombinerer vektor-søkebiblioteker, funksjoner som filtrering og distribuert infrastruktur for å gi høy ytelse og pålitelighet i enhver skala.

Hva var det som først tiltalte deg til maskinlæring?

Statistikk i høye dimensjoner, læringsteori og emner som disse var det som tiltalte meg til maskinlæring. De er matematisk godt definert, kan forstås og har noen grunnleggende innsikter å tilby om hva læring betyr, og hvordan man kan designe algoritmer som kan lære effektivt.

Tidligere var du Vice President of Engineering hos Splunk, en data-plattform som hjelper å omdanne data til handling for Observability, IT, Sikkerhet og mer. Hva var noen av dine viktigste erfaringer fra denne opplevelsen?

Jeg hadde ikke realisert før jeg kom til Splunk hvor diverse brukstilfellene i bedriftssøk er: folk bruker Splunk for log-analyse, observability og sikkerhetsanalyse blant mange andre brukstilfeller. Og hva som er felles for mange av disse brukstilfellene er ideen om å oppdage lignende hendelser eller svært ulike (eller anomale) hendelser i ustrukturert data. Dette viser seg å være et hardt problem, og tradisjonelle måter å søke gjennom slik data er ikke svært skalerbare. Under min tid hos Splunk initierte jeg forskning rundt disse områdene om hvordan vi kunne bruke maskinlæring (og dyp læring) for log-mining, sikkerhetsanalyse osv. Gjennom dette arbeidet, kom jeg til å realisere at vektor-innbedding og vektor-søk ville ende opp som en grunnleggende primitiv for nye tilnærminger til disse domenene.

Kunne du beskrive for oss hva vektor-søk er?

I tradisjonell søk (også kjent som nøkkelordsøk), søker du etter nøkkelordsmatcher mellom en forespørsel og dokumenter (dette kan være tweets, web-dokumenter, juridiske dokumenter, osv.). For å gjøre dette, deler du opp forespørselen din i dens token, henter dokumenter som inneholder den gitte token og slår sammen og rangerer for å bestemme de mest relevante dokumenter for en gitt forespørsel.

Hovedproblemet er selvsagt at for å få relevante resultater, må forespørselen din ha nøkkelordsmatcher i dokumentet. Et klassisk problem med tradisjonell søk er: hvis du søker etter “pop”, vil du matche “pop-musikk”, men vil ikke matche “brus”, osv. fordi det ikke er noen nøkkelords-overlapp mellom “pop” og dokumenter som inneholder “brus”, selv om vi vet at i mange områder i USA, “pop” betyr det samme som “brus”.

I vektor-søk, begynner du med å konvertere både forespørsler og dokumenter til en vektor i et høyt-dimensjonalt rom. Dette gjøres vanligvis ved å sende teksten gjennom en dyp læring-modell som OpenAI’s LLMs eller andre språkmodeller. Hva du får som resultat er en array av flytende punkt-tall som kan tenkes som en vektor i et høyt-dimensjonalt rom.

Grundideen er at nærliggende vektorer i dette høye dimensjonale rommet også er semantisk like. Gå tilbake til vårt eksempel på “brus” og “pop”, hvis modellen er trent på det riktige korpus, er det sannsynlig at den vil regne “pop” og “brus” som semantisk like, og dermed vil de tilhørende innbeddingene være nære hverandre i innbeddingsrommet. Hvis det er tilfelle, så blir å hente nærliggende dokumenter for en gitt forespørsel problemet med å søke etter de nærmeste naboene av den tilhørende forespørselsvektoren i dette høye dimensjonale rommet.

Kunne du beskrive hva vektor-databasen er og hvordan den muliggjør bygging av høy-ytelses-vektor-søke-applikasjoner?

En vektor-database lagrer, indexerer og håndterer disse innbeddingene (eller vektorer). De viktigste utfordringene en vektor-database løser er:

  • Bygge en effektiv søke-indeks over vektorer for å svare på nærmeste nabo-forespørsler
  • Bygge effektive hjelpe-indeks og datastrukturer for å støtte forespørselsfiltrering. For eksempel, hvis du ønsker å søke over bare en undergruppe av korpus, bør du kunne utnytte den eksisterende søke-indeksen uten å måtte bygge den på nytt

Støtte effektive oppdateringer og holde både data og søke-indeks friske, konsistente, varige osv.

Hva er de forskjellige typer maskinlæringsalgoritmer som brukes hos Pinecone?

Vi arbeider generelt med approksimative nærmeste nabo-søke-algoritmer og utvikler nye algoritmer for å effektivt oppdatere, spørre og ellers håndtere store mengder data på en kostnadseffektiv måte.

Vi arbeider også med algoritmer som kombinerer tett og sparsom henting for å forbedre søke-relevans.

Hva er noen av utfordringene bak å bygge skalerbar søk?

mens approksimativ nærmeste nabo-søk har vært forsket i tiår, tror vi det er mye igjen å avdekke.

I særlig når det gjelder å designe stor skala nærmeste nabo-søk som er kostnadseffektivt, eller å utføre effektiv filtrering i stor skala, eller å designe algoritmer som støtter høy-volum oppdateringer og generelt ferske indeks er alle utfordringer i dag.

Hva er noen av de forskjellige typene brukstilfeller som denne teknologien kan brukes for?

Spekteret av brukstilfeller for vektor-databaser vokser dag for dag. Bortsett fra dens bruk i semantisk søk, ser vi det også brukes i bilde-søk, bilde-henting, generativ AI, sikkerhetsanalyse osv.

Hva er din visjon for fremtiden av søk?

Jeg tror fremtiden av søk vil være AI-drevet, og jeg tror dette er ikke så langt unna. I denne fremtiden, forventer jeg at vektor-databaser vil være en grunnleggende primitiv. Vi liker å tenke på vektor-databaser som det lange minnet (eller den eksterne kunnskapsbasen) til AI.

Takk for det flotte intervjuet, lesere som ønsker å lære mer bør besøke Pinecone.

Antoine er en visjonær leder og medgrunnlegger av Unite.AI, drevet av en urokkelig lidenskap for å forme og fremme fremtiden for AI og robotikk. En serial entrepreneur, han tror at AI vil være like disruptiv for samfunnet som elektrisitet, og blir ofte fanget i å prise potensialet for disruptive teknologier og AGI.

Som en futurist, er han dedikert til å utforske hvordan disse innovasjonene vil forme vår verden. I tillegg er han grunnlegger av Securities.io, en plattform som fokuserer på å investere i banebrytende teknologier som definerer fremtiden og omformer hele sektorer.