Hello!
bon slrpnk.net a l'air d'être dans les choux alors je lance ce post avec mon compte de secours jlai.lu
Alors je lance cet AMA car ça fait un moment que je bouffe du machine learning à temps plein et pour suivre les news technique, je passe le plus clair de mon temps à lire de l'anglais. Et je trouve qu'en français, ben y a pas grand chose. C'est presque uniquement du discours dystopique mal informé.
Rien sur la recherche sur l'alignement, rien sur les modèles open source (condition sine qua non pour que ça se passe bien), rien sur les évolutions sociales positives que ça peut amener.
On parle juste de OpenAI, Google et Musk qui ne sont que quelques arbres malades d'une forêt bien plus grande.
Perso ça va faire 5 ans que je fais du deep learning professionnellement. J'ai travaillé pour Skymind, qui développait deeplearning4j. Ça vous dira rien, c'est un projet plus ou moins mort, mais c'était une tentative de faire un framework alternatif avant que tout le monde passe à pytorch. Puis je suis devenu principalement utilisateur des gros modèles entraînés par d'autres.
J'ai travaillé sur les modèles de vision au départ et maintenant presque exclusivement sur des modèles de langage. J'ai réussi à passer au 4/5e l'année dernière pour me consacrer aussi avec le fablab local à de la robotique open hardware (où bien sur j'utilise des modèles de deep learning pour la vision).
Ça fait plus de 20 ans que j'ai réalisé que l'IA a le potentiel de changer le monde pour le mieux, c'est pas par hasard que j'ai essayé de m'orienter le plus possible là dedans et ça me fait mal au cœur de voir tant de gens croire que notre seul but est d'aider Sam Altman à se faire quelques milliards de plus, qui ne voient pas les capacités de transformation de cette tech.
J'ai déjà donné quelques avis en anglais pour éviter le "doomism" dans des romans de SF (https://slrpnk.net/post/6100538) mais le faire dans ma langue natale ferait du bien!
Et, si, le titre est correct, ça me fait 6/5 de boulot, mais quand on aime on ne compte pas!
Voila, je préférerais qu'on reste sur ces thèmes mais AMA anyway!
Coucou merci pour l'AMA !
Quelle est la réalité du problème d'AI imbreeding que certains relèvent ? Si j'ai bien compris il y a un risque que les modèles (de langage ou de génération d'image) apprennent sur du contenu généré par IA, ce qui entraînerait à des résultats de plus en plus mauvais ?
Je suppose que ma question est plutôt quelles sont les mesures prises dans le milieu pour s'assurer une sélection de sources de qualité, ou bien quel est le processus qui permet de sélectionner les résultats pour d'entraîner l'IA ?
Et en plus léger, qu'elle est la première fois que tu as entendu parler d'IA ?
Perso je ne crois pas que ce soit un problème, ou en tous cas pas encore. Les publis que j'ai vu sur le sujet semblent indiquer que les sorties de LLMs produisent des datasets de meilleure qualité que les datasets originaux. Et quand on y pense, ça a du sens: un modèle a été entraîné à produire des "bons" textes à partir d'un peu n'importe quoi. Il y a une certaine logique à ce qu'un premier LLM arrive à faire une version améliorée du premier dataset.
Est ce qu'on peut itérer longtemps comme ça? Pas sur, mais je pense qu'on surestime le problème voire qu'on l'imagine.
quelles sont les mesures prises dans le milieu pour s’assurer une sélection de sources de qualité, ou bien quel est le processus qui permet de sélectionner les résultats pour d’entraîner l’IA ?
Pour ceux qui sont dans la course à la perf et au meilleur benchmark: zéro. Tant que mettre plus de données améliore les résultats, ils font ça. Tout github, tout reddit, tout facebook y passe.
La recherche est en train de montrer que - surprise! - la qualité des données d’entraînement influe grandement sur la qualité du modèle et ça intéresse surtout les groupes avec moins de moyens.
Les chercheurs qui travaillent sur les problèmes d'alignement (d'éthique) s'intéressent à ces questions aussi. Par exemple une discussion intéressante avait lieu à EleutherAI pendant qu'ils assemblaient The Pile: Est ce qu'il faut intégrer toute la librairie du Congrès US? D'un coté c'est intéressant d'avoir des siècles de discussion législative, de l'autre, sur une bonne partie de cette période, on considère que les noirs sont une marchandises et sur la majorité de la période, des citoyens de seconde zone.
Ce qu'il y a d'intéressant c'est que des données pourries, biaisées, racistes, peuvent tout de même aider le modèle à s'améliorer, mais il faut que ce soit fait correctement et il y a là matière à des débats qui relèvent de la politique et de la philosophie appliquées ("Peut-on combattre le racisme en ignorant les thèses racistes?" Vous avez 4 heures)
Et en plus léger, qu’elle est la première fois que tu as entendu parler d’IA ?
Oh ça date! Je lis de la SF depuis que je suis petit, et les robots m'ont toujours fasciné, on m'a rapidement expliqué que le software était le plus gros facteur limitant, du coup l'IA devient le problème à résoudre rapidement. Je pense pas avoir eu plus de 12 ans quand on a commencé à en discuter.
J'ai déjà donné quelques avis en anglais pour éviter le "doomism" dans des romans de SF
T'en écris toi même ? Je suis curieux de ce que peuvent donner les LLM en littérature mais j'ai l'impression qu'il faut des prompts bien pensés et écrits pour avoir de bons résultats. Moi en jouant un petit peu j'ai pas eu des trucs très convaincants mais je suis passé sur un stream de MonsieurPhi où il donnait des prompts très longues avec des exemples de texte pour générer des microfictions et ça marchait plutôt bien. Bref, qu'est ce que tu penses des LLMs pour une utilisation "artistique", et est-ce que t'as des exemples de résultats qui t'ont impressionné dans ce domaine ?
Je m'y suis essayé. J'aime bien écrire, mais assez rapidement, écrire de la SF me frustre: penser aux possibilités de la techno me donne envie de les réaliser, pas de fantasmer dessus!
Sur les LLMs et la littérature, j'ai été surpris d'entendre Astier dire un truc qui a mis le doigt sur ce qui me gêne. C'est que la question est pas de savoir si les LLMs peuvent sortir de la bonne littérature, mais de réaliser qu'on lit pour échanger avec un auteur. Alors c'est peut être pas vrai pour tous les lecteurs et tous les livres, mais percevoir l'intention humaine derrière un texte fait en effet partie de l'expérience.
Le problème que j'ai eu quand j'ai essayé des trucs (avec GPT3.5 je pense à l'époque) c'est que les modèles ont du mal à rester cohérents. Tu explores une cave et tu te retrouves sur un balcon, des objets apparaissent ou disparaissent, etc.
C'est pas insurmontable, et perso j'aimerais bien faire des expériences de jeu narratif (où un moteur de jeu classique garantirait la permanence des objets et la cohérence générale) mais je ne vois pas l'intérêt de générer des livres avec des LLMs. Les livres, c'est un medium entre humains. Avec un LLM, je trouve plus intéressant de faire un bot pour discuter avec un personnage ou interagir profondément avec un univers.
est-ce que t’as des exemples de résultats qui t’ont impressionné dans ce domaine ?
J'ai un pote qui bosse dans le domaine et avec qui on partage un gout pour le heavy metal. À peu près au moment où GPT-3 sortait, il m'a envoyé des paroles de chanson générées, dont une en particulier qui m'a bluffée. "Beacon of the Valkyries", qui décrit l'ambiance d'un lieu avant une grande bataille épique. Un thème qui aurait pu être une chanson de Manowar ou Sabaton. Ce qui m'a impressionné c'est que le titre était très bien choisi: il faut comprendre que les Valkyries accompagnent les morts au combat, qu'une bataille va en créer, qu'elles volent, qu'une balise peut donc les guider, que le titre est évocateur.
Depuis beaucoup de gens ont fait des expériences similaires mais à l'époque j'ai cherché un moment sur internet pour vérifier si cette expression n'existait pas déjà quelque part tellement je ne pouvais y croire. Ça m'a convaincu que même une "bête" prédiction de texte pouvait faire émerger une forme de compréhension des concepts.
Sur les LLMs et la littérature, j'ai été surpris d'entendre Astier dire un truc qui a mis le doigt sur ce qui me gêne. C'est que la question est pas de savoir si les LLMs peuvent sortir de la bonne littérature, mais de réaliser qu'on lit pour échanger avec un auteur. Alors c'est peut être pas vrai pour tous les lecteurs et tous les livres, mais percevoir l'intention humaine derrière un texte fait en effet partie de l'expérience
Ouais j'ai vu passé cet extrait aussi, mais je suis pas convaincu par l'argument. Ou alors j'ai du mal à comprendre ce qu'il entend par "intention humaine", et pourquoi une machine en serait incapable. Certains parlent d'âme aussi, mais sans pouvoir le définir clairement, comme si il y avait quelque chose de magique que seul l'être humain peut transmettre à ses créations. J'ai l'impression que c'est un argument qu'on avance parce que l'orgueil en prendrait un trop gros coup si on admettait le contraire, mais depuis la révolution scientifique ce serait pas la première leçon d'humilité qu'on se prendrait dans la face. Et puis de toute façon dans le cas des LLMs il y a toujours un être humain derrière, et donc probablement une "intention".
Avec un LLM, je trouve plus intéressant de faire un bot pour discuter avec un personnage ou interagir profondément avec un univers.
Tout à fait ! (d'ailleurs pour moi ça fait aussi partie de la littérature). Une fiction interactive avec un LLM ce serait ouf. Est ce que tu connais des articles/blogs/communautés qui font des tentatives dans ce sens ou est ce que tu t'y essayes toi même ?
Alors attention, l'argument c'est pas qu'une machine ne peut pas le faire! Je m'attendais de façon un peu blasée à ça quand la question est arrivée et j'ai été surpris par la réponse. Il dit pas qu'une machine ne peut pas le faire, mais que c'est inintéressant si elle le fait, car il lui manque l'intention, le vécu. Quand j'ai lu le Problème à Trois Corps, que j'ai pas trouvé fantastique d'un point vue SF, les passages qui m'ont le plus intéressé étaient ceux qui parlaient des déboires des protagonistes sous Mao, sachant que l'auteur est chinois. Les mêmes passages écrits par un Américain m'auraient moins intéressé. Savoir que La Vie des Autres a été réalisé par quelqu'un qui n'a jamais habité à Berlin Est a rendu le film plus mauvais pour moi.
Un auteur pourrait faire passer une intentionnalité évocatrice ou un style via un LLM, mais je trouve qu'à ce moment le medium est moins intéressant et que ça brouille le canal entre le lecteur et l'auteur.
Tout à fait ! (d’ailleurs pour moi ça fait aussi partie de la littérature). Une fiction interactive avec un LLM ce serait ouf. Est ce que tu connais des articles/blogs/communautés qui font des tentatives dans ce sens ou est ce que tu t’y essayes toi même ?
Ça fait longtemps que ça se fait! Depuis que quelqu'un a fine-tune je sais plus quel modèle sur Harry Potter et fait générer la suite d'un dialogue imaginaire avec les persos, il y a énormément de gens qui s'amusent à ça (80% d'entre eux pour du roleplay érotique mais bon...). Je crois que koboldAI est ce qu'ils utilisent le plus et ils ont des modèles spécialisés pour ça.
Les gens ne savent se projeter.
On parle beaucoup d'agriculture biologique, de la nécessité de réduire les pesticides, mais ça demande du travail laborieux et manuel pour supprimer les mauvaises herbes. Aujourd'hui ce sont des personnes esclavagisées venus de pays pauvres qui font ce travail de fourmi. Ce genre de problèmes pourra être résolu par la robotique.
De même on pourrait supprimer le métier infamant de femme/homme de ménage, et toute sorte de métiers que personne ne veut faire.
De la même manière qu'il existe des gens qui se sont instruits grâce à la radio, la télévision et internet, je suppose qu'il y a également une partie de la population qui saura profiter de cette aubaine pour créer une société nouvelle, plus égalitaire et libre. En revanche je ne fais guère d'illusion pour l'autre partie de la population.
Pour certains domaines, la robotisation est effectivement une aubaine (ligne de production industrielle par exemple, histoire de remplacer charlie chaplin). Par contre l'argument pour l'agriculture est relativement faux. C'est drôle de voir mentionné l'agriculture biologique comme cause d'esclavagisation de la main d'oeuvre. Alors certes, il faut plus de main d'oeuvre en AB, mais la très grande majorité des fermes en agricultures biologiques sont justement contre l'esclavagisation de la main d'oeuvre (même si effectivement, cela n'est pas du tout une obligation dans le cahier des charges), tandis que les fermes en conventionnel au contraire on tendance à devenir très grande, et nécéssiter beaucoup de main d'oeuvre qu'ils esclavagises.
Et puis la valeur ajoutée d'une production agricole est très faible, beaucoup trop pour pouvoir se permettre d'utiliser des robots, dont la fabrication nécéssite beaucoup de ressources et donc un coût qui sera toujours plus élevé pour qu'une ferme puisse se le permettre. Et encore, les robots actuellement bénéficie beaucoup de la main d'oeuvre esclavagisée directement dans des pays plus pauvre que le nôtre. J'entend souvent les gens me dire ça, que bientôt des robots désherberont à ma place, que ça sera la panacée. Actuellement pour rentabiliser les robots de désherbage, il faut faire des grandes surfaces de la même cultures (ce qui apporte d'autres problèmes), mais même avec des grosses améliorations technique, il sera très difficile d'être efficace au niveau consommation de ressources pour le robot par rapport à production agricole.
On pense souvent que l'agriculture est plus pauvre que le reste de la société, mais en fait c'est plus le schéma inverse. La société de consommation (et donc de production) à permis une envolée des richesses (principalement en sur-exploitant les ressources en matières premières et en main d'oeuvre des ex-colonies..), suaf dans l'agriculture, ou certes les rendements on bien augmenté, mais ou l'on reste limité par les lois de la nature, bien plus que dans d'autres domaines.
Cela ne veux pas dire que toute technologie est inutile en agriculture. La gestion automatisée des irrigations permet des gros gains par exemple. Mais c'est relativement simple de construire les programmateurs. J'ai du mal à imaginer comment un objet aussi complexe qu'un robot puisse un jour être vraiment efficace économiquement (actuellement c'est surtout les aides à l'investissement, et les aides aux start-up de robotiques qui compensent), ni même écologiquement.
Il vaut mieux changer notre système agricole pour obtenir des petits modèles ou on désherbe des petites surfaces, et donc on a pas une personne dont le job à temps complet c'est de se casser le dos à désherber, mais quelqu'un dont c'est une petite partie du temps de travail, ce qui est vachement moins fatiguant !
Bonjour et merci pour cet AMA Voici quelques questions que je me pose.
Y a t il un intérêt à continuer l'apprentissage d'un modèle Mistral 7b par exemple ? Si oui est ce que c'est faisable en local sur une machine qui fait tourner le RN si on parle "d'ajouter" un petit corpus de spécialisation par exemple.
Quel est l'intérêt pour Mistral de donner son modèle ? D'ailleurs Il me semble qu'ils ont arrêté. Llama est libre aussi. Quel retour de la communauté attendent- ils ?
Il semblerait que chatgpt soit devenu bon aux échecs. J'ai donc entendu parler de sondes qui semblent montrer que le RN c'est fait une représentation de l'échiquier. Qu'est ce que ces sondes et comment sont elles construites ?
Concernant les prompts qu'elle serait ton explication au fait que de générer des tokens aléatoire en début de réponse amélioré le résultat ? Dans la même idée pourquoi quand on demande de répéter à l'infini le RN retourne une partie du corpus ?
Enfin est il facile de retourner un RN ? C'est à dire de donner une réponse et avoir le prompt correspondant ?
Et merci d'avance !
Y a t il un intérêt à continuer l’apprentissage d’un modèle Mistral 7b par exemple ?
Alors il y a plusieurs façons de comprendre cette question, et oui à toutes ses acceptations.
-
Si tu parle de continuer l'entraînement total du modèle: oui, on sait que la plupart (tous?) les modèles disponibles sont sous-entraînés. Il y a un point où on ne gagne qu'un petit peu en continuant d’entraîner longtemps mais le gain continue à être positif, donc oui. Par contre ça prend beaucoup plus de VRAM que de faire tourner une version du modèle en inférence. Je ne sais plus quel est le multiplicateur mais c'était 16 ou 24x je ne sais plus par rapport à un modèle quantizé.
-
Si tu parles de le spécialiser, tu veux peut être parler de fine-tuning. Dans ce cas là, c'est tout à fait possible sur une machine même modeste grâce à des optimisations de type LORA (et on a peut être inventé d'autres moyens d'accélérer ça depuis?) qui te permettent de n’entraîner que de petite touches du modèle. Par contre là, attention! J'ai essayé de faire ça en espérant apprendre de nouveaux faits à un modèle, et ça n'a pas marché. Le fine-tuning permet de facilement changer le "style" de sorte d'un domaine. Par exemple si tu veux lui donner une certaine personnalité, lui faire apprendre une autre langue ou lui faire utiliser une API particulière. Par contre ça marche assez mal pour les nouveaux fait et risque d'augmenter ses hallucinations (car tu lui apprends à répondre des choses non présentes dans ses "couches profondes" de connaissances. C'était à l'époque de Llama2, ça a peut être changé depuis je n'ai pas réessayé, mais il y a une raison pour laquelle les gens qui veulent faire apprendre de nouvelles connaissances à un système préfèrent le RAG.
Quel est l’intérêt pour Mistral de donner son modèle ? D’ailleurs Il me semble qu’ils ont arrêté.
Dés le début Mistral a joué franc jeu, il faut le leur reconnaître: ils avait prévenu que leurs plus gros modèles seraient fermés. Ils ont donné des modèles très bons, petits en libre pour se faire connaître et ça a marché et valu le coup. Une réputation comme la leur vaut des milliards, ça leur a coûté des millions. C'est une bonne affaire.
Llama est libre aussi. Quel retour de la communauté attendent- ils ?
Llama, pour ceux qui ne le savent pas, c'est Meta, donc Facebook derrière. C'est pas de l'angélisme (à part pour Yann Le Cun, leur directeur IA semble vraiment idéologiquement pour l'IA open source, un gros <3 pour lui) et Zuckerberg le disait clairement, posément, cyniquement: "notre gros modèle a coûté ~10 milliards à entraîner [je pense que c'est exagéré mais c'était cher quand même]. dans les 10 prochaines années on va dépenser autour de 100 milliards en IA. Si la communauté open source rend nos modèles 10% plus performants, on s'y retrouve". C'est imparable. Eux sont utilisateurs, pas vendeurs, et ils préfèrent des bons modèles qui tournent chez eux que de dépendre du bon vouloir d'OpenAI. Et la communauté a déjà probablement fait plus qu'améliorer de 10% leurs perfs donc bon calcul pour Zuck.
Il semblerait que chatgpt soit devenu bon aux échecs. J’ai donc entendu parler de sondes qui semblent montrer que le RN c’est fait une représentation de l’échiquier. Qu’est ce que ces sondes et comment sont elles construites ?
Les modèles spécialisés enfoncent ChatGPT aux échecs (pour donner une idée, le Elo d'un débutant aux échecs est de 1000, le champion humain actuel, Magnus Carlsen est à 2800, le meilleur soft est à 3600).
Mais oui, c'est intéressant parce que ChatGPT a des capacités émergentes en la matière. Ces sondes sont faites par des gens qui ont accès au modèle pendant qu'il tourne et viennent regarder les "neurones" activés dans les différentes couches du modèle. Je ne sais pas comment ils ont fait dans le cas présent mais une façon de faire pourrait être de poser un problème d'échec et de demander à ChatGPT de compéter "la case C2 contient" puis "la case C3 contient", etc. et regarder quels zones sont activées. Il y a probablement une couche d'attention où "l'état mental" de l'échiquier est contenu.
Sur ChatGPT, seul OpenAI est capable de faire ça, mais sur des modèles ouverts, toute personne faisant tourner le modèle peut faire une manip du même genre. Ces réseaux ne sont pas totalement des boites noires: on peut aller bidouiller à l'intérieur. On parle de boite noire parce qu'il n'est pas nécessaire de le faire, mais on peut les ouvrir, on a la clef, quand ils ne sont pas propriétaire.
Enfin est il facile de retourner un RN ? C’est à dire de donner une réponse et avoir le prompt correspondant ?
Oui! Il s'agit de faire une passe d'apprentissage où on fixe les paramètres du modèle et on "apprend" le prompt. Je ne l'ai jamais fait, la théorie est assez simple, je ne sais pas si c'est difficile en pratique, mais des gens qui explorent la sécurité des modèles utilisent ça. Ils vont par exemple trouver qu'une séquence du genre "%!!%(#@*....{{{32!(D le président de la France est" va faire bugger le modèle et lui faire sortir "Michaël Youn".
Sur les échecs, apparemment le secret c'était surtout de lui faire compléter un fichier descriptif d'une partie d'échec (y a un espèce de standard j'ai perdu le nom).
Mr Phi avait fait une vidéo intéressante là-dessus.
Ça a du sens mais comme ça ma première impression c'est que c'est une mauvaise idée de forcer à générer tout l'échiquier en une prompt. Arrivé à la dernière ligne, tu ne sais pas s'il avait en tête toutes les cases ou s'il se base sur ce qui a été généré pour déduire le reste.
Tu peux lui faire coup par coup, c'est juste que tu le mets mieux en condition avant un prompt d'en-tête de ce type de fichier qu'avec un prompt verbeux type "tu es un grand champion d'échec, on joue une partie, je commence: pion en B2". C'est ce que j'en ai compris du moins.
Si tu as pas vu la vidéo de Mr Phi, elle peut t'intéresser, elle est vraiment pas mal. Il parle notamment de ton dernier point avec des expériences qui ont été faites en générant un début de partie au hasard.
Après, c'est sûr qu'un LLM, c'est pas Deep Blue...
-
Les enjeux environnementaux et énergétiques ont-ils une influence sur la trajectoire de la recherche en IA ? Y a-t-il des efforts pour rationaliser la complexité des algorithmes d'IA ou les économies se font sur l'améliorer des processeurs ?
Je ne suis pas sur de ce que tu demandes. La plupart des modèles open source publient le bilan carbone de leur entraînement. Le plus gros (llama3) semble avoir émis l'équivalent d'un aller-retour international en avion. Ce qui est très faible pour les retombées attendues, ne serait-ce qu'en climatologie. Je pense qu'une réunion du GIEC émet plus.
Y a-t-il des efforts pour rationaliser la complexité des algorithmes d’IA ou les économies se font sur l’améliorer des processeurs ?
Ça va dans les deux sens. On attend de pied ferme la prochaine génération de circuits spécialisés, mais en attendant on tente d'améliorer les perfs des petits modèles. Pas mal de gens préfèrent fine-tuner (spécialiser) un petit modèle que d'utiliser un gros modèle générique. Le coût économique et l'impact écologique se rejoignant, c'est une tendance qui n'a pas à se cacher derrière du greenwashing.
As-tu des ressources à nous suggérer sur le thème d'IA éthique ? J'ai lu récemment "Arms of maths destruction", qui ne porte pas que sur les IA, et je ne veux pas m'arrêter là.
D'ailleurs comment définies-tu l'IA éthique ?Le mot clef c'est "alignment problem": le problème est "d'aligner" les prédicats éthiques des modèles sur les prédicats humains afin que les "décisions" implicites n'aient pas des effets désastreux. Par exemple si tu demandes à une machine d'aller faire du café, elle n'est pas supposer écraser un bébé humain qui est sur le passage.
Je ne suis plus trop le thème de l'éthique mais l'endroit où j'avais trouvé le plus de ressource, c'est le discord de EleutherAI qui a toute une section "alignment" dont un channel "beginner" .
J'ai arrêté de m'y intéresser quand j'ai compris ce mème (je ne poste pas souvent un mème mais quand je le fais, c'est un repost de Karpathy :-) )
Les LLMs comprennent les préférences humaines par nécessité et ça inclut les préférences morales. C'est un scénario tellement rose qu'aucun auteur de SF ne l'a imaginé: comprendre les humains suffisamment bien pour interagir passe par une compréhension de leur moralité. Une chose qu'on a aussi beaucoup de mal à imaginer, c'est que ces modèles n'ont pas d'ego, d'instinct de survie, d’égoïsme, à l'origine de plein de problèmes qu'on projette dessus.
Non j'en suis venu à la conclusion que le problèmes c'est pas le "AI alignment problem" mais le "corporation alignment problem": les IAs feront ce qu'on leur demande, ça semble acquis. Le problème c'est justement ce qu'on va leur demander.
Très spécifique mais : les robots aspirateurs sont-ils un exemple d'utilisation de l'IA en robotique ? Je n'ai pas la moindre idée du genre de programme qu'ils utilisent.
"IA" est un terme vague qui peut englober presque n'importe quel algorithme, donc un vendeur va tout le temps te dire qu'il y a de l'IA dans son aspirateur dés qu'il y a le moindre capteur.
Les aspirateurs automatiques vont du truc très simple qui fait de la spirale et tourne à gauche en cas de collision à des choses plus élaborées qui font une carte de leur environnement. Je ne pense pas qu'ils aient besoin de deep learning pour ça, j'imagine qu'il y a déjà suffisamment à faire en piochant juste dans les algos connus de SLAM
Un neurone au sens d'une IA est une représentation assez abstraite d'une programme qui est implémentée sous une forme qui ne rappelle pas vraiment l'architecture du neurone. Y a-t-il un choix possible dans la représentation abstraite de l'IA ? Je veux dire est-ce qu'une IA qui est réseau de neurone peut être plutôt décrite comme un [insérer ici une autre architecture de l'IA (transformer peut-être... Je connais pas bien ces choses-là) ] ?
Les modèles utilisés sont contraints par deux choses: les GPUs sont très optimisés pour les multiplications matricielles, et la fonction produite par ton modèle doit être dérivable vis à vis de tous ses paramètres.
En fait dans les modèles actuels, on ne pense pas en terme de neurones, mais plutôt de couches. Tu as une couche de neurones suivie d'une couche d'attention, suivie d'une couche de convolution, à laquelle tu ajoutes les entrées, etc.
On est très influencés par les opérations optimisées pour GPU, donc on va plutôt penser en terme de matrices. Deux couches de N neurones se suivant et où chaque neurone est connectée à tous ceux de la couche de N neurones suivante, c'est un "fully-connected layer" ou un perceptron. Ça s'exprime sous forme d'une matrice de poids: tu mets tes entrées sous forme de vecteur, tu multiplies par la matrice de poids et tu as généralement une "non linéarité", c'est à dire une fonction de type RELU ajoutée après la multiplication.
L'autre façon de voir un modèle est de dire que ce que tu veux est une fonction continue prenant un vecteur de dimension N_i en entrée et N_o en sortie et dérivable selon chacun de ses millions de paramètres (typiquement, les paramètres sont les poids des synapses du réseau de neurones).
On parle vraiment peu de neurones. Les devs proches de l'optimisation parlent en terme de matrices, ceux proches de la théorie mathématique en terme de fonction, et un bon modèle doit prendre les deux points de vue en considération.
Tu peux tout à fait imaginer un modèle plus proche des neurones biologiques, mais avec ces deux contraintes: fonction continue et dérivable par rapport à chaque paramètre, et si tu veux que ce soit rapide, maximum de calcul parallèle sous forme de matrices (de tenseurs en fait, qui est le petit nom des matrices de dimension supérieure à 2)
AJA qu'on ne disait pas hyper-matrice.
AJA tout ce que tu as dit d'autres c'est vachement intéressant. Encore merci.
Alors à vérifier avec un mathématicien si je ne fais pas un anglicisme. Comme à son habitude sur les sujets mathématiques la wikipédia française est inutilement pédante et alambiquée, et dit que c'est un usage abusif du terme sans dire comment ça devrait s'appeler.
Quelle(s) question as-tu espéré ou craint qu'on te pose sans qu'elle ne soit venue ?
J'ai eu peur qu'on ne me parle que d'environnement (tl;dr: l'impact de ces techs est pas énorme et indirect) j'ai été déçu, mais je m'y attendais, qu'on ne parle pas beaucoup de la société post-travail.
Quelle est selon la meilleure approche pour approfondir des connaissances en IA une fois sortie du monde universitaire ?
Pour une meilleure compréhension des IA pour quelqu'un qui a déjà un bagage théorique sur le sujet le point de vue mathématiques/statistique est-il plus ou moins intéressant que le point de vue informatique ?Ce qui manque souvent aux universitaire c'est la pratique. Bosser dans le domaine, c'est à 95% de la plomberie, et à 5% de la théorie. Apprend à utiliser les outils, git, jupyter, pip, vLLM (si c'est de LLMs dont tu parles), docker, pandas, numpy, les différents packages spécialisés, etc. (et je ne mentionne pas les libs bas niveau d'optimisation, si c'est ton sujet y en a pas mal aussi mais je connais moins)
Perso j'ai un biais pro-maths et pro-théorie: je trouve ça important de comprendre ce que le modèle fait pour l'utiliser bien mais plein de gens bossent dedans sans trop savoir. Mais ça aide de façon invisible. Exemple: Je me doutais qu'un LLM devenait plus intelligent si tu lui donnais une consignes, et que tu le forces à générer une centaine de symboles inutiles avant de commencer à te répondre. Ça choque même des gens du domaine, mais si t'as compris ce que les chain-of-thought provoquent tout est logique.
Je discutais avec une équipe internationale à Penang d'un truc qui m'intriguait: même en Asie je trouvais plein de francophones dans le domaine. Un Malaisien m'a dit "vous avez une meilleure culture mathématique, ça aide" et c'est peut être un peu prétentieux de le dire, mais j'ai l'impression que c'est vrai. On fait plus de théorie, ça nous aide dans des niches moins maitrisées par les devs capables de vite sauter d'une lib à l'autre sans savoir ce qu'elles font.
Quelles genre de pratique vises-tu ? Fine-tuner des modèles existants. Construire plein de mini-modèles from scratch pour classer les pétales d'iris et prédire les chiffres du transports aériens ? Autre ?
Ce qui t'intéresse le plus! Tu peux assembler un petit classifier et l'entrainer from scratch, fine-tuner un petit modèle existant ou bien juste utiliser des modèles.
MNIST, un classifieur d'images 24x24 de chiffres écrits à la main, est un bon exercice de départ.
Charger un modèle pré-entrainé et aller examiner ses représentations latentes est aussi rigolo.
Est ce qu'il y a un domaine qui fait battre ton coeur sur lequel on peut récupérer des données facilement?
Note qu'aujourd'hui avec des LLMs, même des données textuelles sont relativement faciles à analyser.
Des ressources français, anglais ou autre pour développer ce côté math-théorie ? Pour le côte pratique, il y en a plein YouTube (^_^)
Merci, tant que j'y suis, pour tes réponses. Je lis toutes même quand je ne répond pas forcément.
Alors la théorie je l'ai beaucoup faite via des articles de blog de type <notion> explained. "Layer normalization explained", "BERT explained". Il y a quelques publis qui sont intéressantes à lire mais sur les technos qui ont plus d'un an, une bonne explication sur un blog aidera à aller au but et ajoutera en plus des infos sur l'utilisation actuelle de cette tech.
Les choses à comprendre:
- La descente de gradient, c'est la base de tout
- Le perceptron multicouche, le layer le plus simple
- Le rôle des optimizers
- Les différentes "couches":
- Full connected layer (c'est la même chose qu'un perceptron)
- Convolution
- Softmax (techniquement une fonction d'activation mais elle est importante)
- Normalisation
- Dropout
- Attention
- Maxpool (ça s'utilise encore ça?)
- Dans les LLMs, comprendre les tokenizers
- Dans la génération de media, comprendre les modèles de diffusion et les GAN
Ah, et tu croiseras probablement des bayesiens à un moment dans cette exploration. Ils vont te parler de "priors" de fonction de distribution, tout exprimer sous forme de proba... Je blague un peu en disant que c'est une secte à part, mais c'est principalement une différence de vocabulaire: ils voient tout sous le prisme de la théorie bayesienne que (personnellement) je trouve qu'il font rentrer au chausse-pied en compliquant des notions simples. Mais je le dis pas trop fort, ça vire souvent à la guerre de religion sinon :-)
De mon humble position d'étudiant n'ayant pas compris la moitié de ce que m'ont expliqué mes profs, les bayésianistes et les fréquentistes disent la même chose mais le formulent différemment. Même si la formulation des bayésianistes fait apparaître des stat partout, ça revient au même à la fin et le conflit bayésianistes/fréquentistes et le même que pain-au-chocolat/chocolatine.
Merci pour la liste, elle me sera très utile.
C'est pas complètement faux si tu t'en tiens aux probas, mais c'est quand même plus compliqué que ça, c'est pas juste un débat sémantique.
D'un point de vue statistique, y a une zone grise entre les deux points de vue, mais il y a aussi des approches exclusives à l'une ou l'autre perspective et cette différence d'algorithme explique aussi l'essor moderne des stats bayésiennes: le MCMC a permis de faire tourner des modèles très compliqués à faire converger en maximum de vraisemblance. L'ABC permet même de se passer de vraisemblance tout court!
D'un point de vue épistémique, c'est quand même deux points de vue très difficile à réconcilier, et ça a une importance sur comment on fait de la science (les statistiques, c'est un peu de l'épistémo pratique!).
J'ai retrouvé une playlist francophone sur le machine learning de @HugoLarochelle@YouTube.com qui m'avait bien aidé à l'époque. Il a fait apparemment aussi le traitement automatique du language.
Malheureusement, sa playlist sur les réseaux de neurones est dans la langue de Shakespeare.
Où les perspectives d'avenir sont-elles les plus grandes : dans le développement de nouveaux concepts ? dans l'entraînement de nouveaux modèles ? dans la mise en place de solution à partir des modèles existants ?
Oui :-)
Et j'ajouterais: dans l'IA appliquée à la robotique.
Mais si tu développes des compétences dans un de ces domaines, je pense que tu seras employable jusqu'à ce que plus personne ne le soit (ce qui, j'espère, arrivera dans les 10 prochaines années)
Y a-t-il des possibilités d'implication dans la communauté de l'IA open-source pour une personne sans bagage sur le sujet et ne souhaitant pas s'impliquer dans la technique ?
Alors dans un sens pas vraiment, parce que ça reste un sujet principalement technique mais perso j'aimerais bien trouver un moyen parce que c'est un sujet qui dépasse la technique et qui a une composante politique à laquelle les utilisateurs doivent être associés. Je pense que faire de la traduction ou de la vulgarisation sous un angle qui promeut plus l'open source que les solutions des boites privées, ça ne demande pas un bagage technique super important, mais c'est une mission cruciale aussi!
Il faut quand même comprendre au moins superficiellement ce que ces modèles font et comment on les utilise, mais ça demande pas une thèse de math.
En open source on appelle ça un rôle d'évangélisateur: une sorte de power user qui sait faire le lien entre devs et utilisateurs.
C'est important oui. Par contre, qu'est-ce que je désteste cette manie de balancer des termes religieux dans les noms de métiers ! On ne peut pas appeler ça un lobbyiste tout simplement ?
C'est une manie américaine :-)
Ah mais un lobbyiste fait ça pour l'argent, là on parle de quelqu'un qui fait ça pour la bonne cause et par foi! Mais si tu préfères on peut appeler ça de l'agit-prop!
Je suis pas bon à ça... /r/machinelearning pour la théorie, /r/locallama pour la pratique, malheureusement les équivalents Lemmy sont déserts et j'ai pas la motivation de les faire vivre. Suivre des chercheurs IAs et robotique est la seule raison pour laquelle je suis encore sur Twitter, j'ai nettoyé ma tweet list de tout le reste. Pas très complet, mais si ça t'intéresse voila les gens que je suis: https://twitter.com/ktp_programming/following
Quels sont les conseils que tu donnerais à des professionnels qui veulent mettre en place des solutions l'IA éthique ? Ici j'entends par éthique, qui ne soient pas un renforcement de la déshumanisation des prises de décision, du "c'est comme ça et c'est tout", des systèmes bureautiques incompréhensibles et peu flexible face au besoin réel.
On dit souvent qu'il faut faire en sorte que IA ne reproduise pas les biais systémiques des humains mais quels sont les actions concrêtes à mettre en place ?Nous (les devs de solutions d'IA) on a un mandat simple: que l'IA soit controllable, prédictible, qu'elle fasse ce qu'on lui demande.
Certains pensent qu'on doit faire des systèmes qui refuseront d'obéir à certaines choses, qu'elles corrigeront les biais humains automatiquement. Je suis en désaccord (soft, on peut en discuter). Si tu demandes à une IA de reproduire un système injuste, elle le fera. Mais si tu lui dis "reproduis ce système mais en en retirant le biais sexiste et raciste" elle le fera. Il faut juste reconnaître et accepter ce besoin.
Pour la déshumanisation par les algorithmes, le problème est humain, pas technique. Cette BD l'exprime mieux que moi: https://grisebouille.net/panique-algorithmique/
Mention spécial à ce grand Homme qu'est Al-Kwarizmi. Savant et vulgarisateur de génie qui a marqué son époque et le cours de l'Histoire au point d'être derrière les mots algorithme et algèbre, au point d'être la cause de la diffusion des chiffres arabes en occident.
Vive les Ouzbeks !le problème est humain, pas technique.
100 % d'accord. Cependant, la question technique et la question humaine vont pour moi de paire.
L'IA renvoi un modèle, un algorithme dont la construction n'a été supervisée que indirectement par un être humain et dont la structure peut être extrêmement complexe. Comment éviter les biais dans ces algorithmes ? Au delà d'arrêter, nous-autres développeurs, d'être sexistes, racistes et tout ce que tu veux, comment prendre conscience des biais implicites, des reproductions d'oppression systémique que nous somme en train d'écrire dans nos IA ?
Je ne pense pas que quiconque ait voulu que son IA écart les CV des femmes ou qu'elle confonde les noirs et les chimpanzés mais c'est arrivé.
Comment prévenir ces problèmes plutôt que de devoir les guérir ? Et comment guérir les IA déjà existantes de leurs biais ?Alors il y a sûrement plus de réponses techniques que tu imagines! Mais déjà parlons de l'aspect humain, il y a 2 problèmes humains à mon sens qu'on aura du mal à résoudre purement techniquement:
-
Reconnaître qu'il y a un biais à corriger dans le dataset et vouloir le corriger. Si on a un dataset de décisions RH qui écarte les femmes par sexisme, et qu'on reçoit l'instruction "entraîne un modèle qui nous remplace le plus précisément possible", la mission est d’entraîner un modèle sexiste. À nous de le refuser ou de prouver que le boulot en question ne requiert pas une bite pour être fait correctement.
-
Arriver à articuler clairement nos buts. Un effet pervers intéressant avait été montré via un algo qui aidait les étudiants et les étudiantes à s'orienter vers la filière qui avait le plus de chance de déboucher sur un diplôme. Une université avait un taux de réussite plus faible chez les femmes, probablement par sexisme, du coup l'algo n'a proposé que des hommes pour cette université. C'est en effet dans l'intérêt des étudiantes. Et c'est un biais sexiste. Est-ce ce qu'on veut?
Une fois ces problèmes passés, le problème posé est comment créer un modèle non-baisé à partir d'un dataset biaisé.
Une des présentations les plus intéressantes que j'ai vu sur ce thème, et qui tenait de la discussion technique autant que de la philosophie appliquée démontait quelques approches naïves sur un cas d'école: prédire la peine d'accusés dans des tribunaux US. Il est bien documenté que la justice US a un biais raciste auquel s'ajoute un racisme systémique.
- Impossible de cacher la "race" de la personne concernée, de trop nombreux proxys existent: lieu d'habitation, d'étude, lieu d'arrestation, etc.
- Impossible de forcer un quota de décisions: la police est raciste aussi et arrête plus de noirs, forcer le même taux de condamnation serait tout aussi injuste voir amplifierait les injustices!
- Impossible d'ajuster avec une constante manuelle, le biais raciste n'est pas constant.
La solution proposée consistait à expliciter les variables sur lesquelles un biais existait, c'est à dire un déséquilibre dans le dataset, et forcer une décorrélation entre le jugement et ces variables. Le système apprend alors tout ce qui est corrélé à la "race" et le différencie de ce qui amène à une condamnation. Il y a des noirs innocentés, il y a des blancs condamnés, apprendre les critères qui permettent ça donne un système qui a pu retirer le biais de son dataset, à condition qu'on le lui ait pointé du doigt.
forcer une décorrélation entre le jugement et ces variables. Le système apprend alors tout ce qui est corrélé à la “race” et le différencie de ce qui amène à une condamnation.
C'est passionnant. Merci. Je crois que je vais creuser ce sujet.
-