Q*, un algorithme qui fait causer
Une découverte qui menace l'humanité ou un nom de code qui effraie?
Le “vrai-faux” licenciement d’Altman est-il lié à une découverte embarrassante qui fait peser un risque sur l’humanité? C’est l’une des théories qui s’est répandue la semaine dernière, notamment après une information1 de l’agence de presse Reuters qui explique que le licenciement d’Altman était, entre autres, lié à un nouvel algorithme nommé Q* (prononcez Q-star pour faire savant) qui serait capable de produire des raisonnements mathématiques.
Bon, je vais tuer le suspense tout de suite 😅: Non, Altman ne s’est pas fait licencié à cause de ce nouvel algorithme (comment justifier qu’il soit réintégré sinon) et non cet algorithme qui sait faire des maths n’est pas une menace pour l’humanité.
Néanmoins, ce qui semble se cacher derrière Q* (car aucune communication officielle n’a été faite par OpenAI) n’est pas sans intérêt. Plutôt que de fantasmer sur les risques potentiels désormais encourus par l’humanité ou sur le rôle qu’aurait joué ce nouvel algorithme dans le cirque de la semaine dernière chez OpenAI, je vais vous expliquer dans ce tunnel en quoi Q* est une découverte importante et représente une étape de plus franchie dans la quête de la fameuse Intelligence Artificielle Générale.
Au menu du jour 📖:
📚 L’histoire d’AlphaGo, l’algorithme qui a surpassé l’être humain au jeu de Go
🤖 Le Reinforcement Learning pour les nuls
📃 Le papier de recherche dont vous allez entendre parler : Let’s Verify Step by Step
🔮 Quelques projections sur l’avenir
🚀 Allez, accrochez vos ceintures, ça démarre! 🚀
AlphaGo, l’algorithme qui était meilleur que les êtres humains
Pourquoi le jeu de Go?
Ne vous inquiétez pas, le thème de ce tunnel est bien Q*, l’algorithme mystère du moment. Mais pour vous faire comprendre son importance, je vais commencer par vous parler d’un de ses vieux cousins : l’algorithme AlphaGo
AlphaGo est le nom d’un programme informatique développé par l’entreprise Deepmind (rachetée en 2014 par Google) qui a pour but de jouer au jeu de Go.
🤔 Tiens donc, il n’ont vraiment rien de mieux à faire que de créer des algorithmes pour jouer à des jeux de plateaux chez Deepmind?
En fait le jeu de Go est populaire dans le monde informatique car il est perçu comme l’un des défis les plus complexes pour un algorithme. Le but du jeu est très simple : Deux adversaires s’affrontent en disposant des pions (blancs pour l’un, noirs pour l’autre) sur un plateau. Dès que des pions blancs sont encerclés par des noirs (et vice versa), on retire les pions encerclés. Le but est d’avoir plus de pions sur le plateau que l’adversaire à la fin de la partie.
A chaque coup, il faut évaluer les ripostes possibles de l’adversaire pour optimiser ses chances d’encercler des pions sans se faire encercler. Il n’est donc pas possible de donner à un algorithme une sorte de recette magique à appliquer pour gagner à chaque coup.
Jouer au jeu de Go nécessite une vraie intelligence stratégique et une capacité à anticiper la stratégie de l’adversaire. C’est pourquoi réussir à développer un algorithme qui sait gagner au jeu de Go a longtemps été un rêve inaccessible pour de nombreux chercheurs. Les premières recherches à ce sujet remontent aux travaux d’Albert Zobrist2 en 1968.
Une IA qui surpasse les êtres humains, c’est possible?
AlphaGo se fait d’abord connaître en 20153 en battant Fan Hui le champion européen de Go. La réalisation est incroyable et laisse place à une autre perspective : AlphaGo pourrait-il surpasser l’espèce humaine au jeu de Go?
Pour y répondre Deepmind a organisé en 2016 un match entre AlphaGo et Lee Sedol4, véritable légende vivante du jeu de Go. Suivi en direct dans le monde entier cette opposition qui consiste en 5 parties tourne à l’avantage de l’algorithme sur le score de 4-1.
Deepmind a fini le jeu de Go en battant le boss final. Pour la première fois, l’IA démontre qu’elle peut surpasser l’être humain. Ça peut faire froid dans le dos, mais il faut garder son calme : AlphaGo ne sait que jouer au jeu de Go, c’est une révolution intellectuelle mais qui n’a absolument aucun impact sur le monde.
Derrière le jeu de Go, le Reinforcement Learning
🚨Attention, la partie qui suit va être technique 🚨
S’il faut s’inspirer d’AlphaGo pour créer un jour une Intelligence Artificielle Générale, il faut en comprendre le fonctionnement.
La méthode derrière AlphaGo s’appelle le Reinforcement Learning (RL). Le principe est simple : pour entrainer un algorithme à effectuer une tâche, on lui fait effectuer cette tâche des millions de fois, et après chaque tentative, on lui indique si elle a été correctement réalisée en lui attribuant un point quand c'est le cas.
En Reinforcement Learning, les algorithmes apprennent tout seul car ils sont capables de jouer et de s’évaluer eux-mêmes. Pour que cela fonctionne sur le jeu de Go, il faut que l’algorithme soit doté de 2 capacités :
1️⃣ La capacité de comprendre ce qu’il faut optimiser. En l’occurrence ici la victoire d’une partie de Go. Dès que l’algorithme joue une partie pour s’entraîner, il gagne un point s’il gagne la partie. Son but lors de l’apprentissage est de régler ses propres paramètres pour optimiser le nombre de points qu’il gagne.
En termes scientifiques, on dit que l’algorithme cherche à optimiser sa Reward function. 🏆
2️⃣ La capacité de simuler des scénarios selon la disposition des pions sur le plateau. A chaque fois que c’est son tour, AlphaGo simule une multitudes de scénarios possibles en anticipant les choix possibles de son adversaire et trouve le coup qui a le plus de chance de le faire gagner.
En termes scientifiques, on dit que l’algorithme est capable d’effectuer une recherche arborescente de Monte Carlo (Monte Carlo Tree Search). 🌲
Ainsi, AlphaGo a pu jouer des millions parties de Go contre lui-même (puisqu’il a la capacité de simuler des parties) et a découvert des stratégies d’une extrême finesse (ce qui fait que quand il effectue sa recherche de Monte Carlo à chaque tour, il a un éventail d’excellentes stratégies parmi lesquelles choisir).
Il est rentré dans un cercle vertueux d’apprentissage ♻️ : Au fur et à mesure qu’il jouait des parties, il est devenu de plus en plus fort, et, comme il jouait contre lui-même, il affrontait un adversaire de plus en plus fort, ce qui lui permettait de progresser. Jusqu’à devenir meilleur que tous les êtres humains.
A ce stade, il faut comprendre une différence fondamentale entre un algorithme qui fait du Reinforcement Learning comme AlphaGo et d’autres algorithmes comme ChatGPT :AlphaGo progresse au cours du temps car il peut jouer contre lui-même et s’auto-évaluer. ChatGPT, lui, a été entrainé sur une quantité astronomique de données pour prédire quels mots il doit utiliser lorsqu’on lui pose une question. Mais, il ne progresse pas car il ne sait pas se poser des questions à lui-même ni auto-évaluer ses réponses.
Les maths, un défi plus relevé que le jeu de Go
Pourquoi entrainer un algorithme à faire des maths, c’est compliqué
Quand on y pense, un raisonnement mathématique et une stratégie de Go, ce n’est pas si différent. Il est facile de savoir si le résultat du raisonnement est bon, comme il est facile de savoir si une partie de Go est gagnée ou perdue. Et, lorsque l’on fait un raisonnement mathématique, on réfléchit par étape (argument 1 DONC argument 2 DONC argument 3, etc. = Résultat), de même qu’une partie de Go se joue coup après coup.
Puisque ça a fonctionné avec le jeu de Go, OpenAI a eu l’idée de faire du Reinforcement Learning pour entrainer un algorithme capable de produire des raisonnements mathématiques avec les deux composantes suivantes :
1️⃣ Comprendre ce que l’algorithme doit optimiser : le nombre de bonnes réponses à un ensemble de questions mathématiques posées (autrement dit trouver la reward function).
2️⃣ Savoir simuler des raisonnements mathématiques et évaluer si le résultat obtenu est correct ou non (autrement dit être capable d’effectuer une recherche de Monte-Carlo sur l’ensemble des raisonnements mathématiques possibles).
Comme pour le jeu de Go, un tel algorithme découvrirait des façons de raisonner de plus en plus fines au cours du temps, au point un jour de dépasser l’être humain.
Mais jusque récemment cela n’a pas fonctionné parce que lors de la phase d’entrainement lorsqu’un algorithme arrivait à trouver une bonne réponse avec un mauvais raisonnement, il obtenait quand même un reward.
Tous les modèles qui ont été entrainés ainsi n’ont jamais réussi à être convaincants pour répondre à des problèmes mathématiques car ils n’arrivaient pas à comprendre qu’un raisonnement qui mène à une réponse correcte pouvait être mauvais. Tous, jusque (peut-être) Q*…
Récompenser le raisonnement plutôt que le résultat
Pour régler ce problème, il fallait trouver une méthode qui permette de distinguer les bons raisonnements des mauvais pour ne pas récompenser une algorithme qui fournit de mauvais raisonnements lors de son entrainement.
C’est de cette méthode dont il est question dans la publication Let’s Verify Step by Step5 publiée par OpenAI le 31 mai 2023 et signée notamment par Ilya Sutskever (celui qu’on suspectait la semaine dernière d’avoir voulu évincer Sam Altman et son envie frénétique de déployer toutes les découvertes scientifiques au plus grand nombre).
En donnant à l’algorithme un reward pour le raisonnement produit plutôt que pour le résultat obtenu, les chercheurs ont réussi à entrainer un algorithme capable de résoudre 78% de tous les problèmes qu’on lui a posé (contre à peu près 70% pour un algorithme entrainé “à l’ancienne” en n’analysant que les résultats produits.
Cette nouvelle méthode s’appelle PRM (pour Process Reward Model) en opposition à ORM (Outcome Reward Model)
Le plus impressionnant est surtout que l’algorithme entrainé de cette façon semble continuer à améliorer sa performance au fur et à mesure qu’il s’entraine contrairement aux algorithmes classiques qui “saturent” vers les 70% qu’on continue de les entrainer ou non.
Q* pourra-t-il un jour atteindre un pourcentage de réussite proche de 100%? Si c’est le cas, de nombreuses équations auxquelles l’humanité n’a jamais réussi à trouver de solution pourraient être résolues ce qui provoquerait des avancées scientifiques majeures dans de nombreux domaines tant les maths sont utilisées partout…
Q*, une étape de plus franchie avant l’intelligence artificielle générale?
Ce qui est impressionnant dans la prouesse qui semble être réalisée par Q* est qu’on a réussi à recréer les conditions du Reinforcement Learning qui avaient permis à un algorithme d’être meilleur que les êtres humains au jeu de go.
C’est en trouvant un moyen d’avoir une Reward function adaptée aux raisonnements mathématiques et en apprenant à un algorithme à effectuer une recherche de Monte-Carlo parmi tous les raisonnements possibles qu’on a réussi à entrainer ce nouvel algorithme Q* (qui est sûrement encore en train de s’auto-entrainer et de progresser à l’heure actuelle)
Qu’arrivera-t-il si on trouve un jour un moyen de traduire une problématique encore plus complexe que le raisonnement mathématique en une Reward function et une recherche de Monte-Carlo sur lesquelles un algorithme serait capable de s’auto-entrainer? Cela semble être la voie la plus crédible à ce jour vers une Intelligence Artificielle Générale…
Bon, on en n’est pas encore à ce stade, même au niveau des raisonnements mathématiques. Dans le papier de recherche Let’s Verify Step by Step, le niveau des problèmes de mathématiques utilisés pour évaluer la performance du modèle (de 78%) reste assez faible6. On n’a pas encore entrainé un algorithme qui serait capable de prouver l’hypothèse de Riemann7. Mais, à force de s’entrainer et de s’évaluer lui-même, qui sait? Et surtout, une fois encore, la prouesse c’est d’avoir réussi à traduire la méthode d’AlphaGo aux mathématiques.
Et maintenant?
D’abord il va falloir attendre un peu pour savoir si les rumeurs sur Q* étaient vraies ou fausses.
Ensuite, que Q* soit un algorithme capable d’effectuer des raisonnements mathématiques ou pas, la méthode du Process Reward, elle, est bien là donc si ce n’est pas Q*, ça sera un autre (un concours à 10 millions de $ est déjà lancé (https://aimoprize.com/) . Il s’agit d’une étape de plus vers une intelligence artificielle générale et un algorithme qui saurait faire des maths de façon convaincante serait un allié de poids pour les chercheurs.
Néanmoins, toutes les grandes voix de l’IA s’accordent pour dire que cette découverte n’est pas un révolution dans l’histoire de la recherche non plus.
Pour Yann Lecun par exemple, la vrai challenge réside dans notre capacité à entrainer un algorithme capable de faire du planning8 de scénarios (plutôt que des algorithmes seulement capables de prédire le prochain mot comme c’est le cas aujourd’hui).
Pour Shane Legg, l’un des fondateurs de DeepMind (à l’origine d’AlphaGo), la clé réside dans la possibilité pour les algorithmes d’effectuer des recherches parmi toutes les réponses possibles avant de répondre9 à une question.
Autrement dit : Q* est un progrès grâce à sa Reward function, mais il faut encore réussir à améliorer sa capacité à effectuer des recherches de Monte Carlo 😉.
En tout cas rassurez-vous : Sam Altman n’a sûrement pas été licencié pendant 4 jours à cause d’une découverte menaçant l’humanité. Et comme Yann Lecun, toujours lui, le rappelle très bien par ailleurs: on finira par développer une intelligence artificielle générale plus intelligente que l’homme, mais ça serait une chance bien plus qu’une menace!10
… Et voilà, fin de tunnel 🎉. J’espère que ça vous a plu et que vous êtes maintenant armés pour comprendre tout ce qu’on va raconter ces prochaines semaines sur Q*. N’hésitez surtout pas à vous abonner ou à partager cet article!
Décidément passionnant et instructif