Fat Fritz – Kesako?

Par Paul Kohler
24/12/2019 – Fat Fritz est un clone d'AlphaZero développé en semi-secret depuis près d'une année par ChessBase. Testé par quelques-uns des meilleurs joueurs sur la planète, ceux-ci ont manifesté leur enchantement et donné quelques pistes pour encore améliorer le programme, qui est désormais publiquement accessible sur le cloud des machines de ChessBase, et compatible avec n'importe quel hardware. | Adaptation des explications données dans un article en anglais par ALBERT SILVER.

ChessBase 15 – le Mega-Paquet ChessBase 15 – le Mega-Paquet

Vous avez trouvez la combinaison gagnante! Le programme ChessBase 15 + la nouvelle Mega Database 2020 avec 8 millions de parties et plus de 80'000 analyses de Maîtres + le magazine Chessbase (avec DVD) et 1 an d'abonnement Premium à ChessBase.

Plus…

Genèse

Sans doute avez-vous entendu parler d'AlphaZero, ce programme développé par DeepMind en 2017. L'entreprise fondée par Demis Hassabis se concentre sur la recherche en intelligence artificielle (IA) et a été racheté par Google suite à ses récents succès. L'appareillage technologique d'AlphaZero frappe l'imagination:

  • 5'000 TPUs (unités de traitement de tenseur) qui permettent à la machine de jouer contre elle-même des dizaines de millions de parties;
  • 64 TPUs de deuxième génération pour entraîner le réseau neuronal.

Aucune connaissance échiquéenne externe n'a été implémentée dans le programme. Celui-ci est parti, comme son nom l'indique, de zéro et a développé ses propres connaissances sur la base des parties jouées contre lui-même. Et à quel rythme! Après seulement quatre heures, AlphaZero jouait déjà mieux que n'importe quel programme reposant sur la force brute!  

Demis est un ami de longue date de Frederic Friedel, le cofondateur de ChessBase. C'est ainsi que les deux compères échangèrent sur le projet AlphaZero, y compris sur les méthodes générant le programme.

L'homme au centre avec le T-shirt bleu s'appelle Thore Gräpel. Ce professeur en science informatique à l'Université de Londres est un des directeurs du projet de recherche chez Google DeepMind. Il est venu à Hambourg pour rendre visite à ChessBase et donner une conférence destinée à la demi-douzaine des programmeurs les plus doués de l'entreprise. C'est ainsi que celle-ci est désormais impliquée dans les projets en IA.

Woosh, notre nouveau compagnon

Fin septembre 2018, j'ai travaillé sur le programme appelé "Deus X", destiné à remettre en question l'idée selon laquelle implémenter les connaissances échiquéennes humaines en plus de celles acquises par l'ordinateur lui-même conduirait à de plus mauvais résultats que ceux obtenus en laissant faire la machine toute seule. En me basant sur le projet open-source Leela Chess, qui est une tentative de reproduire AlphaZero pour les PCs, j'ai entraîné un réseau de neurones en puisant dans la Mega Database et la Correspondence Database des millions de parties jouées par les meilleurs hommes, mais aussi des parties entre ordinateurs enregistrées sur les serveurs Playchess et CCRL-ratings-list. Et je n'ai pas rejeté non plus l'idée d'utiliser les parties jouées par la machine contre elle-même.

Mon but consistait simplement à démontrer que ces dernières n'étaient pas les seules ressources valables, et d'utiliser celles-ci à leur état mature pour étoffer les connaissances externes. Mais je manquais de ressources, et m'adressais alors à mon vieux camarade Frederic Friedel, qui manifesta un grand intérêt pour mon projet. Il demanda début octobre 2018 à son fils Tommy et à son neveu Noah de construire un ordinateur extrêmement puissant. Ceux-ci achetèrent un processeur 12 cœurs et deux cartes graphiques dernier cri, composées de milliers de GPUs (processeurs graphiques) et TPUs, destinés à l'origine à l'affichage 3D des jeux vidéos, et notamment aux effets du "lancer de rayons" (ray-tracing). Or il s'avère que ces processeurs se prêtent à merveille pour le développement des réseaux de neurones! 

Si cette machine avait existé au début de ce siècle, ç'aurait été l'ordinateur le plus puissant du monde!

Une fois le tout assemblé, Fred avait maintenant une machine IA vraiment très puissante bourdonnant dans son bureau. Bourdonnant? C'est que les nombreux ventilateurs nécessaires pour dissiper la chaleur générée par la consommation des 600W qui font tourner l'ordinateur sont assez bruyants. Mais il y a un effet collatéral positif: alors que le temps était frisquet durant cet automne à Hambourg, la pièce était agréablement chauffé, atteignant allègrement les 23°C sans que le chauffage centrale ne soit mis à contribution! En référence à son bruit de fond, la machine fut baptisée Woosh.  

