Entretiens

Frank Liu, Directeur des Opérations chez Zilliz – Série d’entretiens

mm
Ajouter Unite.AI à vos sources préférées sur Google

Frank Liu est le Directeur des Opérations chez Zilliz, un fournisseur leader de bases de données vectorielles et de technologies d’IA. Ils sont également les ingénieurs et les scientifiques qui ont créé LF AI Milvus®, la base de données vectorielle open-source la plus populaire au monde.

Qu’est-ce qui vous a initialement attiré vers l’apprentissage automatique ?

Ma première exposition au pouvoir de l’IA/ML a été en tant qu’étudiant en licence à Stanford, bien que cela soit un peu éloigné de ma spécialité (Génie électrique). J’ai été initialement attiré par le génie électrique 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 me semblaient similaires. J’ai fini par suivre plus de cours de vision par ordinateur et d’apprentissage automatique pendant mes études de master, et j’ai rédigé mon mémoire de master sur l’utilisation de l’apprentissage automatique pour évaluer la beauté esthétique des images. Tout cela a conduit à mon premier emploi dans l’équipe de vision par ordinateur et d’apprentissage automatique de Yahoo, où j’étais dans un rôle de recherche et de développement de logiciels hybride. Nous étions encore dans les jours précédant les transformateurs AlexNet et VGG, et voir un domaine et une industrie entière évoluer si rapidement, de la préparation des données à la formation de modèles massivement parallèles à la production de modèles, a été incroyable. De nhiều manières, cela semble un peu ridicule d’utiliser l’expression “à l’époque” pour faire référence à quelque chose qui s’est passé il y a moins de 10 ans, mais telle est la progression qui a été réalisée dans ce domaine.

Après Yahoo, j’ai occupé le poste de directeur technique d’une startup que j’ai co-fondée, où nous avons utilisé l’apprentissage automatique pour la localisation en intérieur. Là, nous devions 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 et aux modèles de diffusion d’aujourd’hui. Nous avons également conçu 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 essentiel du travail que nous faisions.

Bien que j’aie été dans l’apprentissage automatique ou à proximité pendant la majeure partie des 7 ou 8 dernières années, j’ai toujours un grand amour pour la conception de circuits et la logique numérique. Avoir une formation en génie électrique est, de nombreuses manières, incroyablement utile pour beaucoup du travail que je fais aujourd’hui. Des concepts importants de la conception numérique tels que la mémoire virtuelle, la prédiction de branchement et l’exécution concurrente en HDL aident à fournir une vue à 360 degrés de beaucoup d’apprentissage automatique et de systèmes distribués aujourd’hui. Alors que je comprends l’attrait de l’informatique, j’espère voir un regain d’intérêt pour des domaines d’ingénierie plus traditionnels – génie électrique, mécanique, chimique, etc. – dans les deux prochaines années.

Pour les lecteurs qui ne sont pas familiers avec le terme, qu’est-ce que les données non structurées ?

Les données non structurées font référence à des “données complexes”, qui sont essentiellement des données qui ne peuvent pas être stockées dans un format prédéfini ou s’adapter à un modèle de données existant. Pour comparaison, les données structurées font référence à tout type de données qui ont une structure prédéfinie – les données numériques, les chaînes de caractères, les tableaux, les objets et les magasins de clés/valeurs sont tous des exemples de données structurées.

Pour vraiment comprendre ce que sont les données non structurées et pourquoi il est traditionnellement difficile de les traiter de manière computationnelle, il aide de les comparer aux 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. Prenez, par exemple, une base de données relationnelle avec une table pour stocker des informations sur les livres : chaque ligne dans la table pourrait représenter un livre particulier indexé par numéro ISBN, tandis que les colonnes dénoteraient les catégories d’informations correspondantes, telles que le titre, l’auteur, la date de publication, etc. De nos jours, il existe des modèles de données beaucoup plus flexibles – les magasins de colonnes larges, les bases de données d’objets, les bases de données de graphes, etc. Mais l’idée générale reste la même : ces bases de données sont conçues pour stocker des données qui s’adaptent à un modèle de données particulier.

