Killing Joke a écrit : ↑dim. déc. 11, 2022 12:09 pm
Prenons un petit texte bidon en entrée (je me demande s'il n'y a pas un cas d'usage célèbre qui ressemble un peu çà) : "Une boulangerie vend des croissants à un euro pièce. Une cliente rentre dans la boulangerie avec 0.50 cts en poche pour acheter un croissant. Elle ressort les mains vides.". Question : "Pourquoi ?" (réponse bien sûr : parce qu'elle n'a pas assez d'argent).
Du coup où en es-t'on sur ce sujet :
- il est tout à fait possible que ChatGPT soit capable de répondre, mais en ayant pioché / appris sa réponse dans une somme de textes / documentations pré-existantes et ayant fait des relations qui pourront donner des résultats justes, mais sans que le système ait la moindre compréhension réelle des concepts évoqués. Pour moi on en est toujours là aujourd'hui
- un système intelligent aurait besoin de "contexte" (l'énoncé ci-avant implique énormément de données contextuelles non décrit, sur la notion de vendre, ce qu'est "un euro" = "de l'argent" = "un moyen intermédiaire de faire du troc", ce qu'est le troc, les valeurs numériques, ce que veut dire "sortir les mains vides", "rentrer dans une boulangerie", etc. : tout çà, un lecteur humain en connaît l'interprétation par apprentissage et/ou vécu). Et donc, un système intelligent aurait ce contexte, aurait la compréhension des relations entre les concepts, et aurait (sans apprentissage, sans piocher dans des données existantes) la capacité de faire des déductions / interprétations logiques (et donc à répondre à n'importe quelle question, même une question qui n'a jamais été posée nulle part). La capacité de "compréhension de texte" nécessite tout çà (sinon on est dans la solution "1" qui sera une "astuce", pourra bien sûr être utilisée dans de nombreuses situations pratiques (écrire un scénario de jdr, optimiser la circulation à un carrefour de ville, etc.), mais aura ses limites (comme la difficulté à répondre à des questions auxquelles l'homme n'a jamais répondu avant).
Alors, ça date un peu cette discussion (oui, déjà) et je ne sais plus quel était notre point de divergence. Du coup plutôt que de répondre à une question dont je ne me rappelle plus, je vais te donner des éléments de contextes.
Là où l'IA pêche c'est en effet sur la formulation du problème. Si tu sais lui formuler le problème d'une manière compréhensible pour elle, elle peut te trouver des solutions aussi bonnes voire meilleures que celles d'un experts humain (go etc...) et/ou répondre à des problèmes qu'un humain ne pourrait pas résoudre à cause de la complexité de traitement (cf ci-dessous pour un exemple sur la génomique).
L'exemple du Go montre que l'IA peut être juste meilleure que l'humain et même être "créative" (coups que les humains pensaient "faibles" mais qui ont mené vers de nouveau terrain de jeux).
Pour le côté complexité du traitement, un exemple tiré de mon travail (la génomique) qui illustre aussi comment ça marche une IA. J'essaie de faire succinct, je peut (beaaaaaaaucoup) le développer si nécessaire.
Je veux savoir quels sont les gènes qui sont des facteurs aggravants pour un type de cancer. Un spécialiste peut, théoriquement compiler toutes les info sur chaque gènes et donner un avis. Compter une bonne journée par gène, donc pour ~30000 gènes, 82 ans sans repos ni vacances. Et encore c'est théorique parce que les "fiches d'infos" sur les gènes ne sont pas exactement centralisées ni même de qualité égale. Et ça reste théorique. Plus pragmatique et avec la possibilité de sortir quelque chose de nouveau : tu prend des patients malades et non-malade, tu regarde la séquence des gènes (qui est une "bonne approximation" d'une carte d'identité du gène) et tu cherche les différences entre les deux groupes. C'est un processus cognitif humain à la base de toutes nos connaissances. Problème, une comparaison de séquences dans différent groupes (plusieurs centaines ou milliers de patients pour une étude "raisonnable"), pour chaque gène c'est long (même avec des programmes adaptés et il y a toujours 30000 gènes... C'est là que les IA entrent en jeu. Elles ne comprennent peut être rien au cancer mais si je leur formule dans leur langage un problème du genre "cherche moi les vecteurs qui, parmi ces 30000 là qui différencient le groupe A du groupe B" c'est un problème qu'elles savent attaquer. Elles font ça (biiiiiiiien) plus vite que moi et peut être même qu'elles vont utiliser des éléments auxquels un spécialiste n'aurait pas pensé. Je peux leur intégrer plus ou moins de connaissances biologiques (le vecteur qui définie un gène ça peut être juste la séquence ou une combo de la séquence et la structure voire d'autres infos). Elles n'utilisent pas de résultats d'autres études. Juste des données dont elles tirent un modèle généralisable. Le meilleur qu'on puisse espérer avec ces données et quelques paramètres que j'ai initialisé dans l'IA (son architecture les fonctions mathématiques qu'elle utilise etc...). Je peux évaluer ce modèle, déterminer si il est bon ET généralisé (de mon point de vue d'expert, en gros 90% d'efficacité, c'est bon ou insuffisant ? spoiler : ça dépend du problème

). Si ça n'est pas le cas, je peux modifier les paramètres de mon IA, améliorer la qualités de mes données et recommencer.
On en revient donc à ChatGPT. Perso, je n'ai pas besoin que ChatGPT soit capable de répondre à ma question "cherche moi les vecteurs qui, parmi ces 30000 là qui différencient le groupe A du groupe B". Ca j'ai déjà. ChatGPT, c'est, pour moi, un pas vers la capacité à transformer ma question "dans ces données, quels sont les gènes qui différencient malades et non-malades" en "cherche moi les vecteurs qui, parmi ces 30000 là qui différencient le groupe A du groupe B". ChatGPT n'est pas "L'IA" c'est "un certain type d'IA" qui fait mieux que ce qu'on a jamais fait dans un certain domaine. Couplée avec d'autres sous forme de "méta-IA", ce qui est le modèle envisagé pour des tâche très complexe genre la voiture autonome), ça peut, avec quelques développements, faire un truc très puissant. ChatGPT ne manipule pas encore les concepts, mais le pas entre 0 capacité de traitement du langage naturel et ChatGPT vs celui entre ChatGPT et ChatGPT alpha zero prime ++ qui inclue la compréhension de concepts fin n'est pas si énorme.
Et pour finir, je reviens sur ton exemple, très intéressant
"Une boulangerie vend des croissants à un euro pièce. Une cliente rentre dans la boulangerie avec 0.50 cts en poche pour acheter un croissant. Elle ressort les mains vides.". Question : "Pourquoi ?" (réponse bien sûr : parce qu'elle n'a pas assez d'argent)
Ca illustre à la fois la capacité des humains à comprendre des concepts mais aussi des axiomes non-formulés, ainsi que le compromis en terme de généralisation de notre mode de fonctionnement
Outre les concepts de système monétaire, de commerce et des figures de style du langage (que les IA savent gérer), il y a aussi des hypothèses non-formulées qui influent sur la réponses. J'en voit au moins deux :
- les croissants plaisaient à la cliente et si elle avait pu elle en aurait acheté
- la boulangerie ne pratique pas le crédit
Même dans notre référentiel commun (boulangerie en France) ces hypothèses ne sont pas 100% sûres. Mais elles sont (très) raisonnables. Ce qui est drôle c'est qu'elles nous paraissent pourtant évidentes. Je doute que tu les ai envisagées en écrivant et je doute que toutes celles et ceux qui ont lu ton exemple y aient pensé de suite. Moi, en tout cas, il a fallu que je me mette a écrire ma réponse pour que ça me saute aux yeux.
Or dans l'optique de créer une IA qui répondraient à ça sans utiliser de similarité avec des questions similaires et qui le ferait à une échelle très élevée (question posée x milliers de fois par seconde dans le monde), l'absence de ces hypothèses pourrait rendre l'IA assez mauvaise puisque dans les cas où le crédit est possible mais où la raison était autre que le prix, l'IA se planterait... et nous aussi !
Et d'ailleurs, si je passe à la phrase
"Une ragvedzjv vend des cejzbdekzjh à un cjdns pièce. Une dfbh rentre dans la ragvedzjvC avec 0.50 dbfckjl en poche pour acheter un cejzbdekzjh. Elle ressort les mains vides.". Question : "Pourquoi ?"
Qui est plus ou moins ce que "voit" l'IA (je lui fait grâce des figures de style), toi aussi tu serais super embêté pour répondre. Tu pourrais faire quelque suppositions, mais tu va très vite en arriver à des hypothèses "quitte ou double", genre cjdns est une monnaie mais dbfckjl c'est une sous-division ou un multiple de cjdns ? En admettant même que tu arrive (par chance) à plus ou moins bien reformuler le problème en "agent A veut se procurer produit1 qui a une valeur de 1 mais agent A n'a que 0,5 fois cette valeur", tu ne saura toujours pas si dans ce contexte de ragvedzjv (boulangerie de mon contexte imaginaire) le crédit est pratiqué et donc si le fait de ne pas avoir la somme à un instant T est un élément suffisant pour ne pas obtenir produit1. Ou si un autre élément à pu expliquer le départ de agent A (trop de monde, autre rendez-vous, produit qui ne convient pas aux attentes etc...)
Tout ça, tu l'a appris par des données, par des exemples et des modèles que tu t'es créé toi-même, qui fonctionne bien dans certains contextes (spoiler, par chez moi ne pas avoir la somme suffisante peut ne pas être un problème si tu es un client "de confiance"). Pourquoi dénierait-on à l'IA de faire pareil ?
Killing Joke a écrit : ↑dim. déc. 11, 2022 12:09 pm
le fait pour AlphaGo ne combattre contre lui même est uniquement un artifice
Je ne vois pas ce que tu veux dire par là. Pour moi, il a beaucoup moins copié l'humain et appris par lui-même. Ce serait en gros l'équivalent d'un joueur de go qui s'enferme pendant 30 ans avec un jeu de go et qui joue 8h par jours contre-lui même. Je ne serais pas surpris qu'il soit fort... Et je n'appellerais pas ça "un artifice"
Killing Joke a écrit : ↑dim. déc. 11, 2022 12:09 pm
"do, try, repeat", pour moi çà reste toujours beaucoup çà, même si en effet c'est réutilisable / portable sur d'autres contextes
quand j'entend do, try repeat, je pense un peu à un programme qui fait le niveau 3 de super-mario 1 des millions de fois jusqu'à retrouver la meilleure séquence de saut/tuer les ennemis, prendre les bonus possible pour finir le niveau le plus rapidement possible. Evidement, ça ne marchera pas sur le niveau 4. C'est très loin du fonctionnement d'une IA qui fait un modèle "généralisable à un niveau acceptable" (compromis efficacité/généralisation). Du coup, tu peux préciser ?