Interviews
Dr. Ram Sriharsha, VP of Engineering at Pinecone – Interviewreeks

Dr. Ram Sriharsha is de VP van Engineering en R&D bij Pinecone.
Voordat hij bij Pinecone kwam, had Ram VP-rollen bij Yahoo, Databricks en Splunk. Bij Yahoo was hij zowel een principal software engineer als een research scientist; bij Databricks was hij de product- en engineeringleider voor het unified analytics platform voor genomics; en in zijn drie jaar bij Splunk speelde hij meerdere rollen, waaronder Sr Principal Scientist, VP Engineering en Distinguished Engineer.
Pinecone is een volledig beheerde vector database die het gemakkelijk maakt om vector search toe te voegen aan productie-applicaties. Het combineert vector search libraries, functionaliteiten zoals filtering en gedistribueerde infrastructuur om hoge prestaties en betrouwbaarheid te bieden op elke schaal.
Wat trok je aanvankelijk aan naar machine learning?
Hoogdimensionale statistiek, leertheorie en onderwerpen zoals dat waren wat me aantrok tot machine learning. Ze zijn mathematisch goed gedefinieerd, kunnen worden geredeneerd en bieden enkele fundamentele inzichten over wat leren betekent en hoe algoritmes kunnen worden ontworpen die efficiënt kunnen leren.
Voordat je Vice President of Engineering bij Splunk was, een data platform dat helpt om data om te zetten in actie voor Observability, IT, Security en meer. Wat waren enkele van je belangrijkste inzichten uit deze ervaring?
Ik had niet beseft totdat ik bij Splunk kwam hoe divers de use cases in enterprise search zijn: mensen gebruiken Splunk voor log analytics, observability en security analytics, onder andere. En wat gemeen is aan veel van deze use cases is het idee om vergelijkbare gebeurtenissen of zeer ongelijksoortige (of anonieme) gebeurtenissen in ongestructureerde data te detecteren. Dit blijkt een moeilijk probleem te zijn en traditionele zoekmethoden zijn niet erg schaalbaar. Tijdens mijn tijd bij Splunk initieerde ik onderzoek naar deze gebieden over hoe we machine learning (en diepe learning) konden gebruiken voor log mining, security analytics, enz. Door dat werk kwam ik tot de conclusie dat vector embeddings en vector search uiteindelijk een fundamentele primitive zouden worden voor nieuwe benaderingen van deze domeinen.
Kunt u ons uitleggen wat vector search is?
In traditionele zoekopdrachten (ook bekend als trefwoordzoek) zoekt u naar trefwoordovereenkomsten tussen een query en documenten (dit kan tweets, webdocumenten, juridische documenten, enz. zijn). Om dit te doen, splitst u uw query op in tokens, haalt u documenten op die het gegeven token bevatten en mergeert en rangschikt u om de meest relevante documenten voor een bepaalde query te bepalen.
Het hoofdprobleem is natuurlijk dat u voor relevante resultaten uw query moet hebben met trefwoordovereenkomsten in het document. Een klassiek probleem met traditionele zoekopdrachten is: als u zoekt naar “pop”, zal het “popmuziek” matchen, maar niet “soda”, enz., omdat er geen trefwoordovereenkomst is tussen “pop” en documenten die “soda” bevatten, zelfs als we weten dat “pop” in veel gebieden in de VS hetzelfde betekent als “soda”.
Bij vector search begint u met het omzetten van zowel queries als documenten in een vector in een hoge dimensionale ruimte. Dit gebeurt meestal door de tekst door een diep leermodel te sturen, zoals OpenAI’s LLM’s of andere taalmodellen. Wat u als resultaat krijgt, is een array van floating point getallen die kan worden beschouwd als een vector in een hoge dimensionale ruimte.
Het kernidee is dat nabije vectoren in deze hoge dimensionale ruimte ook semantisch vergelijkbaar zijn. Terug naar ons voorbeeld van “soda” en “pop”, als het model is getraind op de juiste corpus, is het waarschijnlijk dat “pop” en “soda” semantisch vergelijkbaar worden geacht en dat de overeenkomstige embeddings dicht bij elkaar in de embeddingruimte zullen liggen. Als dat het geval is, wordt het ophalen van nabije documenten voor een bepaalde query het probleem van het zoeken naar de dichtstbijzijnde buren van de overeenkomstige queryvector in deze hoge dimensionale ruimte.
Kunt u ons uitleggen wat een vector database is en hoe deze het bouwen van high-performance vector search applicaties mogelijk maakt?
Een vector database slaat, indexeert en beheert deze embeddings (of vectoren). De belangrijkste uitdagingen die een vector database oplost, zijn:
- Het bouwen van een efficiënte zoekindex over vectoren om nearest neighbor queries te beantwoorden
- Het bouwen van efficiënte hulpindices en gegevensstructuren om queryfiltering te ondersteunen. Bijvoorbeeld, als u alleen wilt zoeken in een subset van de corpus, moet u de bestaande zoekindex kunnen gebruiken zonder deze opnieuw te hoeven opbouwen
Ondersteun efficiënte updates en houd zowel de gegevens als de zoekindex vers, consistent, duurzaam, enz.
Wat zijn de verschillende soorten machine learning algoritmes die bij Pinecone worden gebruikt?
We werken meestal aan benaderde nearest neighbor zoekalgoritmes en ontwikkelen nieuwe algoritmes voor efficiënt updaten, opvragen en omgaan met grote hoeveelheden gegevens op een zo kosteneffectieve manier mogelijk.
We werken ook aan algoritmes die dense en sparse retrieval combineren voor verbeterde zoekrelevantie.
Wat zijn enkele van de uitdagingen achter het bouwen van schaalbare zoekopdrachten?
Terwijl benaderde nearest neighbor zoekopdrachten al decennialang zijn onderzocht, geloven we dat er nog veel te ontdekken valt.
In het bijzonder, wanneer het gaat om het ontwerpen van grote schaal nearest neighbor zoekopdrachten die kosteneffectief zijn, het uitvoeren van efficiënte filtering op grote schaal, of het ontwerpen van algoritmes die hoge volumes updates en algemene verse indexes ondersteunen, zijn allemaal moeilijke problemen vandaag de dag.
Wat zijn enkele van de verschillende soorten use cases waarvoor deze technologie kan worden gebruikt?
Het spectrum van use cases voor vector databases groeit elke dag. Naast het gebruik in semantische zoekopdrachten zien we het ook worden gebruikt in image search, image retrieval, generatieve AI, security analytics, enz.
Wat is uw visie op de toekomst van zoekopdrachten?
Ik denk dat de toekomst van zoekopdrachten AI-gedreven zal zijn, en ik denk niet dat dit ver weg is. In die toekomst verwacht ik dat vector databases een core primitive zullen zijn. We denken graag aan vector databases als het langetermijngeheugen (of de externe kennisbasis) van AI.
Bedankt voor het geweldige interview, lezers die meer willen leren, moeten Pinecone bezoeken.