Les données non structurées, en revanche, peuvent être considérées comme un blob de données binaires pseudo-aléatoire. Elles peuvent représenter n’importe quoi, être arbitrairement grandes ou petites et peuvent être transformées et lues de manière différente. Cela les rend impossibles à adapter à un modèle de données, à plus forte raison à 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 – les images, les vidéos, les audio, le langage naturel, etc. – sont d’excellents exemples de données non structurées. Mais il existe également de nombreux exemples moins ordinaires de données non structurées. Les profils d’utilisateurs, les structures de protéines, les séquences de génomes 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 qu’elles peuvent prendre n’importe quelle forme et peuvent nécessiter des temps d’exécution très différents pour les traiter.

En utilisant les images comme exemple, deux photos de la même scène pourraient avoir des valeurs de pixels très différentes, mais les deux ont un contenu général similaire. Le langage naturel est un autre exemple de données non structurées que j’aime citer. Les phrases “Génie électrique” et “Informatique” sont extrêmement liées – à tel point que les bâtiments de génie électrique et d’informatique de Stanford sont adjacents – mais sans moyen de coder la signification sémantique derrière ces deux phrases, un ordinateur pourrait naïvement penser que “Informatique” et “Science sociale” sont plus liées.

Qu’est-ce qu’une base de données vectorielle ?

Pour comprendre une base de données vectorielle, il faut d’abord comprendre ce qu’est une représentation. Je vais y revenir dans un instant, mais la version courte est qu’une représentation est un vecteur à haute dimension qui peut représenter la sémantique des données non structurées. En général, deux représentations qui sont proches les unes des autres en termes de distance sont très susceptibles de correspondre à des données d’entrée sémantiquement similaires. Avec l’apprentissage automatique moderne, nous avons le pouvoir d’encoder et de transformer divers types de données non structurées – les images et le texte, par exemple – en représentations vectorielles sémantiquement puissantes.

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’intervient une base de données vectorielle telle que Zilliz Cloud. Une base de données vectorielle est conçue pour stocker, indexer et rechercher à travers d’énormes quantités de données non structurées en exploitant les représentations 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 ont de nombreuses fonctionnalités d’usabilité 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ête sont autant de fonctionnalités que une véritable base de données vectorielle devrait mettre en œuvre. En tant que définition de catégorie, nous avons été actifs dans les cercles universitaires, ayant publié des articles dans SIGMOD 2021 et VLDB 2022, les deux meilleures conférences de bases de données au monde aujourd’hui.

Pouvez-vous discuter de ce qu’est une représentation ?

En général, une représentation est un vecteur à haute dimension qui provient des activations d’une couche intermédiaire dans un réseau neuronal multilayer. De nombreux réseaux neuronaux sont formés pour produire des représentations eux-mêmes et certaines applications utilisent des vecteurs concaténés de plusieurs couches intermédiaires comme représentation, mais je n’irai pas trop loin dans ces détails pour l’instant. Une autre méthode moins courante mais tout aussi importante pour générer des représentations est via des fonctionnalités conçues à la main. Plutôt que de laisser un modèle d’apprentissage automatique apprendre automatiquement les bonnes représentations pour les données d’entrée, une bonne ingénierie de fonctionnalités peut fonctionner pour de nombreuses applications. Quelle que soit la méthode sous-jacente, les représentations pour des objets sémantiquement similaires sont proches les unes des autres en termes de distance, et c’est cette propriété qui alimente les bases de données vectorielles.

Quels sont quelques-uns des cas d’utilisation les plus populaires avec cette technologie ?

Les bases de données vectorielles sont idéales pour toute application qui nécessite une certaine forme de recherche sémantique – la recommandation de produits, l’analyse de vidéos, la recherche de documents, la détection de menaces et de fraude et les chatbots alimentés par l’IA sont quelques-uns des 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 de mille utilisateurs d’entreprise à travers divers cas d’utilisation.

Je suis toujours heureux de discuter de ces applications et d’aider les gens à comprendre comment elles fonctionnent, mais j’apprécie vraiment de discuter de certains des cas d’utilisation moins connus des bases de données vectorielles. La découverte de nouveaux médicaments est l’un de mes cas d’utilisation préférés “de niche” pour les bases de données vectorielles. Le défi pour cette application particulière est de rechercher des candidats potentiels pour des médicaments 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, ainsi que réduire les ressources matérielles en combinant Milvus avec une bibliothèque de chimie informatique appelée RDKit.