Fred me donna la chance de télécharger sur cette machine les outils dont j'avais besoin pour réaliser un réseau neuronal destiné au jeu d'échecs. Je pouvais ensuite laisser la machine jouer contre elle-même 50'000 parties par jour en moyenne. De mon côté, je construisais une machine similaire, sur laquelle je téléchargeais les parties de Woosh pour que mon réseau neuronal apprenne d'elles, en plus des autres parties, comme mentionné plus haut.

Toutefois, malgré l'investissement humain et deux ordinateurs très puissants, mon projet, comparé à AlphaZero, était encore des milliers de fois moins puissant au niveau du hardware; et des centaines de fois par rapport à la communauté Leela Chess. Cependant, notre mélange hybride donna bientôt des résultats allant bien au-delà de nos espoirs les plus fous. Non seulement notre machine jouait à un niveau suprahumain, mais, plus important, sa manière de jouer développait un style encore inconnu: celui-ci ne reposait pas sur la force brute de la tactique, mais sur des idées positionnelles résultant de l'étude de millions de parties et de milliards de positions.

L'apprentissage hybride

Pour tester la force de jeu de notre machine, nous inscrivîmes une version préliminaire à un tournoi d'ordinateurs réputé à Leiden organisé par Jan Krabbenbos. Les meilleurs programmes d'ordinateur y participaient, mais aussi Jonny, un projet qui tourne sur un serveur universitaire équipé de 2'000 cœurs CPU. Jonny utilisait également un réseau neuronal hybride, et il avait battu Leela au championnat du monde. Aussi ne devait-il pas être sous-estimé.

Après quatre rondes, Jonny était en tête avec 100%, suivi par Deus X (le prototype de Fat Fritz) à un ½ point. Le match au sommet eu lieu à la cinquième ronde; un combat coriace duquel Deus X sorti victorieux avec les Noirs! Notre prototype remportera finalement le tournoi avec 6 points sur 7. Ce fut la première victoire d'un réseau de neurones dans un tournoi d'ordinateur. Les sept parties furent présentées à quelques amis GMs, qui s'extasièrent plus particulièrement sur une belle et créative attaque développée par Deus X:

