Dra. 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 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 atraiu me ao 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 podem 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 como são diversos os casos de uso na pesquisa corporativa: as pessoas usam o Splunk para análise de logs, observabilidade e análise de segurança entre inúmeros outros casos de uso. E o que é comum a muitos desses casos de uso é a ideia de detectar eventos semelhantes ou 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 na Splunk, iniciei pesquisas sobre essas áreas sobre como poderíamos usar aprendizado de máquina (e aprendizado profundo) para mineração de logs, análise de segurança etc. Por meio desse trabalho, percebi que incorporações de vetores e pesquisa de vetores acabariam sendo 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ê está procurando 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 deve ter correspondências de palavra-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 nos EUA,”pop”significa o mesmo que”refrigerante”.

Na pesquisa vetorial, você começa convertendo consultas e documentos em um vetor em alguma dimensão alta espaç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 pensado como 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, recuperar 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 vetor banco de dados é e como ele permite a construção de aplicativos de pesquisa vetorial de alto desempenho?

Um banco de dados vetorial armazena, indexa e gerencia esses embeddings (ou vetores). Os principais desafios que um banco de dados vetorial resolve são:

Construir um índice de pesquisa eficiente sobre vetores para responder a consultas de vizinhos mais próximosConstruir índices auxiliares eficientes e estruturas de dados para oferecer 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 reconstruí-lo

Suporte a atualizações eficientes e mantenha os dados e o índice de pesquisa atualizados, consistentes e durável 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 eficientemente com grandes quantidades de dados 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 pesquisa aproximada do vizinho mais próximo tenha sido pesquisada por décadas, acreditamos que ainda há muito a ser feito descoberto.

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

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

O espectro de casos de uso para bancos de dados vetoriais está crescendo a cada dia. Além de seu uso 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 ​​é 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.

By Kaitlynn Clay

Eu trabalho como especialista em UX. Estou interessado em web design e análise de comportamento do usuário. Nos meus dias de folga, sempre visito o museu de arte.