Entrevistas

Frank Liu, Diretor de Operações da Zilliz – Série de Entrevistas

mm
Adicione Unite.AI às suas fontes preferidas no Google

Frank Liu é o Diretor de Operações da Zilliz, um provedor líder de tecnologias de banco de dados de vetores e IA. Eles também são os engenheiros e cientistas que criaram o LF AI Milvus®, o banco de dados de vetores de código aberto mais popular do mundo.

O que o atraiu inicialmente para a aprendizagem de máquina?

Minha primeira exposição ao poder da ML/IA foi como estudante de graduação em Stanford, apesar de ser um pouco fora do meu campo de estudo (Engenharia Elétrica). Eu fui inicialmente atraído para a EE como um campo porque a capacidade de distilar sistemas elétricos e físicos complexos em aproximações matemáticas me parecia muito poderosa, e estatísticas e aprendizagem de máquina me pareciam a mesma coisa. Eu acabei fazendo mais aulas de visão computacional e aprendizagem de máquina durante a pós-graduação, e eu acabei escrevendo minha tese de mestrado sobre o uso de ML para avaliar a beleza estética de imagens. Tudo isso me levou ao meu primeiro emprego no time de Visão Computacional e Aprendizagem de Máquina da Yahoo, onde eu estava em um papel híbrido de pesquisa e desenvolvimento de software. Nós ainda estávamos nos dias pré-transformers AlexNet e VGG naquela época, e ver um campo e indústria inteira se mover tão rapidamente, desde a preparação de dados até o treinamento de modelos massivamente paralelos e produção de modelos, tem sido incrível. De muitas maneiras, parece um pouco ridículo usar a frase “naquela época” para se referir a algo que aconteceu menos de 10 anos atrás, mas tal é o progresso que foi feito nesse campo.

Depois da Yahoo, eu atuei como CTO de uma startup que eu co-fundei, onde nós usamos ML para localização indoor. Lá, nós tivemos que otimizar modelos sequenciais para microcontroladores muito pequenos – um desafio de engenharia muito diferente, mas relacionado, em relação aos grandes LLMs e modelos de difusão de hoje. Nós também construímos hardware, dashboards para visualização e aplicações cloud-native simples, mas IA/ML sempre serviu como um componente central do trabalho que estávamos fazendo.

Embora eu tenha estado em ou próximo à ML por cerca de 7 ou 8 anos agora, eu ainda mantenho muito amor por design de circuitos e design de lógica digital. Ter um background em Engenharia Elétrica é, de muitas maneiras, incrivelmente útil para muito do trabalho que estou envolvido hoje em dia. Muitos conceitos importantes em design digital, como memória virtual, previsão de branch e execução concorrente em HDL, ajudam a fornecer uma visão completa de muitos ML e sistemas distribuídos de hoje. Embora eu entenda o apelo da CS, eu espero ver um ressurgimento em campos de engenharia mais tradicionais – EE, MechE, ChemE, etc… – nos próximos anos.

Para os leitores que não estão familiarizados com o termo, o que é dado não estruturado?

Dados não estruturados se referem a “dados complexos”, que são essencialmente dados que não podem ser armazenados em um formato pré-definido ou se encaixar em um modelo de dados existente. Para comparação, dados estruturados se referem a qualquer tipo de dado que tenha uma estrutura pré-definida – dados numéricos, strings, tabelas, objetos e armazenamentos de chave/valor são todos exemplos de dados estruturados.

Para realmente entender o que são dados não estruturados e por que eles tradicionalmente têm sido difíceis de processar computacionalmente, ajuda compará-los com dados estruturados. Em termos simples, dados estruturados tradicionais podem ser armazenados via um modelo relacional. Pegue, por exemplo, um banco de dados relacional com uma tabela para armazenar informações de livros: cada linha dentro da tabela poderia representar um livro particular indexado por número de ISBN, enquanto as colunas denotariam as categorias correspondentes de informações, como título, autor, data de publicação, e assim por diante. Hoje em dia, existem modelos de dados muito mais flexíveis – armazenamentos de colunas largas, bancos de dados de objetos, bancos de dados de grafos, e assim por diante. Mas a ideia geral permanece a mesma: esses bancos de dados são projetados para armazenar dados que se encaixam em um modelo de dados particular.

Dados não estruturados, por outro lado, podem ser pensados como essencialmente um bloco pseudo-aleatório de dados binários. Eles podem representar qualquer coisa, ser arbitrariamente grandes ou pequenos, e podem ser transformados e lidos de uma das inúmeras maneiras diferentes. Isso torna impossível encaixá-los em qualquer modelo de dados, muito menos em uma tabela em um banco de dados relacional.