[Event "Leiden 2018"] [Site "?"] [Date "2018.12.01"] [Round "2"] [White "Rofchade"] [Black "DeusX Leiden"] [Result "0-1"] [ECO "C54"] [Annotator "Albert Silver; FR: Paul Kohler"] [PlyCount "214"] [EventDate "2018.??.??"] {Après un contretemps technique lors de la première ronde, ce fut la première partie jouée avec le maximum de puissance de notre machine. Erdogan Gunes a préparé le répertoire d'ouverture.} 1. e4 {0} e5 {0.00/0 0} 2. Nf3 {11} Nc6 {0.00/0 0} 3. Bc4 {9} Bc5 {0.00/0 0} 4. c3 {9} Nf6 {0.00/0 0} 5. d3 {9} a5 {0.00/0 0} 6. O-O {8} d6 {0.00/0 0} 7. Bb3 {8} O-O {0.00/0 0} 8. Bg5 {114} h6 {0.00/0 0} 9. Bh4 {84} g5 {0.00/0 0} 10. Bg3 {149} g4 {0.00/0 0} 11. Nh4 {101} Nh5 {0.00/0 0} 12. Ng6 {522} Re8 {-0.18/18 76 Le réseau de neurones est maintenant hors répertoire.} 13. a4 {95 (Sh4)} Qg5 {-0.39/39 79} 14. Nh4 {310} Nxg3 {-0.29/29 1} 15. hxg3 {78} Ne7 {-0.29/29 0} 16. Na3 {68} Ng6 {-0.29/29 1} 17. Nxg6 {383 (d4)} Qxg6 {-0.64/64 77} 18. Nc2 {0} c6 {-0.62/62 1} 19. Qe2 {0 (Se3)} Kg7 {-1.16/ 116 98} 20. Qd2 {14 (Se3)} Ba7 {-0.94/94 103} 21. Ne3 {61} h5 {-0.86/86 1} 22. Rae1 {35} Be6 {-0.93/93 0} 23. Bxe6 {0} fxe6 {-0.99/99 0} 24. d4 {32 (f4) La position n'est pas claire, mais les Noirs aiment leur position. Comme les coups à venir vont le démontrer, Deus X augmente ostensiblement l'évaluation en sa faveur. [#]} Rh8 $3 {-1.42/142 72 Les Noirs se préparent à l'assaut du monarque adverse. Nos amis GMs vont tous complimenter à la fois la profondeur de l'idée et l'élégance de son exécution.} 25. dxe5 {77 (f4)} Raf8 $1 {-1.65/165 67 Les Noirs ne sont pas concernés par le matériel; ils jouent à nouveau le coup le plus agressif et le plus actif.} 26. Qxd6 {47 [#] Deux pions de moins, mais l'évaluation en faveur des Noirs ne cesse d'augmenter! C'est symptomatique de Deus X qui a appris à évaluer les positions en considérant ce qu'elles recèlent en terme de pourcentage de chance de victoire, plutôt que sur la base du poids matériel.} Rf7 {-1.83/183 0} 27. c4 {22} h4 $1 { -2.78/22 65 Que pense Deus X de la position? -2.78!} 28. c5 {13} Qh5 {-2.81/25 10} 29. Qxe6 {22} hxg3 {-2.86/30 0} 30. Qxg4+ {72} Qxg4 {-2.87/ 31 0} 31. Nxg4 {37} Bxc5 {-2.86/30 0} 32. Rc1 {134} (32. Ne3 {Si la tentative de déclouer le pion f2 n'empire pas la position des Blancs - de fait, ils sont déjà perdus! -, ça ne l'améliore pas non plus.} Kg6 33. e6 Rf4 34. e7 Re8 35. e5 Re4 36. Nd1 {Même en enlevant le Cavalier du rayon X mortel, la combinaison du Fou, ciblant et clouant f2, et du pion en g3 ne laisse aucun répit aux Blancs.} Rxa4 37. Re2 Rxe7 {Et si maintenant} 38. Rfe1 {les Blancs vont avoir un petit problème de menace de mat du couloir à résoudre:} Rh4 $1 {avec l'idée Reh7 et Rh1#!}) 32... Bd4 {-3.03/47 0} 33. Rc4 {32} c5 {-2.99/43 0} 34. Rc3 {39 Les Blancs n'ont plus beaucoup de choix. L'attente passive dans laisser passer l'orage est vouée à l'échec} ({Par exemple:} 34. Rc2 Rf4 $1 { et le Cavalier est perdu! Pas parce qu'il n'a aucune case où aller, mais parce que s'il bouge, il y a mat sur la colonne-h!} 35. Nf6 Rfh4 {et rien n'empêche plus le mat.}) 34... Bxc3 {-2.98/42 0} 35. bxc3 {106} gxf2+ {-2.94/38 0} 36. Nxf2 {11} Re8 {-2.93/37 0 Les Noirs simplifient et convertissent leur avantage avec une technique impeccable.} 37. Rb1 {65} Re6 {-2.91/35 1} 38. Rb5 {45 (Sg4)} b6 {-3.96/140 82} 39. Rb1 {63} Rf8 {-3.83/127 0} 40. Rb2 {39 (Tb3)} Kg8 {-3.69/113 95} 41. Rb1 { 39} Rg6 {-3.68/112 8} 42. Rb2 {11 (Sh3)} Re8 {-4.99/243 82} 43. Kh2 {41 (g4)} Rxe5 {-5.53/41 53} 44. g4 {10} Rf6 {-5.60/48 10} 45. Kg3 {15} c4 {-5.70/58 1} 46. Rb1 {37} Kf8 {-5.77/65 29} 47. Rd1 {41} Ke7 {-5.95/83 46} 48. Rd4 {32 (Td2) } Rc5 {-6.78/166 57} 49. e5 {38 (Td2)} Rxe5 {-9.00/132 73} 50. Ne4 {11} Rf1 { -9.13/145 13} 51. Nd6 {28} Re6 {-8.94/126 0} 52. Nf5+ {28} Kf6 {-8.80/112 0} 53. Rd8 {38} Ke5 {-8.82/114 0} 54. Nd4 {54 (Td4)} Ref6 {-10.37/13 71} 55. Re8+ {17} Kd6 {-10.07/239 28} 56. Nf5+ {92} Kd7 {-8.79/111 1} 57. Re4 {31 (Te7+)} Rc1 {-10.88/64 29} 58. Rxc4 {27} Rc6 {-10.44/20 2} 59. Rd4+ {29} Ke6 {-10.11/ 243 138} 60. Kf4 {27} R1xc3 {-9.85/217 1} 61. Re4+ {33} Kf7 {-9.91/223 41} 62. g5 {59} Rc1 {-10.75/51 0} 63. Kg4 {28} Rf1 {-10.90/66 1} 64. Rd4 {27} Ke6 { -13.52/72 40} 65. Ng3 {62} Rf2 {-13.15/35 1} 66. Rd3 {10 (Te4+)} Rc4+ {-18.12/ 20 67} 67. Kh5 {8} Rh2+ {-16.50/114 18} 68. Kg6 {10} Rxa4 {-16.05/69 9} 69. Rd1 {52 (Sf5)} Rg2 {-22.02/154 134} 70. Re1+ {11} Kd7 {-19.76/184 90} 71. Ne4 {30} Rc4 {-21.54/106 128} 72. Kf5 {10} a4 {-22.95/247 107} 73. g6 {10} a3 {-22.51/ 203 91} 74. Ra1 {30} Rxg6 {-29.16/100 81} 75. Kxg6 {103 (Txa3)} Rxe4 {-128.00/ 0 3} 76. Rxa3 {36} b5 {-279.95/91 0} 77. Kf5 {44} Rh4 {-279.96/92 0} 78. Ra6 { 20} b4 {-279.92/88 0} 79. Ke5 {14} Kc7 {-279.93/89 0} 80. Kd5 {62} b3 {-279.92/ 88 0} 81. Ra3 {46} Rb4 {-279.98/94 0} 82. Kc5 {9} b2 {-279.98/94 0} 83. Kxb4 { 13} b1=Q+ {-279.78/74 0} 84. Rb3 {21} Qe4+ {-279.79/75 0} 85. Kc3 {9} Kd6 { -279.80/76 0} 86. Kd2 {31} Kd5 {-279.81/77 0} 87. Re3 {20} Qf5 {-279.83/79 0} 88. Ke2 {21} Kd4 {-279.84/80 0} 89. Rg3 {8} Qe4+ {-279.85/81 0} 90. Kf2 {17} Qf4+ {-279.86/82 0} 91. Kg2 {8} Ke4 {-279.87/83 0} 92. Rh3 {11} Qg4+ {-279.90/ 86 0} 93. Kh2 {13} Kf4 {-279.93/89 0} 94. Rh6 {11} Ke3 {-279.94/90 0} 95. Rb6 { 9} Qg7 {-279.95/91 0} 96. Rb4 {11} Kf3 {-279.96/92 0} 97. Rb3+ {9} Kf2 { -279.97/93 0} 98. Kh3 {8} Qh6+ {-279.98/94 0} 99. Kg4 {10} Qe6+ {-279.99/95 0} 100. Kf4 {7} Qxb3 {-279.93/89 0} 101. Kf5 {11} Qe3 {-279.94/90 0} 102. Kf6 {11} Kf3 {-279.95/91 0} 103. Kf7 {8} Kf4 {-279.96/92 0} 104. Kf6 {7} Qe8 {-279.97/ 93 0} 105. Kg7 {6} Kf5 {-279.98/94 0} 106. Kh7 {6} Kf6 {-279.99/95 0} 107. Kh6 {8} Qg6# {-279.99/95 0} 0-1

Bien que ce résultat fut très encourageant, notre objectif principal n'était pas de réaliser une machine compétitive pour les tournois d'ordinateurs, mais de proposer un nouvel outil analytique que les joueurs pourraient utiliser pour réévaluer leurs ouvertures et les idées stratégiques qu'ils ont à disposition dans leurs parties. C'est pourquoi nous avons fait appel à une demi-douzaine de joueurs de classe mondiale, certains avoisinant les 2800 Elo, afin de connaître leur avis sur l'utilité du programme pour leur préparation. Sans exception leur réponse fut extrêmement positive, voire parfois exubérante! Tous voulaient maintenant un accès permanent au programme que nous avons installé sur le cloud des machines de ChessBase. Nous vous ferons part de leurs réactions et donnerons des exemples de leurs analyses dans des articles à venir. Signalons déjà qu'il est très intéressant de constater comment change, après une heure ou deux d'analyse avec le programme, l'évaluation des ouvertures et des positions qu'effectuent les joueurs de plus de 2700 Elo!

Vishy

La plupart des joueurs ayant testé le prototype vont certainement refuser que nous publions ce qu'ils ont découvert, ainsi que les coups et les positions qu'ils ont partagés avec nous. Certains veulent même que leur expérience avec Fat Fritz reste incognito! Heureusement, Vishy Anand fait exception. Qu'il en soit ici remercié!

La thématique du réseau neuronal fit surface lors d'une discussion amicale juste après que le quintuple champion du monde eut terminé une partie tendue. Nous lui avions donné un accès privé au prototype Fat Fritz, tournant sur la même machine que celle qui est maintenant publiquement accessible via le cloud de ChessBase. Son enthousiasme était sans éloquent:

Après deux jours de préparation pour les tournois et de parties jouées contre Fat Fritz, j'arrivais à la conclusion que je devais probablement revisiter tout mon répertoire avec lui! Ce fut des moments de pure bonheur que de pouvoir travailler grâce au cloud avec un outil aussi puissant avec mon laptop depuis n'importe où dans le monde! C'est vraiment très intéressant de travailler avec Fat Fritz!

Fat Fritz et le cloud des machines

Il y a plus d'un mois, sans en faire la publicité, nous avons installé sur le cloud de ChessBase le réseau de neurones auquel Anand fait allusion. Voici une brève description de Fat Fritz:

  • Fat Fritz est une machine dotée du type d'intelligence artificielle développée par AlphaZero. Elle a été entraînée par des milliards de positions provenant aussi bien de parties jouées par les humains, les ordinateurs et la machine contre elle-même, ainsi que par les tables des finales.

  • Hardware: sur le cloud de ChessBase, Fat Fritz tourne sur des ordinateurs équipés de deux GPUs dernier cri, le rendant des centaines de fois plus rapide que n'importe quel autre réseau de neurones évoluant sur des CPUs.

Vous pouvez désormais vous aussi tester Fat Fritz sur le cloud de ChessBase, et profiter ainsi d'une machine à distance extrêmement puissante comme si elle était installée sur votre propre ordinateur! Il suffit de passer par votre programme ChessBase. Le coût est de 30 Ducats à l'heure, soit 3€60.

Nous publierons prochainement un tutoriel complet pour ceux qui ne sont pas familiers avec la technologie du cloud. Mais rassurez-vous, son utilisation n'est pas compliquée, bien qu'extrêmement utile – comme le démontre l'usage quotidien qu'en font les meilleurs joueurs de la planète!

En résumé:
  • AlphaZero a été élaboré sur le concept de l'apprentissage à partir de rien d'autres que les seules règles du jeu. Les résultats obtenus à partir de cette prémisse sont fascinants, certes. Mais il n'y a aucune raison de croire que cette méthode ne puisse être valablement enrichie avec le matériel développé jusqu'ici.

  • Pour apprendre, Fat Fritz, notre projet en IA, n'utilise pas seulement les parties jouées par l'ordinateur contre lui-même, mais aussi des millions de parties de niveau maître tirées de la Mega Database, des millions d'autres parties jouées entre ordinateurs, et même les tables des finales. Le résultat apparaît plus compréhensif et équilibré que celui obtenu par l'approche "zéro".

  • En utilisant que les millions de parties que Fat Fritz a joué contre lui-même, le programme aurait invariablement favorisé ses ouvertures préférées. Aussi celles qu'il ne considère pas comme pertinentes n'auraient reçu qu'une analyse superficielle. En ajoutant les parties qui se jouent entre hommes à haut niveau, le programme est amené à considérer et à réévaluer des ouvertures qu'il n'aimait pas à l'origine. Peut-être restera-t-il dubitatif envers certaines, mais au moins il en produira une étude exhaustive.

  • Le hardware qu'utilise Fat Fritz sur le cloud est crucial. Faire tourner le réseau de neurones sur un CPU ne fournira qu'une faible fraction de son pouvoir véritable. Grâce aux deux GPUs les plus rapides du moment mis à disposition sur le cloud, vous allez faire une expérience incomparable qui vous coûterait autrement des milliers d'€uros.

  • Lorsque vous utilisez Fat Fritz ne vous étonnez pas du petit nombre de nœuds par seconde affiché par le programme. En effet, alors que la fonction d'évaluation d'un programme basé sur la force brute exécute quelques milliers d'algorithmes positionnels, Fat Fritz travaille avec 27,9 millions de valeurs préétablies pour évaluer chaque position — une base de connaissance incommensurablement plus grande que les logiciels typiques jusqu'ici.

  • Enfin, rappelons que Fat Fritz est un projet en progression. Les mises à jour sur le cloud de ChessBase fourniront de nouvelles versions toujours plus performantes.

Fat Fritz

Utilisez maintenant ChessBase 15 et les Ducats!

Liens



Après plus de vingt ans passés dans l'organisation du Festival international d'échecs de Bienne (Suisse), Paul Kohler en est maintenant le secrétaire général et le directeur du tournoi fermé des Grands Maîtres (GMT). Depuis septembre 2016, vous pouviez lire ses posts quotidiens et ses tweets pour ChessBase dans la langue de Molière. Dorénavant, c'est sur le portail francophone que vous pouvez lire ses articles.

Commenter

Règles pour les commentaires

 
 

Pas encore enregistré? S'inscrire