La période de Covid-19 a été l’occasion de prendre du temps pour ouvrir ses chakras à des sujets nouveaux ou des marottes anciennes reléguées dans les oubliettes. Ayant été joueur d’échecs dans ma prime et primesautière jeunesse j’ai été étonné d’observer le championnat du monde des ordinateurs et le grand vainqueur de cette année, le programme Lc0. Je vous dis pourquoi et les réflexions que cela m’inspire sur la transformation numérique de notre monde.

Intelligence Artificielle, Opensource et Collaboratif : les clés du monde de demain, dès aujourd’hui ?

En décembre 2017 j’avais été stupéfait comme beaucoup de rares amateurs d’échecs électroniques par la performance de AlphaZero, un programme construit par Deepmind la filiale de Google en charge d’intelligence artificielle. Et d’ailleurs mon associé Christian Semé dans son article de vœux 2018 avait rappelé cet épisode important (premier chapitre de l’article). Rappelons brièvement pourquoi cela était une révolution il y a, déjà, 2 ans et demi.

DeepMind

DeepMind

Une histoire contrastée mélange d’évolutions et de surplace

Les premiers programmes d’échecs datent de 1951. Et dès les années 1950, des scientifiques avaient pronostiqué la défaite du meilleur joueur humain contre la machine pour le début des années 1970. Ce pronostic s’est avéré faux puisque, malgré l’évolution rapide des technologies, le hardware avec la loi de Moore, et le software avec les progrès des algorithmes et des langages de programmation, ce n’est qu’en 1997 que le champion du monde d’échecs Garry Kasparov perdit son titre contre un ordinateur (DeepBlue d’IBM). Malgré quelques progrès sur les algorithmes, la technique de programmation est globalement restée la même de 1951 jusqu’à 2017, soit presque 70 ans ! Le numérique est en évolution permanente, certes, mais les innovations de rupture semblent être sur un rythme tout autre. Pendant 70 ans et ce n’est pas fini, les algorithmes d’échecs ont consisté à prévoir chaque coup et analyser la position résultante pour lui donner une note (par exemple entre -100 et +100) : un nombre négatif signifiant « position avantageuse pour les noirs », et un nombre positif signifiant « position avantageuse pour les blancs ». Puis le programme classe tous les coups, puis ensuite prévoit le coup d’après, puis le coup d’après après, … ce qui aboutit à une espèce d’arbre de coups et pour chaque nœud de l’arbre une note qui correspond à l’évaluation de la position résultante. Les principaux progrès algorithmiques consistaient à éviter de réévaluer des branches de l’arbre irrémédiablement mauvaises et/ou de détecter des branches qui se rejoignent après une suite de coups différents. Dans cette méthode de programmation, ce qui fait la grande différence c’est la fonction d’évaluation. Au début, en 1951 par exemple, ces fonctions d’évaluation étaient j’imagine très très basiques (grosso modo : si j’ai une pièce en plus j’ai une position meilleure, si j’ai une pièce en moins j’ai une position moins bonne), puis ensuite un peu plus « subtiles » : la dame vaut 9, le cavalier vaut 5, … Au cours des années 70-80-90 des collaborations se sont montées entre des grands maîtres d’échecs et des développeurs pour programmer des fonctions d’évaluation qui s’inspiraient au mieux des analyses de position des meilleurs joueurs humains. Jusqu’à battre le champion du monde en 1997 puis à dépasser les joueurs humains, non pas parce que ces programmes évaluaient mieux les positions que les joueurs humains (ils ne pouvaient que s’en approcher) mais simplement parce qu’ils calculaient plus de coups à l’avance du fait de leur puissance de calcul phénoménale. A titre d’exemple le meilleur programme actuel basé sur cette technique – Stockfish – évalue près de cent millions de coups par secondes ! (des millions de fois plus que les joueurs humains). A noter précision importante, que Stockfish est un programme totalement gratuit, opensource sous licence GPLv3 qui tourne sur n’importe quel PC, smartphone. On est loin du Deep Blue de 1996 qui tournait sur un supercalculateur. Ce type d’algorithme s’appelle maintenant les programmes « conventionnels », c’est à dire qu’ils n’ont fait qu’améliorer de manière continue des algorithmes pensés il y a 70 ans par des mathématiciens prestigieux comme Alan Turing et Claude Shannon.

Stockfish, le meilleur programme "conventionnel" d'échecs

Le logo de Stockfish, le meilleur programme « conventionnel » d’échecs

