Interviste
Dr. Ram Sriharsha, VP of Engineering at Pinecone – Interview Series

Dr. Ram Sriharsha, è il VP of Engineering e R&D at Pinecone.
Prima di unirsi a Pinecone, Ram ha ricoperto ruoli di VP a Yahoo, Databricks e Splunk. A Yahoo, è stato sia un principale ingegnere software che un ricercatore; a Databricks, è stato il lead del prodotto e dell’ingegneria per la piattaforma di analisi unificata per la genomica; e, nei suoi tre anni a Splunk, ha ricoperto molti ruoli, tra cui Sr Principal Scientist, VP Engineering e Distinguished Engineer.
Pinecone è un database vettoriale completamente gestito che rende facile aggiungere la ricerca vettoriale alle applicazioni di produzione. Combina librerie di ricerca vettoriale, funzionalità come il filtro e infrastrutture distribuite per fornire prestazioni elevate e affidabilità a qualsiasi scala.
Cosa ti ha inizialmente attirato verso il machine learning?
Le statistiche ad alta dimensionalità, la teoria dell’apprendimento e argomenti simili sono stati ciò che mi ha attirato verso il machine learning. Sono matematicamente ben definiti, possono essere ragionati e offrono alcuni insight fondamentali su cosa significhi apprendere e come progettare algoritmi che possano apprendere efficientemente.
Precedentemente eri Vice President of Engineering a Splunk, una piattaforma di dati che aiuta a trasformare i dati in azioni per l’osservabilità, l’IT, la sicurezza e altro. Quali sono stati alcuni dei tuoi principali take-away da questa esperienza?
Non mi ero reso conto fino a quando non sono arrivato a Splunk di quanto fossero diversi i casi d’uso nella ricerca aziendale: le persone usano Splunk per l’analisi dei log, l’osservabilità e l’analisi della sicurezza tra molti altri casi d’uso. E ciò che è comune a molti di questi casi d’uso è l’idea di rilevare eventi simili o molto dissimili (o anomali) nei dati non strutturati. Si è rivelato un problema difficile e i metodi tradizionali di ricerca attraverso tali dati non sono molto scalabili. Durante il mio tempo a Splunk, ho iniziato la ricerca su queste aree su come potremmo utilizzare il machine learning (e il deep learning) per la mineria dei log, l’analisi della sicurezza, ecc. Attraverso quel lavoro, sono arrivato a rendersi conto che le incapsulazioni vettoriali e la ricerca vettoriale sarebbero diventate una primitiva fondamentale per nuovi approcci a questi domini.
Puoi descrivere per noi cosa è la ricerca vettoriale?
Nella ricerca tradizionale (altrimenti nota come ricerca per parole chiave), si cerca una corrispondenza tra parole chiave tra una query e documenti (potrebbe trattarsi di tweet, documenti web, documenti legali, ecc.). Per fare ciò, si divide la query nei suoi token, si recuperano documenti che contengono il token dato e si combinano e si classificano per determinare i documenti più rilevanti per una query data.
Il principale problema, naturalmente, è che per ottenere risultati rilevanti, la query deve avere una corrispondenza di parole chiave nel documento. Un classico problema della ricerca tradizionale è: se si cerca “pop”, si troverà “musica pop”, ma non si troverà “soda”, ecc. poiché non c’è sovrapposizione di parole chiave tra “pop” e documenti che contengono “soda”, anche se sappiamo che colloquialmente in molte aree degli Stati Uniti, “pop” significa la stessa cosa di “soda”.
Nella ricerca vettoriale, si inizia convertendo sia le query che i documenti in un vettore in uno spazio ad alta dimensionalità. Ciò viene solitamente fatto passando il testo attraverso un modello di deep learning come i LLM di OpenAI o altri modelli linguistici. Ciò che si ottiene come risultato è una matrice di numeri a virgola mobile che può essere pensata come un vettore in uno spazio ad alta dimensionalità.
L’idea principale è che i vettori vicini in questo spazio ad alta dimensionalità sono anche semanticamente simili. Tornando al nostro esempio di “soda” e “pop”, se il modello è stato addestrato sul corpus giusto, è probabile che consideri “pop” e “soda” semanticamente simili e quindi le relative incapsulazioni saranno vicine l’una all’altra nello spazio di incapsulazione. Se questo è il caso, allora il recupero di documenti vicini per una query data diventa il problema di cercare i vicini più vicini del vettore di query in questo spazio ad alta dimensionalità.
Puoi descrivere cosa è il database vettoriale e come consente la costruzione di applicazioni di ricerca vettoriale ad alta prestazione?
Un database vettoriale archivia, indice e gestisce queste incapsulazioni (o vettori). Le principali sfide che un database vettoriale risolve sono:
- Costruire un indice di ricerca efficiente sui vettori per rispondere a query dei vicini più vicini
- Costruire indici e strutture di dati ausiliari efficienti per supportare il filtro delle query. Ad esempio, supponiamo che si desideri cercare solo su un subset del corpus, si dovrebbe essere in grado di sfruttare l’indice di ricerca esistente senza doverlo ricostruire
Supporta aggiornamenti efficienti e mantenga sia i dati che l’indice di ricerca freschi, coerenti, duraturi, ecc.
Quali sono i diversi tipi di algoritmi di machine learning utilizzati a Pinecone?
Lavoriamo generalmente sugli algoritmi di ricerca dei vicini più vicini approssimati e sviluppiamo nuovi algoritmi per gestire grandi quantità di dati in modo il più efficiente possibile in termini di costo.
Lavoriamo anche su algoritmi che combinano il recupero denso e sparso per migliorare la rilevanza della ricerca.
Quali sono alcune delle sfide dietro la costruzione di una ricerca scalabile?
Sebbene la ricerca dei vicini più vicini approssimati sia stata oggetto di ricerca per decenni, crediamo che ci sia ancora molto da scoprire.
In particolare, quando si tratta di progettare una ricerca dei vicini più vicini su larga scala che sia efficiente in termini di costo, di eseguire il filtro efficiente su larga scala o di progettare algoritmi che supportino aggiornamenti ad alto volume e indici generalmente freschi sono tutti problemi impegnativi oggi.
Quali sono alcuni dei diversi tipi di casi d’uso per cui questa tecnologia può essere utilizzata?
Lo spettro dei casi d’uso per i database vettoriali sta crescendo di giorno in giorno. Oltre al suo utilizzo nella ricerca semantica, lo vediamo anche utilizzato nella ricerca di immagini, recupero di immagini, intelligenza artificiale generativa, analisi della sicurezza, ecc.
Qual è la tua visione per il futuro della ricerca?
Credo che il futuro della ricerca sarà guidato dall’AI, e non credo che questo sia molto lontano. In quel futuro, mi aspetto che i database vettoriali saranno una primitiva fondamentale. Ci piace pensare ai database vettoriali come la memoria a lungo termine (o la base di conoscenza esterna) dell’AI.
Grazie per la grande intervista, i lettori che desiderano saperne di più possono visitare Pinecone.












