Intervjuer
Dr. Ram Sriharsha, VP of Engineering at Pinecone – Intervjuserie

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 en principal software engineer och sedan forskningsvetenskapare; på Databricks var han produkt- och teknikledare för den enhetliga analytikplattformen för genomik; och under sina tre år på Splunk spelade 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 filtrering 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?
Högdimensionell statistik, 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 dataplattform som hjälper till att omvandla data till handling för Observability, IT, Security och mer. Vad var några av dina viktigaste lärdomar 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 genom 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 logggruvdrift, säkerhetsanalys etc. Genom det arbetet kom jag att förstå att vektorembeddningar och vektorsökning skulle bli en grundläggande primitiv för nya tillvägagångssätt inom dessa domäner.
Kan du beskriva för oss vad vektorsökning är?
I traditionell sökning (även känd som nyckelordsökning) letar du efter nyckelordsmatchningar mellan en fråga och dokument (detta kan vara tweets, webbdokument, juridiska dokument, vad du vill). 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 sammanfogar och rankar för att bestämma de mest relevanta dokumenten för en given fråga.
Det stora problemet är förstås att för att få relevanta resultat måste din fråga ha nyckelordsmatchningar 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 “pop” betyder detsamma som “soda” i många områden i USA.
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 skicka 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.
Kärnidé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 anser att “pop” och “soda” är semantiskt likartade och därmed kommer de motsvarande inbäddningarna att vara nära varandra i inbäddningsrummet. Om det ä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 viktigaste utmaningarna 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ågefiltrering. Till exempel, om du ville söka över endast en delmängd av korpusen, borde du kunna utnyttja den befintliga sökindex 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, att utföra effektiv filtrering i stor skala, eller 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 det ä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 den underbara intervjun, läsare som vill lära sig mer bör besöka Pinecone.