Et en 2017, une innovation de rupture, 70 ans d’obstination volent en éclat

En décembre 2017, c’est la sidération… DeepMind filiale de Google annonce que son programme AlphaZéro a battu à plates coutures Stockfish dans un match de 100 parties : aucune défaite. Et plus incroyable encore, le Zéro de AlphaZéro signifie que le programme de Google n’a eu besoin d’aucune intelligence pour apprendre à bien jouer. On lui a juste donné les règles du jeu et ensuite il a joué des millions de parties en autonomie contre lui-même et a tiré expérience de ces millions de parties pour apprendre à bien jouer. Cet apprentissage s’est fait en quelques heures (9h pour le match contre Stockfish). En 2h d’auto-apprentissage en partant de zéro, AlphaZéro avait fait mieux que 1 000 ans de progrès humain sur le jeu d’échecs et mieux que 70 ans de recherche en informatique, algorithmique, et de collaboration avec les meilleurs grands maîtres d’échecs !

L'accélération du temps

L’accéleration du temps : 1000 ; 70; 1

La technique utilisée par Deepmind est une technique d’intelligence artificielle appelée Réseaux neuronaux convolutifs. C’est une technologie d’intelligence artificielle comme il en existe bien d’autres. Je serais bien incapable de vous l’expliquer mais retenez que ces technologies sont accessibles facilement, en tout cas pour des initiés, sous forme de services packagés appelables sur des plateformes comme Google, Amazon ou Azure. Restait quand même une petite ombre au tableau. Google n’avait pas communiqué, et ne l’a toujours pas fait d’ailleurs, sur la puissance de calcul qui avait été utilisée pour les 9h d’auto-apprentissage ni, me semble t-il, très clairement communiqué sur la puissance du hardware qui animait AlphaZéro pendant le match notamment car il s’agissait de microprocesseurs dédiés au calcul neuronal (Tensor Processing Unit). Cependant un an plus tard, en décembre 2018, Google publie dans Science un article détaillé sur les modalités de fonctionnement de AlphaZero. J’ai parcouru l’article rapidement à l’époque, sans rien comprendre bien sûr, et je me suis dit que Google n’avait probablement pas dit grand chose dans cet article. Je me trompais semble-t-il.

2 ans plus tard, en confinement Covid-19…

Au début du confinement je découvre que Stockfish vient de se faire battre, encore ! le pauvre ! par un nouveau programme Lc0 (Leela Chess Zéro)

Logo de Lc0

inspiré de l’article sur AlphaZéro, mais cette fois développé par une communauté de développeurs Opensource, il s’agit d’un programme gratuit sous licence GPLv3 que n’importe qui peut installer sur son poste de travail. A peine 1 an après la parution de l’article sur AlphaZéro, une communauté de développeurs travaillant en mode collaboratif avec des technologies accessibles à tous a réussi à faire un programme gratuit qui réussit à faire aussi bien (ou plutôt presque aussi bien) que Alpha Zéro puisqu’il a lui aussi battu la dernière version de Stockfish dans deux tournois mondiaux au début du confinement !

Les nouveaux territoires de l’Intelligence Artificielle

Ce que j’en retire c’est que les nouvelles technologies de l’Intelligence Artificielle et du Big Data offrent des possibilités insoupçonnées et qu’il faut absolument, sur tout projet, sur tout objectif d’amélioration ou de transformation, ne pas hésiter à étudier et à mettre en oeuvre des prototypes, des POC utilisant ces technologies d’IA. Ces technologies sont disruptives et maintenant facilement accessibles à toutes les communautés de développeurs voire à des consultants en stratégie et transformation, c’est dire ! et à des coûts abordables, à tout le moins ajustables à vos besoins. Elles ne peuvent sûrement pas tout faire, c’est peut-être compliqué de s’y retrouver, mais il ne faut pas faire l’économie de regarder ce qu’elles peuvent vous apporter.

Osez, observez, testez

Dans notre prochain Club du Grain Numérique 2020 je ne saurais dire quelles sont les start-ups 2020 qui utilisent ces technologies mais probablement toutes, au cœur ou en périphérie de leur offre de valeur. En tout cas il y en a une qui en a fait son cœur de cible : Datagenius, avec son offre AI-Compare, qui vous aide à trouver la technologie d’intelligence artificielle permettant de résoudre votre problème.

Je vous invite à vous inscrire à un ou plusieurs webinaires du club du grain numérique 2020 et à voter pour l’entrepreneur de l’année 2020.