Interviews
Frank Liu, directeur des opérations chez Zilliz – Série d'interviews

Frank Liu est directeur des opérations chez Zilliz, l'un des principaux fournisseurs de bases de données vectorielles et de technologies d'IA. Ce sont également les ingénieurs et les scientifiques qui ont créé LF AI Milvus®, la base de données vectorielles open source la plus populaire au monde.
Qu'est-ce qui vous a initialement attiré vers l'apprentissage automatique ?
Ma première exposition à la puissance du ML/AI a eu lieu en tant qu'étudiant de premier cycle à Stanford, même si c'était un peu éloigné de ma spécialisation (génie électrique). J'ai d'abord été attiré par l'EE en tant que domaine parce que la capacité de distiller des systèmes électriques et physiques complexes en approximations mathématiques me semblait très puissante, et les statistiques et l'apprentissage automatique ressentaient la même chose. J'ai fini par suivre davantage de cours de vision par ordinateur et d'apprentissage automatique pendant mes études supérieures, et j'ai fini par rédiger mon mémoire de maîtrise sur l'utilisation du ML pour évaluer la beauté esthétique des images. Tout cela m’a conduit à mon premier emploi au sein de l’équipe Computer Vision & Machine Learning chez Yahoo, où j’occupais un rôle hybride de recherche et de développement de logiciels. À l'époque, nous étions encore à l'époque des pré-transformateurs AlexNet et VGG, et voir tout un domaine et une industrie évoluer si rapidement, de la préparation des données à la formation de modèles massivement parallèles en passant par la production de modèles, a été incroyable. À bien des égards, il semble un peu ridicule d'utiliser l'expression « à l'époque » pour désigner quelque chose qui s'est produit il y a moins de 10 ans, mais tels sont les progrès réalisés dans ce domaine.
Après Yahoo, j'ai été directeur technique d'une startup que j'ai cofondée, où nous avons exploité le ML pour la localisation en intérieur. Là , nous avons dû optimiser des modèles séquentiels pour de très petits microcontrôleurs - un défi d'ingénierie très différent mais néanmoins lié aux LLM massifs et aux modèles de diffusion d'aujourd'hui. Nous avons également construit du matériel, des tableaux de bord pour la visualisation et des applications cloud natives simples, mais l'IA/ML a toujours été un élément central du travail que nous faisions.
Même si je suis dans ou à côté de ML depuis presque 7 ou 8 ans maintenant, je garde toujours beaucoup d'amour pour la conception de circuits et la conception de logique numérique. Avoir une formation en génie électrique est, à bien des égards, incroyablement utile pour une grande partie du travail dans lequel je suis impliqué ces jours-ci également. De nombreux concepts importants de la conception numérique tels que la mémoire virtuelle, la prédiction de branche et l'exécution simultanée dans HDL aident à fournir une vue complète de la pile à de nombreux systèmes ML et distribués aujourd'hui. Bien que je comprenne l'attrait de CS, j'espère voir une résurgence dans des domaines d'ingénierie plus traditionnels - EE, MechE, ChemE, etc. - dans les deux prochaines années.
Pour les lecteurs qui ne connaissent pas le terme, qu’est-ce que les données non structurées ?
Les données non structurées font référence aux données « complexes », qui sont essentiellement des données qui ne peuvent pas être stockées dans un format prédéfini ou s'intégrer dans un modèle de données existant. À titre de comparaison, les données structurées font référence à tout type de données ayant une structure prédéfinie - les données numériques, les chaînes, les tables, les objets et les magasins clé/valeur sont tous des exemples de données structurées.
Pour aider à vraiment comprendre ce que sont les données non structurées et pourquoi il est traditionnellement difficile de traiter informatiquement ce type de données, il est utile de les comparer avec des données structurées. Dans les termes les plus simples, les données structurées traditionnelles peuvent être stockées via un modèle relationnel. Prenons, par exemple, une base de données relationnelle avec une table pour stocker des informations sur les livres : chaque ligne de la table pourrait représenter un livre particulier indexé par numéro ISBN, tandis que les colonnes indiqueraient la catégorie d'informations correspondante, telle que le titre, l'auteur, la date de publication. , etc., etc. De nos jours, il existe des modèles de données beaucoup plus flexibles - magasins à colonnes larges, bases de données d'objets, bases de données de graphes, etc. Mais l'idée générale reste la même : ces bases de données sont destinées à stocker des données qui correspondent à un moule de données ou à un modèle de données particulier.
Les données non structurées, en revanche, peuvent être considérées essentiellement comme un blob pseudo-aléatoire de données binaires. Il peut représenter n'importe quoi, être arbitrairement grand ou petit, et peut être transformé et lu de l'une des innombrables manières différentes. Cela rend impossible l'intégration dans un modèle de données, sans parler d'une table dans une base de données relationnelle.
Quels sont quelques exemples de ce type de données ?
Les données générées par l'homme - images, vidéo, audio, langage naturel, etc. - sont d'excellents exemples de données non structurées. Mais il existe également une variété d'exemples moins banals de données non structurées. Les profils d'utilisateurs, les structures protéiques, les séquences génomiques et même le code lisible par l'homme sont également d'excellents exemples de données non structurées. La principale raison pour laquelle les données non structurées ont traditionnellement été si difficiles à gérer est que les données non structurées peuvent prendre n'importe quelle forme et peuvent nécessiter des durées d'exécution très différentes pour être traitées.
En utilisant des images comme exemple, deux photos de la même scène peuvent avoir des valeurs de pixels très différentes, mais les deux ont un contenu global similaire. Le langage naturel est un autre exemple de données non structurées auquel j'aime me référer. Les expressions « Génie électrique » et « Informatique » sont extrêmement étroitement liées - à tel point que les bâtiments EE et CS de Stanford sont adjacents l'un à l'autre - mais sans moyen d'encoder la signification sémantique derrière ces deux expressions, un ordinateur peut pense naïvement que "l'informatique" et les "sciences sociales" sont plus liées.
Qu'est-ce qu'une base de données vectorielle ?
Pour comprendre une base de données vectorielles, il est d'abord utile de comprendre ce qu'est un plongement. J'y reviendrai dans un instant, mais la version courte est qu'une intégration est un vecteur de grande dimension qui peut représenter la sémantique de données non structurées. En général, deux plongements proches l'un de l'autre en termes de distance correspondent très probablement à des données d'entrée sémantiquement similaires. Avec le ML moderne, nous avons le pouvoir d'encoder et de transformer une variété de différents types de données non structurées - des images et du texte, par exemple - en vecteurs d'intégration sémantiquement puissants.
Du point de vue d'une organisation, les données non structurées deviennent incroyablement difficiles à gérer une fois que la quantité dépasse une certaine limite. C'est là qu'une base de données vectorielles telle que Nuage de Zilliz Une base de données vectorielle est spécialement conçue pour stocker, indexer et rechercher dans d'énormes quantités de données non structurées en exploitant les incorporations comme représentation sous-jacente. La recherche dans une base de données vectorielle est généralement effectuée avec des vecteurs de requête, et le résultat de la requête est le top N des résultats les plus similaires en fonction de la distance.
Les meilleures bases de données vectorielles possèdent de nombreuses fonctionnalités d'utilisation des bases de données relationnelles traditionnelles : la mise à l'échelle horizontale, la mise en cache, la réplication, le basculement et l'exécution de requêtes ne sont que quelques-unes des nombreuses fonctionnalités qu'une véritable base de données vectorielle doit implémenter. En tant que définisseurs de catégories, nous avons également été actifs dans les cercles universitaires, ayant publié des articles dans SIG MOD 2021 ou VLDB 2022, les deux meilleures conférences sur les bases de données aujourd'hui.
Pourriez-vous nous expliquer ce qu'est une intégration ?
D'une manière générale, un encastrement est un vecteur de grande dimension qui provient des activations d'une couche intermédiaire dans un réseau de neurones multicouche. De nombreux réseaux de neurones sont formés pour produire eux-mêmes des intégrations et certaines applications utilisent des vecteurs concaténés à partir de plusieurs couches intermédiaires comme intégration, mais je n'approfondirai pas l'un ou l'autre pour le moment. Un autre moyen moins courant mais tout aussi important de générer des incorporations consiste à utiliser des fonctionnalités artisanales. Plutôt que de faire en sorte qu'un modèle ML apprenne automatiquement les bonnes représentations pour les données d'entrée, la bonne vieille ingénierie des fonctionnalités peut également fonctionner pour de nombreuses applications. Quelle que soit la méthode sous-jacente, les intégrations d'objets sémantiquement similaires sont proches les unes des autres en termes de distance, et cette propriété est ce qui alimente les bases de données vectorielles.
Quels sont les cas d'utilisation les plus populaires de cette technologie ?
Les bases de données vectorielles sont idéales pour toute application qui nécessite une forme de recherche sémantique - la recommandation de produits, l'analyse vidéo, la recherche de documents, la détection des menaces et des fraudes et les chatbots alimentés par l'IA sont parmi les cas d'utilisation les plus populaires pour les bases de données vectorielles aujourd'hui. Pour illustrer cela, Milvus, la base de données vectorielle open source créée par Zilliz et le noyau sous-jacent de Zilliz Cloud, a été utilisée par plus d'un millier d'utilisateurs d'entreprise dans une variété de cas d'utilisation différents.
Je suis toujours heureux de discuter de ces applications et d'aider les gens à comprendre leur fonctionnement, mais j'aime aussi beaucoup passer en revue certains des cas d'utilisation de bases de données vectorielles moins connus. La découverte de nouveaux médicaments est l'un de mes cas d'utilisation préférés de bases de données vectorielles «de niche». Le défi pour cette application particulière est de rechercher des médicaments candidats potentiels pour traiter une certaine maladie ou symptôme parmi une base de données de 800 millions de composés. Une société pharmaceutique avec laquelle nous avons communiqué a pu améliorer considérablement le processus de découverte de médicaments en plus de réduire les ressources matérielles en combinant Milvus avec une bibliothèque de chemininformatique appelée RDKit.
Musée d'art de Cleveland (CMA) IA ArtLens est un autre exemple que j'aime évoquer. AI ArtLens est un outil interactif qui prend une image de requête en entrée et extrait des images visuellement similaires de la base de données du musée. Ceci est généralement appelé recherche d'image inversée et est un cas d'utilisation assez courant pour les bases de données vectorielles, mais la proposition de valeur unique que Milvus a fournie à CMA était la possibilité de mettre l'application en service en une semaine avec une très petite équipe.
Pourriez-vous discuter de ce qu'est la plate-forme open source Towhee ?
Lors de la communication avec des membres de la communauté Milvus, nous avons constaté que beaucoup d'entre eux souhaitaient disposer d'un moyen unifié de générer des incorporations pour Milvus. Cela était vrai pour presque toutes les différentes organisations avec lesquelles nous avons parlé, mais surtout pour les entreprises qui n'avaient pas beaucoup d'ingénieurs en apprentissage automatique. Avec Towhee, nous visons à combler cette lacune via ce que nous appelons « ETL de données vectorielles ». Alors que les pipelines ETL traditionnels se concentrent sur la combinaison et la transformation de données structurées provenant de plusieurs sources en un format utilisable, Towhee est conçu pour fonctionner avec des données non structurées et inclut explicitement ML dans le pipeline ETL résultant. Towhee accomplit cela en fournissant des centaines de modèles, d'algorithmes et de transformations qui peuvent être utilisés comme blocs de construction dans un pipeline ETL de données vectorielles. En plus de cela, Towhee fournit également une API Python facile à utiliser qui permet aux développeurs de créer et de tester ces pipelines ETL en une seule ligne de code.
Bien que Towhee soit son propre projet indépendant, il fait également partie de l'écosystème plus large de bases de données vectorielles centré autour de Milvus que Zilliz est en train de créer. Nous envisageons Milvus et Towhee comme deux projets hautement complémentaires qui, lorsqu'ils sont utilisés ensemble, peuvent vraiment démocratiser le traitement des données non structurées.
Zilliz récemment a levé un tour de série B de 60 millions de dollars. Comment cela va-t-il accélérer la mission Zilliz ?
Je voudrais tout d'abord remercier Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital et d'autres pour avoir cru en la mission de Zilliz et nous avoir soutenus avec cette extension de série B. Nous avons maintenant levé un total de 113 millions de dollars, et cette dernière ronde de financement soutiendra nos efforts pour développer nos équipes d'ingénierie et de mise sur le marché. En particulier, nous améliorerons notre offre de cloud géré, qui est actuellement en accès anticipé mais qui devrait être ouverte à tous plus tard cette année. Nous continuerons également à investir dans la recherche de pointe sur les bases de données et l'IA, comme nous l'avons fait au cours des 4 dernières années.
Y a-t-il autre chose que vous aimeriez partager Ă propos de Zilliz ?
En tant qu'entreprise, nous nous développons rapidement, mais ce qui distingue vraiment notre équipe actuelle des autres dans le domaine des bases de données et du ML, c'est notre passion singulière pour ce que nous construisons. Nous avons pour mission de démocratiser le traitement des données non structurées, et c'est absolument incroyable de voir autant de personnes talentueuses chez Zilliz travailler vers un objectif unique. Si quelque chose que nous faisons vous semble intéressant, n'hésitez pas à entrer en contact avec nous. Nous aimerions vous avoir à bord.
Si vous souhaitez en savoir un peu plus, je suis également personnellement ouvert à discuter de Zilliz, des bases de données vectorielles ou des avancées liées à l'intégration dans AI/ML. Ma porte (figurative) est toujours ouverte, alors n'hésitez pas à me contacter directement sur Twitter/LinkedIn.
Enfin, merci d'avoir lu !
Merci pour cette excellente interview, les lecteurs qui souhaitent en savoir plus devraient visiter Zilliz.