Quais são alguns exemplos desse tipo de dado?

Dados gerados por humanos – imagens, vídeo, áudio, linguagem natural, etc. – são ótimos exemplos de dados não estruturados. Mas existem muitos outros exemplos menos comuns de dados não estruturados também. Perfis de usuário, estruturas de proteínas, sequências de genoma e até mesmo código legível por humanos são todos ótimos exemplos de dados não estruturados. A razão principal pela qual dados não estruturados tradicionalmente têm sido tão difíceis de gerenciar é que dados não estruturados podem ter qualquer forma e podem exigir tempos de execução muito diferentes para processamento.

Usando imagens como exemplo, duas fotos da mesma cena poderiam ter valores de pixel muito diferentes, mas ambas têm um conteúdo geral semelhante. A linguagem natural é outro exemplo de dado não estruturado que eu gosto de citar. As frases “Engenharia Elétrica” e “Ciência da Computação” estão extremamente relacionadas – tanto que os prédios de EE e CS em Stanford são adjacentes – mas sem uma maneira de codificar o significado semântico por trás dessas frases, um computador pode pensar ingenuamente que “Ciência da Computação” e “Ciência Social” são mais relacionadas.

O que é um banco de dados de vetores?

Para entender um banco de dados de vetores, primeiro ajuda entender o que é uma incorporação. Eu vou chegar a isso em um momento, mas a versão curta é que uma incorporação é um vetor de alta dimensão que pode representar a semântica de dados não estruturados. Em geral, duas incorporações que estão próximas uma da outra em termos de distância são muito prováveis de corresponder a dados de entrada semanticamente semelhantes. Com ML moderno, temos o poder de codificar e transformar uma variedade de diferentes tipos de dados não estruturados – imagens e texto, por exemplo – em vetores de incorporação semanticamente poderosos.

Do ponto de vista de uma organização, dados não estruturados se tornam incrivelmente difíceis de gerenciar uma vez que a quantidade ultrapassa um certo limite. É aqui que entra um banco de dados de vetores, como o Zilliz Cloud. Um banco de dados de vetores é projetado para armazenar, indexar e pesquisar grandes quantidades de dados não estruturados, aproveitando incorporações como a representação subjacente. A pesquisa em um banco de dados de vetores é tipicamente feita com vetores de consulta, e o resultado da consulta são os N resultados mais semelhantes com base na distância.

Os melhores bancos de dados de vetores têm muitas das funcionalidades de usabilidade de bancos de dados relacionais tradicionais: escalabilidade horizontal, cache, replicação, failover e execução de consulta são apenas algumas das muitas funcionalidades que um verdadeiro banco de dados de vetores deve implementar. Como um definidor de categoria, nós temos sido ativos em círculos acadêmicos, tendo publicado artigos em SIGMOD 2021 e VLDB 2022, as duas principais conferências de bancos de dados de hoje.

Poderia discutir o que é uma incorporação?

Em geral, uma incorporação é um vetor de alta dimensão que vem das ativações de uma camada intermediária em uma rede neural multilayer. Muitas redes neurais são treinadas para produzir incorporações elas mesmas, e algumas aplicações usam vetores concatenados de múltiplas camadas intermediárias como a incorporação, mas eu não vou me aprofundar nisso por agora. Outra maneira menos comum, mas igualmente importante, de gerar incorporações é por meio de recursos manualmente criados. Em vez de ter um modelo de ML que aprende automaticamente as representações certas para os dados de entrada, a boa e velha engenharia de recursos pode funcionar para muitas aplicações também. Independentemente do método subjacente, incorporações para objetos semanticamente semelhantes estão próximas uma da outra em termos de distância, e essa propriedade é o que alimenta os bancos de dados de vetores.

Quais são alguns dos casos de uso mais populares com essa tecnologia?

Bancos de dados de vetores são ótimos para qualquer aplicação que exija alguma forma de pesquisa semântica – recomendação de produtos, análise de vídeo, pesquisa de documentos, detecção de ameaças e fraude e chatbots alimentados por IA são alguns dos casos de uso mais populares para bancos de dados de vetores hoje. Para ilustrar isso, Milvus, o banco de dados de vetores de código aberto criado pela Zilliz e o núcleo subjacente do Zilliz Cloud, foi usado por mais de mil usuários empresariais em uma variedade de diferentes casos de uso.

