David Wu
Créateur de Katago
Fin septembre, le tournoi
mondial des IA de Go 2020 a conclu ses préliminaires à Fuzhou, avec 15 équipes
d'IA de Go de Chine et cinq équipes d'IA de Go de Corée du Sud, du Japon, de
Belgique et des États-Unis. Après sept tours d'attribution de points, les huit
meilleures équipes ont accédé à la phase d'élimination directe, qui a eu lieu à
la fin du mois de novembre.
Ce tournoi , organisé en Chine a opposé de nombreux programmes de go mais il manquait AlphaGo, le programme de DeepMind
Résultats
Après ce tournoi préliminaire, l'auteur de KataGo, David Wu ,diplômé de l'université de Harvard et actuellement chercheur en intelligence artificielle à Jane Street, a été contacté, et voici l' entretien qu'il a accordé 1. Quel est votre niveau au jeu de Go ? Quelle est votre histoire avec le jeu de Go ? Je suis officiellement un amateur d'AGA 3d, mais je suis très rouillé et je manque de pratique car je me suis concentré ces dernières années sur le développement de l'IA et sur beaucoup d'autres choses plutôt que de jouer à des jeux moi-même. J'ai découvert le jeu de Go il y a plus de 15 ans et je m'intéresse depuis à l'IA pour les jeux vidéo. L'écriture d'algorithmes et de programmes d'IA amusants pour les jeux a toujours été une chose que j'aime et pour laquelle je suis doué. J'étais présent à l'époque des premiers développements passionnants, lorsque les Monte-Carlo Tree Search (MCTS) ont été découverts en 2006 et 2007 et que les programmes de Go sont passés du niveau débutant au niveau amateur, et j'ai suivi de nombreux articles et recherches publiés depuis lors. Cependant, ce n'est que très récemment, en 2017 et 2018, que j'ai commencé à coder mon propre robot. En fait, vers 2017, c'est essentiellement la première fois que j'ai entraîné un réseau neuronal et que j'ai appris comment fonctionnait l'apprentissage profond. |
2. Pourquoi cette IA s'appelle-t-elle Katago ?
Si j'ai bien compris, "kata" est un mot
d'origine japonaise qui est devenu un mot normal en anglais (et en Français)
dans le contexte des arts martiaux. Il fait référence à la séquence de motifs,
de mouvements et de formes que l'on pratique lors de l'entraînement aux arts
martiaux. Cela semblait être un nom amusant pour un moteur de jeu contre soi-même (
self-play) - un moteur qui s'améliore en s'entraînant tout seul pour former
progressivement son propre modèle, son propre mouvement et sa propre forme sur
le plateau de jeu de Go.
3. Un grand merci à KataGo pour sa grande contribution à
la richesse et à la facilité d'utilisation de l'IA. KataGo a offert aux fans de
go un cadeau sans pareil. La question que je souhaite poser est la suivante :
au cours du processus de développement de KataGo, avez-vous également progressé
dans votre compréhension de l'IA, et dans quelle mesure ?
Bien sûr. Comme je l'ai dit, la première fois que j'ai expérimenté
l'apprentissage profond, c'était en 2017, et le projet de recherche qui est
finalement devenu KataGo ma tentative d'apprendre le domaine. Chaque fois que
j'essaie d'apprendre un nouveau domaine majeur en informatique, j'essaie
toujours de le faire en lançant un projet personnel pour construire quelque
chose dans ce domaine - et parfois cela devient quelque chose d'utile à publier
pour les autres. J'aime écrire des outils et des algorithmes qui font des
choses utiles et intéressantes.
4. Avant la naissance de KataGo, l'IA du Go a complètement
changé la perception du Go par les gens et a profondément affecté tous les
aspects du jeu. Alors, avez-vous créé KataGo davantage pour l'application de
l'intelligence artificielle ou dans l'espoir de changer l'écologie du jeu de go
?
Les deux ! J'ai initialement développé KataGo parce que
dans les années qui ont suivi AlphaZero, la capacité de développer une IA basée
sur l'auto-jeu dans de grands jeux de société à grande échelle était presque
entièrement hors de portée de quiconque, à l'exception des grandes entreprises
et organisations ou des projets distribués en ligne en masse. AlphaZero et
certaines répliques comme ELF OpenGo utilisaient tous deux des milliers de GPU
ou de TPU, ce qui est totalement impossible à égaler pour de nombreux individus
ou de petits groupes de recherche.
Une fois que j'ai compris les algorithmes, j'ai vu qu'il y
avait de nombreuses possibilités d'améliorer les algorithmes de jeu contre soi-même pour
les rendre beaucoup plus puissants et efficaces. Grâce à ces nombreuses
améliorations, KataGo a atteint les niveaux les plus élevés en n'utilisant
qu'une petite fraction des ressources informatiques. Avec le code de KataGo,
même avec une seule 2080 Ti, si vous êtes capable d'y consacrer quelques mois,
vous devriez être en mesure d'entraîner un bot de Go à partir de rien pour
qu'il atteigne le niveau des professionnels humains forts, voire même au-delà.
Cela signifie que le niveau atteint par "AlphaGo Lee" peut désormais
être égalé par toute personne possédant un ordinateur de jeu haut de gamme et
disposée à y consacrer du temps. Avec les bonnes méthodes, les petites équipes
de recherche et les développeurs individuels peuvent obtenir des résultats qui
n'étaient auparavant possibles qu'avec de grands centres de données et des
millions de dollars, ce qui rend la recherche beaucoup plus possible et
pratique.
C'est pourquoi KataGo est également open source. Il ne
s'agit pas seulement de Go. J'ai également reçu des nouvelles personnelles de
développeurs travaillant sur d'autres jeux de plateau que le Go, selon
lesquelles certaines des techniques de KataGo ont été utiles dans ces autres
jeux également. Si vous essayez seulement de développer des programmes de Go
encore plus puissants mais que vous ne publiez jamais rien ou n'expliquez
jamais vos méthodes, alors vous améliorerez peut-être légèrement le niveau de
l'IA de Go, mais vous n'aiderez pas d'autres petits chercheurs ou développeurs
qui veulent construire leurs propres IA pour le Go ou d'autres jeux, ou
expérimenter la recherche sur l'IA dans des domaines plus vastes.
Quoi qu'il en soit, une fois l'objectif ci-dessus atteint,
il m'a semblé amusant de continuer à développer KataGo. J'aime aussi construire
des outils que d'autres personnes peuvent utiliser, donc KataGo était ma
tentative de donner à la communauté du jeu de Go un moteur avec des
caractéristiques que personne d'autre ne semblait encore capable de produire.
La prise en charge d'une grande variété de jeux de règles, y compris les règles
japonaises, la réduction du relâchement du jeu en fin de partie en cas de
victoire pour produire une meilleure analyse, l'amélioration du jeu avec
handicap, la prise en charge de plusieurs tailles de plateau sans modifier le
réseau neuronal. Toutes ces fonctionnalités étaient absentes de presque tous
les meilleurs bots après AlphaZero, et je pensais savoir comment les prendre en
charge, alors je l'ai fait.
5. KataGo a une force étonnante, aidant les gens à
améliorer leur niveau de compétition au Go, et a également des paramètres très
libres. De nombreuses personnes l'utilisent pour découvrir le plaisir du jeu de
Go. Par exemple, Yike (serveur de go chinois https://home.yikeweiqi.com/)
utilise les fonctionnalités de KataGo pour créer un jeu d'IA qui est populaire
parmi les utilisateurs. Parmi eux, les différents plateaux et les différents
modes de jeu rendent les joueurs accros. Je me demande si le Dr. Wu a essayé ?
Pensez-vous que ce jeu présente toutes les caractéristiques de KataGo ?
Merci. Non, je n'ai pas exploré toutes les différentes
choses que les gens font avec KataGo. Je sais qu'il y en a beaucoup plus que je
ne peux en suivre moi-même, et j'espère qu'il en restera ainsi, car les gens
continuent à le trouver passionnant et amusant. Et si des développeurs ont des
idées pour de nouvelles fonctionnalités que je pourrais mettre en œuvre,
j'aimerais beaucoup les entendre. Plus d'une fois maintenant, j'ai ajouté des
fonctionnalités et des sous-commandes à KataGo qui étaient nécessaires à
d'autres développeurs sur d'autres serveurs ou sites pour faire des choses intéressantes
et des choses nouvelles qui n'étaient pas possibles auparavant, et je suis
heureux d'en ajouter d'autres quand j'en aurai le temps.
6. Quels sont les projets futurs de KataGo ? Devrions-nous
continuer à approfondir le jeu de Go ou explorer d'autres domaines tels que la
médecine, la finance ou la météorologie ? En outre, le jeu de Go est presque le
premier à être modifié par l'IA. Quel type de mentalité les joueurs de Go et
même l'humanité tout entière doivent-ils adopter face à l'ère de l'IA ?
D'ici un mois ou deux, il est possible que KataGo commence
également l'entraînement distribué, à l'instar de Leela Zero. Grâce aux
améliorations de l'efficacité de KataGo, l'entraînement distribué à grande
échelle avec des centaines de GPU et de contributeurs n'a pas été nécessaire
jusqu'à présent pour atteindre un niveau élevé, mais il serait fascinant de le
pousser plus loin et de voir jusqu'où il peut aller s'il reçoit ces ressources.
Une fois que l'entraînement distribué sera disponible, j'espère que certaines
personnes se joindront à moi pour voir quel niveau KataGo peut atteindre avec
plus d'entraînement.
7. Il n'y a pas longtemps, Yike a eu la chance de
contacter le développeur qui a réalisé l'IA de Gobang sur la base du moteur
KataGo et a appliqué avec succès ce programme à la plateforme Yike, ce qui
apporte un taux de victoire, une stratégie et une expérience d'ouverture sans
précédent pour les joueurs de Gobang. Aimeriez-vous voir ce type de coopération
transfrontalière ?
Oui, sans aucun doute. Comme je l'ai mentionné plus haut,
l'objectif initial de KataGo ne se limitait pas au jeu de Go. Il s'agissait de
faciliter la tâche d'un large éventail de chercheurs et de développeurs d'IA
pour les jeux afin qu'ils puissent créer des programmes de haute qualité pour
différents jeux. Si quelqu'un veut prendre les idées de KataGo, ou ses
techniques algorithmiques publiées, ou son code directement, et les développer
pour résoudre de nouveaux problèmes ou surpasser KataGo lui-même, alors c'est
un succès. Mon seul souhait est que les gens fassent preuve d'amabilité et
d'honnêteté lorsqu'ils utilisent KataGo - qu'ils le clonent en y apportant des
modifications mineures ou qu'ils l'utilisent simplement comme base d'une
nouvelle formation et d'une recherche originale. Lors du développement de
KataGo, l'objectif n'a jamais été d'essayer de battre d'autres personnes,
d'être le meilleur ou de gagner. Je me fiche de savoir s'il gagne ou s'il est
le meilleur bot, cela n'a pas d'importance. L'objectif de KataGo est plutôt de
permettre à tout le monde de faire mieux ensemble.
Et au Go, on m'a dit que lors des récents préliminaires du
tournoi de Go AI à Fuzhou, en plus de l'entrée publique de KataGo, au moins
quelques-unes des soumissions étaient basées sur KataGo et que dans au moins un
cas, une équipe a également développé de nouvelles améliorations avec un nouvel
entraînement séparé. Et on m'a dit que quelques-unes de ces soumissions
pourraient également avoir été retenues pour les prochains tours finaux, ce qui
est très bien. Je suis surtout un spectateur et je ne suis pas activement
impliqué, mais si c'est vrai, j'espère qu'après la fin du tournoi, ces équipes
envisageront de publier leurs méthodes, surtout si elles peuvent partager de
nouveaux algorithmes et de nouvelles techniques d'entraînement. Je suis heureux
d'avoir pu créer une IA que d'autres personnes voudraient utiliser ou
développer.
Outre le Go et le "Gobang[i]" (aussi appelé Gomoku), j'ai également été contacté en privé par quelques développeurs d'autres jeux différents, qui m'ont indiqué qu'ils trouvaient utiles certaines des techniques individuelles de KataGo ("playout cap randomization", "cibles d'entraînement auxiliaires ", etc), et qui m'ont aidé à répondre à des questions sur la manière de les appliquer. J'ai également discuté avec des chercheurs qui effectuent des travaux plus généraux visant à améliorer la précision de la recherche d'arbres de jeu. Dans tous ces cas, si KataGo peut aider à jeter les bases pour que d'autres personnes fassent des recherches nouvelles et meilleures, cela me réjouit.
8. Le fait de taxer[1] rend le jeu de Go
différent, ce qui est une option dans KataGo. Ce processus de taxation est-il
le fruit d'un entraînement ou d'un algorithme spécifique ? Peut-on se rendre
compte qu'en mode taxe, les Blancs jouent en premier ?
KataGo gère différentes variations de règles et de tailles
de plateau simplement en entraînant le réseau neuronal avec un grand nombre de
parties avec ces règles pendant le jeu contre lui-même. Vous pouvez tout à fait
utiliser les règles de "taxe" ou de "score obtenu par le nombre
de pierres" - KataGo joue une grande partie de ses parties avec ces
règles, il devrait donc avoir beaucoup d'expérience. Vous pouvez également
faire jouer les blancs en premier si vous le souhaitez, car KataGo ne se soucie
pas de la couleur qui joue en premier. Si vous voulez que les blancs jouent en
premier, dites simplement à KataGo de jouer un coup pour les blancs en premier
au lieu des noirs, et mettez le "komi" à 0 ou à un nombre négatif
pour que les noirs soient ceux qui reçoivent une compensation pour avoir joué
en second au lieu des blancs.
Une chose fascinante à propos des anciennes règles de
"taxe" ou de "score obtenu par le nombre de pierres" est
qu'elles semblent encourager légèrement un style de jeu plus cosmique. Comme la
pénalité est plus importante pour les petits groupes multiples, cela signifie
que jouer beaucoup de grands coups globaux et faire de grands cadres devient
plus favorable. Par exemple, avec ces règles, l'invasion 3-3 ne semble plus
être un bon coup à jouer tôt, et la lutte pour l'influence sur les côtés et au
centre devient également plus favorable. Pour ceux qui ont été un peu déçus par
la valeur élevée que les IA modernes accordent au territoire du coin et par le
style de jeu serré qui en résulte, ces anciennes règles pourraient peut-être
leur sembler rafraîchissantes.
9. Quel niveau pensez-vous que KataGo atteindra à terme,
en termes de classement elo, par rapport à la version actuelle ?
C'est très
difficile à dire ! Comme je l'ai mentionné plus haut, j'espère que KataGo
pourra commencer à distribuer des formations assez rapidement, et qu'il y aura
suffisamment de soutien de la part de la communauté pour continuer à
s'améliorer en tant que programme gratuit et ouvert à l'usage de tous. Nous
verrons jusqu'où il peut s'améliorer :)
Références :
Interview de Katago Author David Wu 2020-10-18 sur Yike
Règles de la compétition entre IA de go de Fuzhou 2020
Dernière mise à jour, le 24 Avril 2023