ARC AGI : la génération a fait une nouvelle victime

Nos programmes sont-ils intelligents ?
Oui, disent OpenAI, Anthropic et Elon Musk.
Non, dit la science.
Moi moi moi, hurle Donald Tump.

TL;DR

ARC AGI est un benchmark intéressant qui adresse l'épineux problème de l'intelligence des programmes. Il a été en partie résolu par OpenAI, qui a utilisé un de ses agents pour obtenir des performances très satisfaisantes. Les méthodes employées ne sont pas satisfaisantes, elles. C'est dommage.

Parler encore et toujours d'intelligence artificielle m'ennuie. Ce n'est visiblement pas le cas de l'ex prof' de philo qui cartonne sur YouTube. Il a remis une pièce dans la machine récemment, et des lecteurs m'ont demandé mon avis sur le sujet. À mes yeux, la messe est dite depuis longtemps : l'apprentissage automatique et la génération n'ont pas permis de créer des programmes intelligents au sens classique du terme. Pour toi, ami lecteur, j'ai pris le temps de rédiger ce court billet, entre deux expéditions à la plage.

Je reprends ici une partie de l'analyse de Melanie Mitchell. Les lecteurs anglophones pourront aussi lire Gary Marcus.

Benchmark

Pour mettre tout le monde d'accord, il faut pouvoir discuter. C'est le but des benchmarks : rassembler un certain nombre de cas et comparer les performances des programmes. Les benchmarks sont souvent utilisés en informatique pour comparer les performances des langages de programmation ou des implémentations spécifiques de programmes. On lance un chronomètre, on mesure l'empreinte mémoire et le plus rapide à dégainer sa mauvaise foi gagne.

Pour l'intelligence, c'est plus compliqué. Il faut déjà définir ce que c'est, puis trouver un moyen de le mesurer. Cette entreprise est difficile. Donald Trump ne sera d'évidence pas d'accord. Jetez un coup d'oeil aux problèmes de Bongard si le sujet vous intéresse, sur le site de Foundalis ou sur OEBP.

ARC AGI, pour Abstraction and Reasoning Corpus for Artificial General Intelligence (ARC-AGI), propose de qualifier et quantifier la capacité de programmes à résoudre des tâches qui nécessitent une forme d'intelligence. Ce benchmark est généralement considéré comme utile. Certains problèmes sont représentés dans son papier de 2019. L'initiative est intéressante.

De manière pratique, un système IA qui s'attaque à ARC AGI doit transformer une grille donnée en une grille résultat, après observation de quelques (<5) exemples de l'application de cette transformation. Le problème est résolu si la grille résultat correspond à la grille attendue. On calcule le score final en compilant les résultats sur chacun des 100 problèmes inclus dans le corpus d'évaluation.

Le défi consiste donc à concevoir un programme général (=le solveur) capable d'identifier, pour chaque problème et à partir d'une poignée d'exemples spécifiques, la transformation adéquate. On s'attend que le solveur intègre des concepts et des connaissances de base, c'est-à-dire une forme de compréhension élémentaire des objets avec lesquels il travaille : formes, symétries, relations spatiales, limites, etc. Un solveur devrait être capable de reconnaître les transformations élémentaires à appliquer puis de construire un raisonnement et proposer une solution. J'utilise des italiques pour signifier au lecteur attentif que ces mots, utilisés d'habitude pour des humains ou des êtres vivants, ne sont pas nécessairement adaptés pour des programmes. Mais c'est plus pratique.

Un programme capable de résoudre cette suite de problèmes élémentaires en minimisant sa consommation de ressources (puissance de calcul, mémoire) serait intéressant. Il serait préférable de savoir écrire ce programme en suivant une approche symbolique (GOFAI) ou en construisant un système expert à partir de connaissances humaines. Dans le cas moins sympathique d'un programme de résolution basé sur l'apprentissage automatique ou la génération de contenu, étudier son fonctionnement pourrait donner des informations sur la stratégie suivie.

Laissez-moi rêver

Comme souvent en mathématiques, les problèmes compliqués sont intéressants car ils donnent l'occasion de penser de nouveaux concepts ou d'imaginer de nouvelles théories. Les conjectures sont précieuses car elles conduisent souvent à l'élaboration de nouvelles théories. Je suis certain que des mathématiciens l'ont dit mieux que moi, mais je n'ai pas trouvé de citations exactes.

The formulation of a problem is often more essential than its solution, which may be merely a matter of mathematical or experimental skill Albert Einstein & Leopold Infeld (1938)

Les stratégies de résolution de ARC AGI s'appuient principalement sur l'écriture de courts programmes solutions. Un solveur entraîné génère de nombreux programmes et en sélectionne un. Les performances sur la première version ARC AGI tournent globalement autour de 30%. Fin 2024, OpenAI a reussi à obtenir des résultats impressionnants (85%) avec son agent o3. On ne sait pas précisément comment leurs ingénieurs ont procédé, car le code n'est pas fourni.

Ce n'est absolument pas satisfaisant intellectuellement.

Cette approche s'appuie sur la génération guidée et la force brute, en évacuant tout l'intérêt du benchmark. L'entraînement des programmes sur des données spécifiques à ARC AGI, dont le recours à une stratégie d'augmentation de données, tue le problème. On construit ainsi un système expert particulier pour cette classe limitée de problèmes, qui n'aura aucune chance de résoudre autre chose que cette classe limitée de problèmes. Où sont les concepts ? Où est l'intelligence ? Où sont les progrès ?

Loi de Goodhart

When a measure becomes a target, it ceases to be a good measure. Loi de Goodhart

Ce n'est pas du tout ce qui était recherché. Un humain (ou être vivant) ne semble pas faire appel à la force brute pour résoudre les problèmes de la vie quotidienne. Un bébé va essayer 10x de faire rentrer ce satané rond dans le trou triangle, mais 1 il ne fera pas un million d'essais et 2 il aura appris à tout jamais que les trucs ronds vont dans les trous ronds. Il déduira que cette stratégie fonctionne probablement aussi pour les trucs ovales, triangulaires, carrés, patatoïdes. Ca s'appelle conceptualiser. C'est précisément ce que les chercheurs en IA essaient de faire depuis 70 ans. C'est précisément ce que les programmes actuels ne savent pas faire.

Je ne suis pas le seul à trouver totalement absurde que des personnes supposées « très intelligentes » puissent croire depuis si longtemps qu'il suffit de donner plein de données à plein de processeurs pour qu'une sorte d'intelligence apparaisse spontanément. Ne rigolez pas, c'est très exactement ce qui se passe depuis 2016. Comme s'il était possible de s'affranchir de ce si difficile travail de conceptualisation.

Espérons que la seconde mouture du test sera plus prolifique voire, rêvons encore, utile.

Notes


Thomas


Nous ne sommes toujours pas des machines. Nos textes sont pensés et écrits par des humains. Aucun texte n’est généré. Tout soutien sera le bienvenu.