Menu principal :
Leela zéro
Leela Zero est une vedette qui méritait bien une page dédiée. Dérivé du moteur de Leela, déjà très bon, Leela Zero s'inspire de l'algorithme d'AlphaGo Zero, que Google a eu la bonne idée de documenter. Avec pour résultat un programme aussi fort voir plus fort que les meilleurs joueurs humains, mais libre et gratuit.
Contrairement à Leela, qui est un programme autonome complet pour jouer au Go, doté d'une intelligence artificielle très forte, basée sur un réseau neuronal à apprentissage profond, Leela Zero n'est qu'un moteur de réflexion, qui a besoin d'une interface pour fonctionner.
Titre |
Genre |
Plateformes |
Note |
Leela Zero |
Réflexion - |
Windows |
****** |
AlphaGo, AlphaGo Zero et Leela Zero
Pour bien comprendre comment fonctionne Leela Z, il faut en savoir un minimum au sujet d'AlphaGo Zero. La société britannique Deepmind travaillait à la réalisation d'intelligences artificielles à base de deepp learning -
La société a poursuivi ses recherches et une seconde version, bien plus puissante encore, dite AlphaGo Zero, est apparue. Elle utilise un réseau deep learning à renforcement. Ce qui signifie que le moteur part en ne connaissant que les règles et rien d'autre du jeu. Il n'y a pas préapprentissage, ni fourniture de parties de grands maîtres. Il part de zéro, créant en jouant contre lui-
Le résultat a été spectaculaire. Le nouveau moteur a battu AlphaGo en seulement trois jours de construction de son réseau neuronal !
En faisant jouer AlphaGo Zero contre lui-
Leela Z s'inspire des techniques de programmation employées pour AlphaGo Zero. Mais le moteur lui-
Les différents composants nécessaires
CPU ou GPU ?
Pour utiliser Leela Zero, vous devez d'abord vous procurer le moteur. Vous le trouverez sur cette page :
https://github.com/gcp/leela-
La version disponible est actuellement la 0.16. Elle est proposée en 4 versions :
➤Version GPU pour Windows 32 bits
➤Version GPU pour Windows 64 bits
➤Version CPU pour Windows 32 bits
➤Version CPU pour Windows 64 bits
Quelle différence entre GPU et CPU ?
Si vous avez une bonne carte graphique de jeu Nvidia ou GeForce, de préférence pas trop vieille, vous utiliserez la version GPU (graphics processing unit).
Si vous n'avez pas cette chance, vous devrez vous contenter de faire faire le travail par votre ou vos CPU (central processing unit, autrement dit par les processeurs qui équipent la carte-
Les fichiers de poids
Il vous faut maintenant le contenu du "cerveau" de Leela Zero, le fameux réseau neuronal appelé aussi souvent le fichier de poids. Vous le trouverez ici :
http://zero.sjeng.org/best-
Si vous préférez un style de jeu plus "humain", un autre réseau neuronal, constituées de parties de joueurs humains, est également disponible. Vous le trouverez ici :
https://sjeng.org/zero/best_v1.txt.zip
L'interface de gestion
Leela Zero n'est qu'un moteur. Pour fonctionner il lui faut une interface. La seule qui soit adaptée, à ce jour, est Sabaki, qui lui a été étroitement associée.
Vous la trouverez ici :
https://github.com/SabakiHQ/Sabaki/releases
Sabaki existe en 6 versions : Linux 32 et 64 bits, Mac Os 64 bits, Windows 32 et 64 bits, plus une dernière pour le Web. Mais Leela Z n'est utilisable que sur Windows.
Installez Sabaki sur votre ordinateur.
Paramétrage de Leela Zero
Je peux vous dire que je me suis bien pris la tête pour arriver à faire fonctionner Leela Zero avec Sabaki. Les informations disponibles sont rares, en anglais, imprécises, parfois fausses... J'y suis quand même arrivé. Voici donc ce que vous devez faire :
Première étape : tout préparer
➤ Vous devez d'abord déterminer si vous allez utiliser la version GPU ou la version CPU. Pour vous aider à faire ce choix je vous invite à lire le passage "Utiliser -
➤Créez un dossier Leela Zero dans le dossier de Sabaki. Décompressez-
➤Créez un dossier "networks", puis un dossier "human". Copiez le fichier de poids de Leela Zero dans le dossier "network" et le fichier de poids constitué de parties humaines dans le dossier "human".➤Dans le dossier de Leela Zero, il y a un fichier "autogtp.exe". Lancez-
Autogtp va sauvegarder dans le dossier de Leela Zero un fichier sgf ressemblant à ça: "d7381225a11f4e628a0aa09c9491bac8.sgf". Il contient les données de la partie ainsi que les données d'entraînement. C'est donc une étape importante.
PS : il m'est arrivé que le programme ne crée pas le fichier sgf. Dans ce cas recommencez (Q+entrée) au milieu d'une partie.
2eme étape : prise en compte du moteur par Sabaki
Lancez Sabaki. Ouvrez le menu "Engines", puis "Manage engines". Cliquez sur "Add" pour ajouter un moteur. Donnez lui un nom : Leela Zero paraît approprié.
Cliquez sur l'icône représentant un petit dossier pour ouvrir la fenêtre de l'explorateur et liez Sabaki au fichier "leelaz.exe".
Nous devons maintenant faire passer un certain nombre de paramètres à Sabaki pour faire fonctionner Leela Zero. Pour cela vous devez collez dans le champ "Arguments" au minimum les paramètres :
-
-
-
Précisions importantes :
➤"-
➤"networks" est le nom de votre dossier. S'il est bien à l'emplacement que je vous ai indiqué vous n'avez pas besoin d'indiquer un chemin plus précis. Le fichier de poids peut être ailleurs mais dans ce cas il faudra indiquer le chemin complet vers lui.
S'il vous venait à l'idée d'utiliser plutôt le fichier de poids humain, ca deviendrait "-
➤"ffe8ba44feb8eb8ec8ff6d9b17ac075e4d708beadbfa68fee5506d431bbde68e.gz" est le nom de MON fichier de poids. Pour connaitre le votre vous devez ouvrir le dossier "networks" et copier le nom du fichier de poids, extension comprise, pour le reproduire dans le champ "Arguments"
Pour le fichier humain la commande était pour moi : -
Je vous conseille fortement d'ajouter aussi "-
Si vous ne mettez ni noponder, ni playout, Leela Zero prendra un temps interminable pour jouer certains coups.
Donc, in fine, nous avons une ligne de commande qui va ressembler à ça :
-
3eme étape : premier essai
Fermez (Close) "Manage engines". Pour voir si tout marche bien, il est recommandé d'ouvrir la console GTP : menu "Engines", "Toogle GTP Console". La gauche de l'interface sera réservée à l'affichage des données de connexion et de la réflexion du moteur. S'il y a un problème vous aurez un ou des messages d'erreur dont le plus courant est "connexion impossible".
En principe ça devrait bien se passer.
Pour lancer une première partie, menu "File", puis "News". S'ouvre alors la fenêtre de paramétrage de la partie. Sur l'exemple ci-
Cliquez sur "Ok" et la partie démarre.
Attention : l'initialisation de Leela Z est très longue. Si vous n'avez pas affiché la console, vous aurez l'impression que le moteur est planté. Il n'en est rien. Si vous avez ouvert la console vous verrez la progression de la connexion puis le premier coup joué par Leela Z.
Eh bien voilà. Après beaucoup d'effort pour faire fonctionner Leela Zero, je pense avoir fait à peu près le tour de la question -
Ce que j'en pense ?
Il est clair que Leela Zero est un programme assez prodigieux, dans la lignée d'AlphaGo, mais qui ne s'adresse pas au joueur de Go lambda. Il intéressera surtout les très bons joueurs, qui peuvent espérer le battre en limitant quelque peu (voire beaucoup) sa puissance, et puiser des idées dans son jeu.
Rob Robinson, janvier 2019
Ici, Leela Zero a affronté GnuGo. Le vénérable ancien moteur a du abandonner.