Ces dernières années, la parution d’annonces de recrutement dans la presse semblait indiquer que Google travaillait à la conception de sa propre puce. Mais jusqu'à aujourd'hui, rien n’avait permis de confirmer ces rumeurs. La puce appelée Tensor Processing Unit ou TPU, en référence au logiciel TensorFlow que le géant de la recherche utilise pour ses programmes d'apprentissage machine, est « capable d’accélérer le traitement d’une tâche spécifique, ce qui explique son nom », comme l’écrit dans un blog, l’ingénieur de Google, Norm Jouppi. Hier, lors de la conférence Google I/O qui se tient du 18 au 20 mai à Mountain View, le CEO Sundar Pichai a déclaré que la TPU fournissait de meilleures performances par watt que les puces existantes pour les tâches d'apprentissage machine. La puce Tensor Processing Unit n’est pas destinée à remplacer les processeurs et les GPU, mais elle peut accélérer les processus d'apprentissage machine sans consommer plus d'énergie.

L’apprentissage machine se généralise de plus en plus dans tous types d'applications, depuis la reconnaissance vocale jusqu’à la traduction et l'analyse de données. Une puce capable d’accélérer les charges de travail est essentielle. D’autant que l’effet de la loi de Moore est ralenti et que les gains en performance d’une génération de processeur à une autre se réduisent. L’usage d’accélérateurs pour exécuter des tâches clés est donc très important. Google affirme que les gains fournis par son unité de traitement font avancer la loi de Moore de trois générations, soit environ sept ans. La TPU est déjà utilisée en production sur le cloud de Google. Elle alimente aussi le système de tri de résultats RankBrain et les services de reconnaissance vocale de Google. Quand les développeurs paient pour utiliser le service de reconnaissance vocale de Google, ils utilisent les unités TPU. Lors d'une conférence de presse qui s’est déroulée pendant Google I/O, Urs Hölzle, vice-président senior de Google pour l'infrastructure technique, a déclaré que « la TPU peut accélérer les processus d'apprentissage machine, mais que certaines fonctions nécessitent encore des processeurs et des GPU ». Ajoutant que Google avait commencé à développer l’unité de traitement il y a deux ans environ.

Un TPU qui n'a pas vocation à être vendu par des tiers

À l'heure actuelle, Google utilise des milliers de processeurs de ce type. Ils peuvent être logés dans les mêmes slots que ceux qui servent à connecter les disques durs dans les racks des datacenters de Google, ce qui signifie que l'entreprise peut facilement en déployer davantage si nécessaire. Cependant, pour l’instant, Urs Hölzle dit que Google n’a pas besoin de mettre de Tensor Processing Unit dans chaque rack. Par ailleurs, ce que ne fera probablement pas Google, c’est de vendre son TPU sous forme de hardware autonome. Interrogée sur la question, Diane Greene, vice-présidente de Google chargée du cloud et de l’informatique d’entreprise, a déclaré que Google ne prévoyait pas de vendre son unité à d'autres. L’une des raisons de cette restriction est à chercher du côté du développement d'applications : les développeurs construisent de plus en plus d'applications uniquement dans le cloud, et ne veulent pas gérer les questions de configurations matérielles, de maintenance et de mises à jour. Mais il est possible aussi que Google ne veuille tout simplement pas offrir ses puces à ses concurrents, puces pour lesquelles le géant de la recherche a sans doute dépensé beaucoup de temps et d'argent.

Pour l’instant, il est difficile de dire pour quel usage le Tensor Processing Unit est le plus adapté. L’analyste Patrick Moorhead pense que la puce sera utilisée pour l'inférence, une des opérations d'apprentissage machine qui ne nécessite pas autant de flexibilité. C'est tout ce que Google a dévoilé sur le sujet. En particulier, le géant de la recherche n’a pas encore révélé le nom du fondeur qui produit le silicium pour son compte. Mais Urs Hölzle a indiqué que l’entreprise donnera plus de détails sur sa puce dans un document qui sera publié à l’automne prochain.