Le AI ArtLens du Cleveland Museum of Art (CMA) est un autre exemple que j’aime citer. AI ArtLens est un outil interactif qui prend une image de requête comme entrée et extrait des images visuellement similaires de la base de données du musée. C’est généralement appelé recherche d’image inverse et c’est un cas d’utilisation assez courant pour les bases de données vectorielles, mais la valeur unique que Milvus a apportée au CMA était la capacité de mettre l’application en ligne en une semaine avec une équipe très petite.

Pouvez-vous discuter de la plate-forme open-source Towhee ?

Lorsque nous communiquons avec des personnes de la communauté Milvus, nous constatons que beaucoup d’entre elles veulent avoir une façon unifiée de générer des représentations pour Milvus. C’était vrai pour presque toutes les organisations que nous avons contactées, mais surtout pour les sociétés 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 de plusieurs sources en un format utilisable, Towhee est conçu pour fonctionner avec des données non structurées et inclut explicitement l’apprentissage automatique 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 outre, Towhee fournit également une API Python facile à utiliser qui permet aux développeurs de construire et de tester ces pipelines ETL en une seule ligne de code.

Alors que Towhee est son propre projet indépendant, il fait également partie de l’écosystème plus large de bases de données vectorielles centré sur Milvus que Zilliz crée. Nous imaginons Milvus et Towhee comme deux projets très complémentaires qui, lorsqu’ils sont utilisés ensemble, peuvent vraiment démocratiser le traitement de données non structurées.

Zilliz a récemment levé un tour de financement de série B de 60 millions de dollars. Comment cela va-t-il accélérer la mission de Zilliz ?

Tout d’abord, je tiens à remercier Prosperity7 Ventures, Pavilion Capital, Hillhouse Capital, 5Y Capital, Yunqi Capital et d’autres pour avoir cru en la mission de Zilliz et pour nous avoir soutenus avec cette extension de série B. Nous avons maintenant levé un total de 113 millions de dollars, et ce dernier tour de financement soutiendra nos efforts pour développer les équipes d’ingénierie et de commercialisation. En particulier, nous allons améliorer notre offre cloud gérée, qui est actuellement en accès anticipé mais prévue pour être ouverte à tous plus tard cette année. Nous allons également continuer à investir dans la recherche de pointe en bases de données et en IA, comme nous l’avons fait au cours des 4 dernières années.

Y a-t-il autre chose que vous aimeriez partager sur Zilliz ?

En tant qu’entreprise, nous grandissons rapidement, mais ce qui distingue vraiment notre équipe actuelle des autres dans l’espace des bases de données et de l’IA est notre passion singulière pour ce que nous construisons. Nous sommes sur une mission pour démocratiser le traitement de données non structurées, et c’est absolument incroyable de voir autant de talents chez Zilliz travailler vers un objectif commun. Si l’un de nos projets vous intéresse, n’hésitez pas à nous contacter. Nous adorerions vous avoir à bord.

Si vous souhaitez en savoir un peu plus, je suis également personnellement ouvert à discuter de Zilliz, de bases de données vectorielles ou de progrès liés aux représentations en IA/ML. Ma “porte” est toujours ouverte, alors n’hésitez pas à me contacter directement sur Twitter/LinkedIn.

Enfin, merci de lire !

Merci pour cette excellente interview, les lecteurs qui souhaitent en savoir plus peuvent visiter Zilliz.

Antoine est un leader visionnaire et associé fondateur d'Unite.AI, animé par une passion inébranlable pour façonner et promouvoir l'avenir de l'IA et de la robotique. Un entrepreneur en série, il croit que l'IA sera aussi perturbatrice pour la société que l'électricité, et se fait souvent prendre en train de vanter le potentiel des technologies perturbatrices et de l'AGI.

En tant que futuriste, il se consacre à explorer comment ces innovations vont façonner notre monde. En outre, il est le fondateur de Securities.io, une plateforme axée sur l'investissement dans les technologies de pointe qui redéfinissent l'avenir et remodelent des secteurs entiers.