Le « learning machine » est un algorithme d’apprentissage qui permet à une machine d’apprendre la relation qui existe entre un ensemble de données et un résultat.
Typiquement c’est le genre de calcul qui pourrait être pris en compte par une machine quantique, à condition que celle-ci finisse par voir le jour, celle-ci ayant été conçue pour faire correspondre une multitude de données à une seule valeur de résultat.
En attendant, pour faire progresser le « learning machine », il faut bien nous contenter de ce que nous avons, à savoir des processeurs classiques, à qui nous demanderons seulement d’être infiniment plus puissants que par le passé.

3 candidats pour le « leardership »

Il y a en 2016, 3 candidats qui se battent pour s’accaparer le marché, le TPU (Tensor Processing Unit) de Google, les GPU de Nvidia et depuis peu, le dernier modèle Intel Xeon Phi, baptisé « Knights Landing ».

Le TPU de Google, qui a été annoncé récemment, n’est pas un processeur comme les autres. C’est un accélérateur de performances, conçu pour améliorer les performances des systèmes dédiés au concept de learning machine, que l’on est susceptible de trouver dans de nombreuses applications. Car l’apprentissage n’est pas une finalité. Bien au contraire, il s’agit d’une fonctionnalité que l’on va  retrouver dans un grand nombre de domaines très différents, depuis le BI sur de gros volumes de données, jusqu’à la synthèse vocale, en passant par l’apprentissage des réseaux neuronaux, l’analyse faciale, la traduction automatique, voire des applications météo ou d’interprétation sismique pétrolière.

Le « Tensor Processing Unit » de Google est un accélérateur de traitements d’apprentissage. Il vient en complément de processeurs traditionnels et se comporte comme un coprocesseur.

C’est cela que vise Google, qui cherche à fournir des services dans tous ces domaines, avec une palette qui sera d’autant plus diversifiée qu’il sera capable d’effectuer les traitements spécifiques « learning machine », à très grande vitesse.

Pour l’instant, au-delà du fait que l’on sait que le Google TPU est déjà utilisé depuis un an en interne , on n’en sait pas beaucoup plus et il faudra être un peu patient pour comprendre comment ce processeur s’intègre dans la gamme des chips grande puissance, qui le fabrique et quelles sont ses caractéristiques techniques.

La gamme Tesla de NVidia est dérivée des coprocesseurs graphiques de NVidia. Elle est déjà largement exploitée sur le marché.

Les GPU de Nvidia sont beaucoup moins surprenants. Il s’agit de processeurs graphiques adaptés au monde du « learning machine », une gamme GPU TESLA déjà utilisée par Facebook, mais aussi par IBM dans des contextes d’analyse et d’apprentissage à très hauts volumes. IBM les exploiterait dans son mythique Watson, moteur cognitif capable de s’adapter à des contextes d’analyse très différents…et spectaculaires.

Quant à Intel, il ne pouvait évidemment pas laisser le champ libre à ses concurrents.

Ses Xeon Phi « Knights Landing » peuvent recevoir jusqu’à 72 cœurs et sont considérés autant comme des processeurs de calcul traditionnel que des coprocesseurs, chargés d’accélérer un certain type de traitement. Comme peut l’être le TPU de Google.

C’est d’ailleurs ce point qu’il met en avant, car le fondeur considère que ce n’est pas une bonne chose de déléguer une partie des traitements à un GPU ou à un processeur graphique externe et qu’il vaut mieux assumer ce travail dans le même processeur. Point de vue que conteste surtout NVidia et seuls des benchmarks précis permettront de dire qui a raison et qui a tort, en admettant qu’il n’y ait qu’une seule vérité, ce qui est rarement le cas dans le monde scientifique.

Pour ce qui est des transferts de données entre processeurs, Intel insiste aussi beaucoup sur sa matrice d’interconnexion OmniPath, très efficace, qu’il juge essentielle pour atteindre des performances de haut niveau.

En termes de logiciels, Intel a misé sur un package Open Source Caffe, écrit en Python et développé à Berkeley par Yangqing Jia, spécialisé dans le « learning machine » et les réseaux neuronaux, mais il annonce également être en mesure d’exécuter le logiciel TensorFlow de Google, également versé en Open Source.

les Xeon Phi d’Intel, alias « Knights Landing » embarquent tout ce dont a besoin une application de « learnign machine » sans faire appel à un coprocesseur graphique ou accélérateur d’applications. Il se suffit à lui-même.
La porte ouverte au « deep learning »

Ces différents processeurs et plates-formes de développement s’inscrivent dans une perspective qui dépasse le « learning machine », à savoir le « deep learning » ou apprentissage profond, dont le « leaarning machine » peut être considéré comme l’une des extensions les plus importantes.

Le « deep learning » est un système d’apprentissage et de classification, fondé sur la théorie des « réseaux neuronaux artificiels » numériques, d’ores et déjà utilisé par Apple dans Siri, par Google Now et Cortana de Microsoft, pour comprendre la voix et l’interpréter. Mais pas seulement, car le « deep learning » permet aussi par apprentissage à une application de reconnaître le contenu d’une image ou de comprendre le langage parlé, à des fins de traduction, par exemple.

Comme l’explique l’un des papes de la technologie, Yann LeCun de Facebook, le « deep learning » apprend « à représenter le monde » et ses différentes manifestations, pour en retirer une information pertinente, histoire de la répertorier et de la classer.

Ces différentes technologies, « deep learning » et « learning machine », sont essentielles pour bien aborder les applications futures. Elles posent un problème d’algorithmique peu évident, autant que la mise au point de moyens de calculs adaptés, que les initiatives de Google, Intel et NVidia, contribuent à résoudre.

LeMarson leur consacrera très prochainement l’un de ses observatoires.