Eu sempre estou feliz em conversar sobre essas aplicações e ajudar as pessoas a entender como elas funcionam, mas eu definitivamente gosto muito de falar sobre alguns dos casos de uso menos conhecidos de bancos de dados de vetores também. A descoberta de novos medicamentos é um dos meus casos de uso favoritos de “niche” de bancos de dados de vetores. O desafio para essa aplicação específica é procurar por candidatos potenciais a medicamentos para tratar uma certa doença ou sintoma em um banco de dados de 800 milhões de compostos. Uma empresa farmacêutica com a qual nos comunicamos foi capaz de melhorar significativamente o processo de descoberta de medicamentos, além de reduzir os recursos de hardware, combinando Milvus com uma biblioteca de quimioinformática chamada RDKit.

O AI ArtLens do Cleveland Museum of Art (CMA) é outro exemplo que eu gosto de citar. AI ArtLens é uma ferramenta interativa que pega uma imagem de consulta como entrada e puxa imagens visualmente semelhantes do banco de dados do museu. Isso é normalmente referido como pesquisa de imagem reversa e é um caso de uso bastante comum para bancos de dados de vetores, mas o valor único que Milvus forneceu ao CMA foi a capacidade de colocar a aplicação em funcionamento dentro de uma semana com uma equipe muito pequena.

Poderia discutir o que é a plataforma de código aberto Towhee?

Quando nos comunicamos com as pessoas da comunidade Milvus, nós descobrimos que muitas delas queriam ter uma maneira unificada de gerar incorporações para Milvus. Isso era verdade para quase todas as diferentes organizações com as quais nos comunicamos, mas especialmente para empresas que não tinham muitos engenheiros de ML. Com Towhee, nós visamos resolver essa lacuna por meio do que chamamos de “ETL de dados de vetores”. Enquanto pipelines de ETL tradicionais se concentram em combinar e transformar dados estruturados de múltiplas fontes em um formato útil, Towhee é projetado para trabalhar com dados não estruturados e inclui explicitamente ML no pipeline de ETL resultante. Towhee realiza isso fornecendo centenas de modelos, algoritmos e transformações que podem ser usados como blocos de construção em um pipeline de ETL de dados de vetores. Além disso, Towhee também fornece uma API Python fácil de usar que permite que os desenvolvedores construam e testem esses pipelines de ETL em uma única linha de código.

Embora Towhee seja seu próprio projeto independente, ele também é parte do ecossistema mais amplo de bancos de dados de vetores centrado em Milvus que a Zilliz está criando. Nós imaginamos Milvus e Towhee como dois projetos altamente complementares que, quando usados juntos, podem verdadeiramente democratizar o processamento de dados não estruturados.

A Zilliz recentemente arrecadou uma rodada de US$ 60 milhões em financiamento. Como isso acelerará a missão da Zilliz?

Eu gostaria de agradecer a Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital e outros por acreditar na missão da Zilliz e nos apoiar com essa extensão da rodada B. Nós agora arrecadamos um total de US$ 113 milhões, e essa última rodada de financiamento apoiará nossos esforços para expandir as equipes de engenharia e marketing. Em particular, nós vamos melhorar nossa oferta de nuvem gerenciada, que atualmente está em acesso antecipado, mas está programada para ser aberta a todos mais tarde este ano. Nós também continuaremos a investir em pesquisas de bancos de dados e IA de ponta, como fizemos nos últimos 4 anos.

Há algo mais que você gostaria de compartilhar sobre a Zilliz?

Como uma empresa, estamos crescendo rapidamente, mas o que realmente distingue nossa equipe atual de outras no espaço de bancos de dados e ML é nossa paixão singular pelo que estamos construindo. Estamos em uma missão para democratizar o processamento de dados não estruturados, e é absolutamente incrível ver tantas pessoas talentosas na Zilliz trabalhando em direção a um objetivo singular. Se algum de vocês estiver interessado, sinta-se à vontade para se comunicar conosco. Nós adoraríamos tê-los a bordo.

Se você gostaria de saber um pouco mais, eu também estou pessoalmente aberto a conversar sobre a Zilliz, bancos de dados de vetores ou avanços relacionados a incorporações em IA/ML. Minha (figurativa) porta está sempre aberta, então sinta-se à vontade para me contatar diretamente no Twitter/LinkedIn.

Por fim, mas não menos importante, obrigado por ler!

Obrigado pela ótima entrevista, leitores que desejam aprender mais devem visitar Zilliz.

Antoine é um líder visionário e sócio-fundador da Unite.AI, impulsionado por uma paixão inabalável por moldar e promover o futuro da IA e da robótica. Um empreendedor serial, ele acredita que a IA será tão disruptiva para a sociedade quanto a eletricidade, e é frequentemente pego falando sobre o potencial das tecnologias disruptivas e da AGI.

Como um futurista, ele está dedicado a explorar como essas inovações moldarão nosso mundo. Além disso, ele é o fundador da Securities.io, uma plataforma focada em investir em tecnologias de ponta que estão redefinindo o futuro e remodelando setores inteiros.