Intervjuer

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

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Dr. Ram Sriharsha är VP of Engineering och R&D på Pinecone.

Innan han gick med i Pinecone hade Ram VP-roller på Yahoo, Databricks och Splunk. På Yahoo var han både principal software engineer och forskningsvetenskapsman; på Databricks var han produkt- och teknikledare för den enhetliga analytics-plattformen för genetik; och under sina tre år på Splunk hade han flera roller, inklusive Sr Principal Scientist, VP Engineering och Distinguished Engineer.

Pinecone är en fullständigt hanterad vektordatabas som gör det enkelt att lägga till vektorsökning i produktionsapplikationer. Den kombinerar vektorsökbibliotek, funktioner som filter och distribuerad infrastruktur för att tillhandahålla hög prestanda och tillförlitlighet i vilken skala som helst.

Vad var det som initialt drog dig till maskinlärning?

Statistik i höga dimensioner, lärandeteori och ämnen som dessa var det som drog mig till maskinlärning. De är matematiskt väldefinierade, kan resoneras och har vissa grundläggande insikter att erbjuda om vad lärande innebär och hur man utformar algoritmer som kan lära sig effektivt.

Tidigare var du Vice President of Engineering på Splunk, en data-plattform som hjälper till att omvandla data till handling för Observability, IT, Security och mer. Vilka var några av dina viktigaste insikter från denna erfarenhet?

Jag hade inte förstått förrän jag kom till Splunk hur diversifierade användningsfallen för företagssökning är: människor använder Splunk för logganalys, observability och säkerhetsanalys bland många andra användningsfall. Och vad som är gemensamt för många av dessa användningsfall är idén att upptäcka liknande händelser eller mycket olikartade (eller avvikande) händelser i ostrukturerad data. Detta visar sig vara ett svårt problem och traditionella metoder för att söka igenom sådan data är inte särskilt skalbara. Under min tid på Splunk initierade jag forskning kring dessa områden om hur vi kunde använda maskinlärning (och djupinlärning) för loggmining, säkerhetsanalys etc. Genom detta arbete kom jag att förstå att vektorinbäddningar och vektorsökning skulle bli en grundläggande primitiv för nya tillvägagångssätt inom dessa områden.

Kan du beskriva för oss vad vektorsökning är?

I traditionell sökning (även känd som nyckelordsökning) letar du efter nyckelordsmatcher mellan en fråga och dokument (detta kan vara tweets, webbdokument, juridiska dokument, etc.). För att göra detta delar du upp din fråga i dess token, hämtar dokument som innehåller den angivna token och slår samman och rankar för att bestämma de mest relevanta dokumenten för en given fråga.

Huvudproblemet är naturligtvis att för att få relevanta resultat måste din fråga ha nyckelordsmatcher i dokumentet. Ett klassiskt problem med traditionell sökning är: om du söker efter “pop” kommer du att matcha “popmusik”, men inte “soda”, etc. eftersom det inte finns någon nyckelordsöverlappning mellan “pop” och dokument som innehåller “soda”, även om vi vet att i många områden i USA betyder “pop” detsamma som “soda”.

I vektorsökning börjar du med att omvandla både frågor och dokument till en vektor i något högdimensionellt rum. Detta görs vanligtvis genom att passera texten genom en djupinlärningsmodell som OpenAI:s LLM eller andra språkmodeller. Vad du får som resultat är en array av flyttal som kan betraktas som en vektor i något högdimensionellt rum.

Grundidén är att närliggande vektorer i detta högdimensionella rum också är semantiskt likartade. Återgå till vårt exempel med “soda” och “pop”, om modellen är tränad på rätt korpus, är det troligt att den kommer att betrakta “pop” och “soda” som semantiskt likartade och därmed kommer de motsvarande inbäddningarna att vara nära varandra i inbäddningsrummet. Om detta är fallet, då blir att hämta närliggande dokument för en given fråga problemet att söka efter de närmaste grannarna till den motsvarande frågevektorn i detta högdimensionella rum.

Kan du beskriva vad vektordatabasen är och hur den möjliggör byggandet av högpresterande vektorsökningsapplikationer?

En vektordatabas lagrar, index och hanterar dessa inbäddningar (eller vektorer). De huvudsakliga utmaningar som en vektordatabas löser är:

  • Att bygga en effektiv sökindex över vektorer för att besvara närmaste granne-frågor
  • Att bygga effektiva hjälpindex och datastrukturer för att stödja frågefilter. Till exempel, om du ville söka över endast en undermängd av korpusen, borde du kunna utnyttja den befintliga sökindexen utan att behöva bygga om den

Stöd effektiva uppdateringar och håll både data och sökindex färska, konsekventa, hållbara etc.

Vilka är de olika typerna av maskinlärningsalgoritmer som används på Pinecone?

Vi arbetar vanligtvis med approximativa närmaste granne-sök-algoritmer och utvecklar nya algoritmer för att effektivt uppdatera, fråga och på annat sätt hantera stora mängder data på ett så kostnadseffektivt sätt som möjligt.

Vi arbetar också med algoritmer som kombinerar tät och gles hämtning för förbättrad sökrelevant.

Vilka är några av utmaningarna bakom att bygga skalbar sökning?

Medan approximativ närmaste granne-sök har forskats i decennier, tror vi att det finns mycket kvar att upptäcka.

I synnerhet när det gäller att utforma storskalig närmaste granne-sök som är kostnadseffektiv, i att utföra effektiv filterning i stor skala, eller i att utforma algoritmer som stödjer högvolymuppdateringar och generellt färska index är alla utmanande problem idag.

Vilka är några av de olika typerna av användningsfall som denna teknik kan användas för?

Spektrumet av användningsfall för vektordatabaser växer för varje dag. Bortsett från dess användning i semantisk sökning ser vi det också användas i bildsökning, bildhämtning, generativ AI, säkerhetsanalys etc.

Vad är din vision för framtiden för sökning?

Jag tror att framtiden för sökning kommer att vara AI-driven, och jag tror inte att detta är särskilt långt borta. I den framtiden förväntar jag mig att vektordatabaser kommer att vara en grundläggande primitiv. Vi gillar att tänka på vektordatabaser som det långsiktiga minnet (eller den externa kunskapsbasen) för AI.

Tack för det underbara intervjun, läsare som vill lära sig mer bör besöka Pinecone.

Antoine är en visionär ledare och medgrundare av Unite.AI, driven av en outtröttlig passion för att forma och främja framtidens AI och robotik. En serieentreprenör, han tror att AI kommer att vara lika störande för samhället som elektricitet, och han fångas ofta i att prata om potentialen för störande teknologier och AGI.

Som en futurist är han dedikerad till att utforska hur dessa innovationer kommer att forma vår värld. Dessutom är han grundare av Securities.io, en plattform som fokuserar på att investera i banbrytande teknologier som omdefinierar framtiden och omformar hela sektorer.