chronique Pour la science 01

« Se demander si un ordinateur sait penser est aussi intéressant que se demander si un sous-marin sait nager », se demandait Edsger Dijkstra en 1984. La formule fait d'abord sourire, puis réfléchir. Appliquer un concept biologique ou humain à une machine est trompeur, disait l'informaticien néerlandais.

Définir l'intelligence est difficile. Convenons qu'elle concerne l'apprentissage, le traitement de l'information et la capacité d'adaptation - et bien d'autre chose, qui font qu'une loutre ou collégien peuvent (parfois) montrer un comportement intelligent. Programmer l'intelligence est à la fois facile et difficile.

Il est facile de concevoir un programme qui résout le problème du voyageur de commerce, et calcule le chemin le plus court pour rejoindre 42 points. Il est notoirement difficile de concevoir un programme suffisamment intelligent qui calcule cette solution rapidement. Les informaticiens ont souvent recours à des programmes rusés qui calculent des solutions approchées dans un temps acceptable. Ces heuristiques complexes, parfaitement adaptées à la résolution de ce problème, seront incapables de calculer une dérivée ou de reconnaître une loutre dans un champ de collégiens.

Concevoir un programme, un système IA, capable d'une intelligence générale reste aujourd'hui impossible. ChatGPT change-t-il la donne ? Si on croit les élucubrations colorées de Sam Altam, patron d'OpenAI, cette intelligence generale est pour bientôt - et OpenAI va la construire.

« ChatGPT répond bien à mes questions, donc il est intelligent » n'est pas une affirmation scientifique. C'est une opinion. La notion de performance d'un système doit être analysée dans un cadre méthodique. C'est pour cette raison qu'on recourt aux benchmarks, ou tests de performance.

Le test de Turing ne suffit plus. Souvent invoqué comme référence, il mesure la capacité à imiter de manière convaincante un comportement humain lors d'une conversation. Les agents conversationnels sont maintenant au niveau. C'est remarquable.

Le benchmark ARC-AGI (Abstraction and Reasoning Corpus for Artificial General Intelligence) est intéressant. Créé en 2019 par François Chollet, ARC-AGI propose d'évaluer la capacité d'un programme à résoudre une centaine de petits problèmes de reconnaissance visuelle et de logique. Ce benchmark ressemble aux problèmes de Mikhail Bongard, inventés par l'informaticien russe dans les années 1960. Douglas Hofstadter les a mis à l'honneur dans son fameux roman Gödel, Escher, Bach.

Si on le prive de son smartphone, un collégien n'aura aucun mal à résoudre ARC-AGI. Un programme aura beaucoup plus de mal. Pourquoi ? On s'attend naïvement qu'un programme capable de résoudre ARC-AGI 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. Il devrait être capable de reconnaître les transformations élémentaires à appliquer puis de construire un raisonnement et proposer une solution. Notez que ce mot de raisonnement n'est pas nécessairement adapté pour des programmes.

Les stratégies actuelles de résolution de ARC-AGI s'appuient principalement sur l'écriture de courts programmes capables, chacun, de résoudre un unique problème. Fin 2024, les performances tournaient autour de 20-30%.

Schématiquement, un programme principal est entraîné pour générer de nombreux programmes solutions, puis un processus de sélection retient le programme solution qui transforme la grille d'entrée en grille solution. Puis on recommence pour le prochain problème.

Jusqu'à ce que OpenAI exhibe un programme basé sur o3 qui affiche des résultats impressionnants (75-85%). Le code n'est pas fourni, donc le doute subsiste sur la méthode employée. Connaissant les loulous, ils ont choisi la solution offensive typique du mec qui veut montrer qu'il a la plus grosse.

Ils ont contourné le problème.

Construire un système expert spécifiquement adapté pour cette classe limitée de problèmes ne nous a rien appris, et nous apprendra probablement rien. Je peux bien sûr me tromper, mais il y a fort à parier que ce système conçu pour attaquer ARC-AGI ne résoudra rien d'autre en dehors de cette classe limitée de problèmes. Où sont les concepts ? Où sont les progrès ? Où est l'intelligence ? Ou est la marée montante de concepts, chère à une certaine école mathématique ?

Quand une mesure devient un but à atteindre, elle cesse d'être une bonne mesure. Cette loi, dite de Goodhart, est très générale.

Résoudre ARC-AGI par la force brute, ce n'était pas du tout ce qui était recherché. Un humain (ou être vivant) n'applique pas ce type d'approche. Un bébé va essayer 10x de faire rentrer ce satané rond dans le trou triangle, mais il ne fera pas un million d'essais et une fois ce puzzle résolu, 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. 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.

Qualifier et quantifier l'intelligence d'un programme est décidément difficile.

5400 caractères


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.