Algorithme Open Source Microsoft qui donne à Bing une partie de son intelligence

Les moteurs de recherche d'aujourd'hui sont bien plus que des passeurs de mots stupides. Vous pouvez poser une question en disant: "Quelle est la hauteur de la tour à Paris?" - et ils vous diront que la tour Eiffel mesure 324 mètres, soit environ la même chose qu'un bâtiment de 81 étages. Ils peuvent le faire même si la question ne nomme jamais la tour.

comment font-ils ça? Comme tout le reste ces jours-ci, ils utilisent l'apprentissage automatique. Les algorithmes d’apprentissage automatique sont utilisés pour créer des vecteurs - essentiellement de longues listes de nombres - qui représentent en quelque sorte leurs données d’entrée, qu’il s’agisse de texte sur une page Web, d’images, de son ou de vidéos. Bing capture des milliards de ces vecteurs pour tous les types de supports qu’il indexe. Pour rechercher les vecteurs, Microsoft utilise un algorithme appelé SPTAG ("Space Partition Tree and Graph"). Une requête d'entrée est convertie en un vecteur et SPTAG est utilisé pour trouver rapidement des "voisins les plus proches approximatifs" (ANN), c'est-à-dire des vecteurs similaires à l'entrée.

Voici comment on peut répondre à la question de la Tour Eiffel (avec un peu d’agitation): "Quelle est la hauteur de la tour à Paris?" Ce seront des pages "proches" sur les tours, Paris et la hauteur des choses. Il est presque certain que de telles pages vont parler de la Tour Eiffel.

Microsoft a publié aujourd'hui l'algorithme SPTAG en tant que source ouverte à licence MIT sur GitHub. Ce code est éprouvé et de qualité production, utilisé pour répondre aux questions dans Bing. Les développeurs peuvent utiliser cet algorithme pour rechercher leurs propres ensembles de vecteurs et le faire rapidement: une seule machine peut gérer 250 millions de vecteurs et répondre à 1 000 requêtes par seconde. Il existe des exemples et des explications dans AI Lab de Microsoft et Azure disposera d'un service utilisant les mêmes algorithmes.

Le PDG de Microsoft, Satya Nadella, a exprimé à plusieurs reprises son souhait de "démocratiser l’intelligence artificielle" et de le rendre accessible à tous, en créant non seulement un outil centralisé et spécialisé qui requiert une expertise considérable, gamme de problèmes, peuvent utiliser dans le cadre de leur boîte à outils. La publication de SPTAG est un exemple de la manière dont Microsoft met ces mots en pratique. la combinaison d'un service Azure et d'une source ouverte signifie que les développeurs peuvent commencer avec le service plus contraint et facile à utiliser. À mesure que leur expertise ou leurs exigences deviennent plus complexes, ils peuvent utiliser SPTAG pour créer leurs propres services.