toco Dr. Ram Sriharsha, vice-presidente de engenharia da Pinecone - série de entrevistas - Unite.AI
Entre em contato

Entrevistas

Dr. Ram Sriharsha, vice-presidente de engenharia da Pinecone – série de entrevistas

mm

Publicado

 on

Dr. Ram Sriharsha, é vice-presidente de engenharia e P&D da Pinecone.

Antes de ingressar na Pinecone, Ram ocupou cargos de vice-presidente no Yahoo, Databricks e Splunk. No Yahoo, ele foi o principal engenheiro de software e depois cientista pesquisador; na Databricks, ele foi o líder de produto e engenharia da plataforma de análise unificada para genômica; e, em seus três anos na Splunk, desempenhou várias funções, incluindo cientista principal sênior, engenharia de vice-presidente e engenheiro distinto.

Pinecone é um banco de dados de vetores totalmente gerenciado que facilita a inclusão de pesquisa de vetores em aplicativos de produção. Ele combina bibliotecas de pesquisa vetorial, recursos como filtragem e infraestrutura distribuída para fornecer alto desempenho e confiabilidade em qualquer escala.

O que inicialmente atraiu você para o aprendizado de máquina?

Estatísticas de alta dimensão, teoria de aprendizado e tópicos como esse foram o que me atraiu para o aprendizado de máquina. Eles são matematicamente bem definidos, podem ser raciocinados e têm alguns insights fundamentais para oferecer sobre o que significa aprender e como projetar algoritmos que possam aprender com eficiência.

Anteriormente, você foi vice-presidente de engenharia da Splunk, uma plataforma de dados que ajuda a transformar dados em ação para observabilidade, TI, segurança e muito mais. Quais foram algumas das principais conclusões dessa experiência?

Eu não tinha percebido até chegar ao Splunk quão diversos são os casos de uso na pesquisa corporativa: as pessoas usam o Splunk para análise de log, observabilidade e análise de segurança, entre uma miríade de outros casos de uso. E o que é comum a muitos desses casos de uso é a ideia de detectar eventos semelhantes ou eventos altamente diferentes (ou anômalos) em dados não estruturados. Isso acaba sendo um problema difícil e os meios tradicionais de pesquisar esses dados não são muito escaláveis. Durante meu tempo no Splunk, iniciei pesquisas nessas áreas sobre como poderíamos usar aprendizado de máquina (e aprendizado profundo) para mineração de logs, análise de segurança, etc. uma primitiva fundamental para novas abordagens a esses domínios.

Você poderia descrever para nós o que é pesquisa vetorial?

Na pesquisa tradicional (também conhecida como pesquisa por palavra-chave), você procura correspondências de palavras-chave entre uma consulta e documentos (podem ser tweets, documentos da web, documentos legais, o que você tem). Para fazer isso, você divide sua consulta em seus tokens, recupera os documentos que contêm o token fornecido e mescla e classifica para determinar os documentos mais relevantes para uma determinada consulta.

O principal problema, é claro, é que, para obter resultados relevantes, sua consulta precisa ter correspondências de palavras-chave no documento. Um problema clássico com a pesquisa tradicional é: se você pesquisar por “pop”, encontrará “pop music”, mas não encontrará “soda”, etc. embora saibamos que coloquialmente em muitas áreas dos EUA, “pop” significa o mesmo que “refrigerante”.

Na pesquisa vetorial, você começa convertendo consultas e documentos em um vetor em algum espaço de alta dimensão. Isso geralmente é feito passando o texto por um modelo de aprendizado profundo, como os LLMs da OpenAI ou outros modelos de linguagem. O que você obtém como resultado é uma matriz de números de ponto flutuante que pode ser considerada um vetor em algum espaço de alta dimensão.

A ideia central é que os vetores próximos neste espaço de alta dimensão também são semanticamente semelhantes. Voltando ao nosso exemplo de “soda” e “pop”, se o modelo for treinado no corpus correto, é provável que considere “pop” e “soda” semanticamente semelhantes e, portanto, os embeddings correspondentes estarão próximos um do outro em o espaço de incorporação. Se for esse o caso, a recuperação de documentos próximos para uma determinada consulta torna-se o problema de procurar os vizinhos mais próximos do vetor de consulta correspondente neste espaço de alta dimensão.

Você poderia descrever o que é o banco de dados de vetores e como ele permite a criação de aplicativos de pesquisa de vetores de alto desempenho?

Um banco de dados vetorial armazena, indexa e gerencia essas incorporações (ou vetores). Os principais desafios que um banco de dados vetorial resolve são:

  • Construindo um índice de pesquisa eficiente sobre vetores para responder a consultas de vizinhos mais próximos
  • Construindo índices auxiliares eficientes e estruturas de dados para dar suporte à filtragem de consultas. Por exemplo, suponha que você queira pesquisar apenas um subconjunto do corpus, você deve ser capaz de aproveitar o índice de pesquisa existente sem precisar recriá-lo

Oferece suporte a atualizações eficientes e mantém os dados e o índice de pesquisa atualizados, consistentes, duráveis, etc.

Quais são os diferentes tipos de algoritmos de aprendizado de máquina usados ​​na Pinecone?

Geralmente, trabalhamos com algoritmos aproximados de pesquisa do vizinho mais próximo e desenvolvemos novos algoritmos para atualizar, consultar e lidar com grandes quantidades de dados com eficiência, da maneira mais econômica possível.

Também trabalhamos em algoritmos que combinam recuperação densa e esparsa para melhorar a relevância da pesquisa.

 Quais são alguns dos desafios por trás da criação de pesquisa escalável?

Embora a busca aproximada do vizinho mais próximo tenha sido pesquisada por décadas, acreditamos que ainda há muito a ser descoberto.

Em particular, quando se trata de projetar pesquisa de vizinho mais próximo em grande escala que seja econômica, na execução de filtragem eficiente em escala ou no design de algoritmos que suportam atualizações de alto volume e índices geralmente novos são problemas desafiadores hoje.

Quais são alguns dos diferentes tipos de casos de uso para os quais essa tecnologia pode ser usada?

O espectro de casos de uso para bancos de dados de vetores está crescendo a cada dia. Além de seus usos na pesquisa semântica, também o vemos sendo usado na pesquisa de imagens, recuperação de imagens, IA generativa, análise de segurança, etc.

Qual é a sua visão para o futuro da pesquisa?

Acho que o futuro da pesquisa será impulsionado pela IA, e não acho que isso esteja muito longe. Nesse futuro, espero que os bancos de dados vetoriais sejam um núcleo primitivo. Gostamos de pensar nos bancos de dados vetoriais como a memória de longo prazo (ou a base de conhecimento externa) da IA.

Obrigado pela ótima entrevista, os leitores que desejam saber mais devem visitar Pinecone.

Sócio fundador da unite.AI e membro do Conselho de Tecnologia da Forbes, Antoine é um futurista que é apaixonado pelo futuro da IA ​​e da robótica.

Ele também é o fundador da Valores Mobiliários.io, um site que foca em investir em tecnologia disruptiva.