stub Dr. Ram Sriharsha, VP of Engineering på Pinecone - Intervjuserie - Unite.AI
Anslut dig till vårt nätverk!

Intervjuer

Dr. Ram Sriharsha, VP of Engineering på Pinecone – Intervjuserie

mm

publicerade

 on

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

Innan han började på Pinecone hade Ram VP-roller på Yahoo, Databricks och Splunk. På Yahoo var han både en huvudsaklig mjukvaruingenjör och sedan forskare; på Databricks var han produkt- och ingenjörsledare för den enhetliga analysplattformen 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 helt 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 ge hög prestanda och tillförlitlighet i alla skala.

Vad lockade dig från början till maskininlärning?

Högdimensionell statistik, inlärningsteori och sådana ämnen var det som lockade mig till maskininlärning. De är matematiskt väldefinierade, kan resoneras och har några grundläggande insikter att erbjuda om vad lärande innebär och hur man designar 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. Vilka var några av dina viktigaste takeaways från den här upplevelsen?

Jag hade inte insett förrän jag kom till Splunk hur olika användningsfallen i företagssökning är: människor använder Splunk för logganalys, observerbarhet och säkerhetsanalys bland myriader av 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 olika (eller avvikande) händelser i ostrukturerad data. Detta visar sig vara ett svårt problem och traditionella sätt 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 maskininlärning (och djupinlärning) för logmining, säkerhetsanalys, etc. Genom det arbetet insåg jag att vektorinbäddningar och vektorsökning skulle sluta bli en grundläggande primitiv för nya förhållningssätt till dessa domäner.

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

I traditionell sökning (annan känd som nyckelordssökning) letar du efter nyckelordsmatchningar mellan en fråga och dokument (detta kan vara tweets, webbdokument, juridiska dokument, vad har du). För att göra detta delar du upp din fråga i dess tokens, hämtar dokument som innehåller den givna tokenen och slår samman och rangordnar för att bestämma de mest relevanta dokumenten för en given fråga.

Det största problemet är naturligtvis att för att få relevanta resultat måste din fråga ha sökordsmatchningar i dokumentet. Ett klassiskt problem med traditionell sökning är: om du söker på "pop" kommer du att matcha "popmusik", men kommer inte att matcha "läsk" etc. eftersom det inte finns någon nyckelordsöverlappning mellan "pop" och dokument som innehåller "läsk", även om vi vet att i många områden i USA betyder "pop" samma sak som "läsk".

I vektorsökning börjar du med att konvertera både frågor och dokument till en vektor i något högdimensionellt utrymme. 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 ett resultat är en uppsättning flyttalstal som kan ses som en vektor i något högdimensionellt utrymme.

Kärnidén är att närliggande vektorer i detta högdimensionella utrymme också är semantiskt lika. Om vi ​​går tillbaka till vårt exempel på "läsk" och "pop", om modellen är tränad på rätt korpus, kommer den sannolikt att betrakta "pop" och "läsk" som semantiskt lika och därmed kommer motsvarande inbäddningar att ligga nära varandra i inbäddningsutrymmet. Om så är fallet blir det att hämta närliggande dokument för en given fråga problemet med att söka efter de närmaste grannarna till motsvarande frågevektor i detta högdimensionella utrymme.

Kan du beskriva vad vektordatabasen är och hur den gör det möjligt att bygga högpresterande vektorsökningsapplikationer?

En vektordatabas lagrar, indexerar och hanterar dessa inbäddningar (eller vektorer). De viktigaste utmaningarna som en vektordatabas löser är:

  • Bygga ett effektivt sökindex över vektorer för att svara på frågor från närmaste granne
  • Bygga effektiva hjälpindex och datastrukturer för att stödja frågefiltrering. Anta till exempel att du bara vill söka över en delmängd av korpusen, bör du kunna utnyttja det befintliga sökindexet utan att behöva bygga om det

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

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

Vi arbetar generellt med ungefärliga närmaste grannsökningsalgoritmer och utvecklar nya algoritmer för att effektivt uppdatera, söka och på annat sätt hantera stora mängder data på ett så kostnadseffektivt sätt som möjligt.

Vi arbetar även med algoritmer som kombinerar tät och sparsam hämtning för förbättrad sökrelevans.

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

Medan det har undersökts om ett ungefärligt närmaste granne i årtionden, tror vi att det finns mycket kvar att avslöja.

Särskilt när det gäller att utforma en storskalig närmaste grannesökning som är kostnadseffektiv, att utföra effektiv filtrering i stor skala eller att designa algoritmer som stöder uppdateringar av hög volym 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. Förutom dess användningsområden i semantisk sökning, ser vi att den också används i bildsökning, bildhämtning, generativ AI, säkerhetsanalys, etc.

Vilken är din vision för framtidens sök?

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 kärnprimitiv. Vi tycker om att tänka på vektordatabaser som långtidsminnet (eller den externa kunskapsbasen) för AI.

Tack för den fina intervjun, läsare som vill veta mer bör besöka Pinecone.

En av grundarna av unite.AI och en medlem av Forbes Technology Council, Antoine är en futurist som brinner för framtiden för AI och robotik.

Han är också grundare av Securities.io, en webbplats som fokuserar på att investera i disruptiv teknik.