Ciceron joue moyennement bien à Diplomacy

Ciceron est un programme conçu par le le laboratoire d’IA de Meta pour jouer à Diplomacy. Ciceron ne comprend rien au jeu, mais c'est un joueur honnête. C'est assez rare pour être souligné, surtout quand on joue à Diplomacy.

Encore un papier à lire ?

Cette équipe issue du laboriatoire FAIR, le laboratoire IA de Meta, a publié un papier intéressant. Il donne à voir les rouages d’un système expert basé sur l’exploitation massive des données. Il ne révolutionne rien, mais c’est un tour de force technique remarquable. Bravo à eux, il fallait le faire. L’article, pour les courageux est publié dans Science

On a lu le papier, et les documents additionnels. C’est assez dense et bien écrit. On arrive à comprendre ce qu’ils ont fait sans trop s’arracher les cheveux. Les maths sont franchement légères, sinon totalement absentes. Les rares papiers que je lis qui sortent des BigTechs pêchent souvent de ce coté, c’est assez troublant.

Les auteurs ne crient pas au génie et ils restent humbles dans leurs annonces. Les résultats sont bons. Point de tentative d’enfumage détectée, ou alors elle est subtile. De toute façon, la vérité est dans le code. Je ne vais donc pas trop râler :-)

Comment décrire Diplomacy en quelques mots ? Les joueurs vont hurler, c’est obligé. Disons que c’est un mélange entre Risk et du poker menteur : chaque joueur joue une puissance européenne, dispose de territoires en début de partie et essaie de massacrer les autres joueurs. Les joueurs parlent entre eux, de manière privée, en essayant de convaincre mutuellement de s’aider. Ce jeu est un jeu de bluff, de stratégie commune établie la main sur le cœur, de trahisons permanentes et de froides vengeances. On parle beaucoup à Diplomacy. En ligne, on écrit beaucoup.

Ciceron est un système expert

L'équipe a construit un gros système, bien complexe, avec différentes couches de traitement, des modules (modélisation de l'état du jeu, décorticage des messages des joueurs, mise au point d'une stratégie, prise en compte des interactions cachées entre joueurs etc) et des post-traitements sur les messages proposés (ne pas raconter n'importe quoi, éviter d'être contradictoire etc). Tout est basé sur une base de connaissances constituée de 40000 parties et de 12.9 millions de messages. L’ensemble a été transformé en informations utilisables par une machine. Ce jeu se prête bien à cette forme d’encodage. Il est modélisé par des intentions (ex: mon armée en Bavière va envahir la Suisse), qui se retrouvent dans les dialogues entre joueurs - ou pas, car mensonges et trahisons sont courants.

La description du programme fait nettement penser à un système expert bien spécifique, avec beaucoup de traitement de données en amont, notamment au niveau du travail sur les textes. Il a fallu par exemple relier les messages que les humains s'échangent aux actions réellement effectuées. Ils ont, d’ailleurs, dû bien galérer pour annoter les messages et faire de l'extraction de connaissances. Des experts du jeu ont été sollicités lors des phases d’annotation.

Ciceron est idiot

Comme trop souvent dans ces approches data-driven, il n'y a aucune intelligence métier . Dans ce cas, il n’y a pas de programme qui va spécifiquement appliquer une technique de jeu de Diplomacy. L’équipe a construit un système de traitement de données qui a reproduit les comportements observés dans les parties précédentes et qui maximise certains critères objectifs liés au jeu. Ce programme est paramétré automatiquement pour jouer "comme un humain" qui aurait observé 40 000 parties.

C’est d’ailleurs une des limites : pas de compréhension du jeu. Autre limite : tout n’est que tactique tour par tour, il n’y a pas de stratégie générale sur plusieurs tours. Le bot n’a pas de mémoire et ne planifie rien à plus d’un tour à l’avance.

Le module tactique semble le plus complexe. De ce que je comprends, le bot choisit ses actions après avoir prédit ce qu'allaient faire les autres joueurs. Cette prédiction fait appel à du RL (reinforcement learning) avec un objectif de maximisation de la valeur à un tour du mouvement, sans trop s'écarter d'un comportement "moyen" obtenu par apprentissage supervisé. Il n'y a donc pas vraiment d'intelligence métier introduite par les auteurs, ils font appel à la base de connaissances initiale et s'autorisent une optimisation locale.

Le bot fait de l'apprentissage automatique un peu tout le temps. Il fonctionne avec 80 CPU et 8 GPU : ça chauffe. La génération d’un message prend entre 10 à 30s.

Un joli sujet de master ii

Ils signent le papier à 17, pourtant. Pourquoi pas, ils ont du temps libre chez Meta.

Ce qui me perturbe toujours autant dans ces travaux, c'est toute cette intelligence et cette énergie dépensée pour, au final, ne pas être si bon que ça. Cicéron est un bon joueur, certes, mais comme il ne planifie rien, il reste un peu crétin. Le tour de force technique est cependant remarquable.


Thomas