Deux articles intéressants sur l'IA conversationnelle - Page 2
Discussion fermée
Page 2 sur 4 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 109

Deux articles intéressants sur l'IA conversationnelle



  1. #31
    Deedee81
    Modérateur

    Re : Deux articles intéressants sur l'IA conversationnelle


    ------

    Citation Envoyé par pm42 Voir le message
    Le forum FS est potentiellement obsolète sous sa forme actuelle dans quelques années.
    Ca ça m'ennuierait pas comme membre / modérateur. Mais parce qu'un forum est un forum "entre humain" (même si certains utiliseraient des IA.). Et son obsolescence signifierait que les conversations humaines le seraient. Ce qui me semble quand même assez fou. Si par contre c'est une assistance/outil pour les forums, pourquoi pas. Ca peut être utile pour les questions (nombreuses) de type "scolaires"

    -----
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  2. #32
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Je pense au contraire que ça va augmenter l'importance de l'aspect humain, la capacité à communiquer.

    Mais pour beaucoup de questions, une IA fera ça mieux : réponse immédiate, factuelle, etc et encore plus quand elles auront fait les progrès discutés ici : mémorisation des sources, renvoi vers des IA spécialisée par domaine, etc.
    Si j'ai le temps et le budget j'essaierai d'entraîner GPT-4 sur un sous forum pour voir.

  3. #33
    GBo

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Deedee81 Voir le message
    Ca ça m'ennuierait pas comme membre / modérateur. Mais parce qu'un forum est un forum "entre humain" (même si certains utiliseraient des IA.). Et son obsolescence signifierait que les conversations humaines le seraient. Ce qui me semble quand même assez fou. Si par contre c'est une assistance/outil pour les forums, pourquoi pas. Ca peut être utile pour les questions (nombreuses) de type "scolaires"
    Bonjour,
    C'est une question de volonté Deedee81, par exemple utiliser ChatGPT ou GPT pour générer des réponses sur Stack Overflow n'est plus accepté jusqu'à nouvel ordre:
    https://stackoverflow.com/help/gpt-policy
    Bien lire les raisons invoquées...
    cdlt,
    GBo
    Dernière modification par GBo ; 12/04/2023 à 09h17.

  4. #34
    Deedee81
    Modérateur

    Re : Deux articles intéressants sur l'IA conversationnelle

    Ah merci, ça c'est intéressant !!!!!
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  5. #35
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Deedee81 Voir le message
    Ah merci, ça c'est intéressant !!!!!
    Mais comme on l'a souvent fait remarquer stackoverflow est très différent de FS en terme de sujets, modération, types de participants, notes des réponses.

    Il n'a pas vocation à vulgariser mais à être une référence.

    Et effectivement il n'y a aucune raison d'y poster des réponses automatiques surtout que ce qui fait aussi sa valeur c'est d'avoir la personne qui est tombée sur le même problème rare sur lequel on bloque.

    Si on veut une réponse synthétique à une question pas ultra-pointue autant aller demander à un GPT directement.

    Sur FS si on prend le forum Programmation les questions sont largement plus simples et viennent surtout de débutants.

  6. #36
    Avatar10

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par pm42 Voir le message
    Mais comme on l'a souvent fait remarquer stackoverflow est très différent de FS en terme de sujets, modération, types de participants, notes des réponses.

    Il n'a pas vocation à vulgariser mais à être une référence.
    Et le fait qu'une IA généraliste puisse travailler avec des IAs spécialisées, ne va t il pas donner ce statut de "référent" aux GPT ?

  7. #37
    Deedee81
    Modérateur

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Avatar10 Voir le message
    Et le fait qu'une IA généraliste puisse travailler avec des IAs spécialisées, ne va t il pas donner ce statut de "référent" aux GPT ?
    Difficile à dire en l'état !
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  8. #38
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Deedee81 Voir le message
    Difficile à dire en l'état !
    Par contre et je ne sais plus si je l'ai déjà dit mais ce couplage d'IAs est déjà utilisé.
    Quand on pose une question à ChatGPT, ce n'est pas lui qui détecte qu'elle est "offensante".

    C'est une autre IA qui a été entraînée juste pour ça et qui laisse passer la requête ou pas.

  9. #39
    Archi3

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Deedee81 Voir le message
    Ca ça m'ennuierait pas comme membre / modérateur. Mais parce qu'un forum est un forum "entre humain" (même si certains utiliseraient des IA.). Et son obsolescence signifierait que les conversations humaines le seraient. Ce qui me semble quand même assez fou.
    on parie que ça n'arrivera donc pas ?
    Si un forum comme FS ne servait qu'à échanger des informations factuelles, ça se saurait ...
    Dernière modification par Archi3 ; 12/04/2023 à 11h00.

  10. #40
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Petit exemple pour le forum. J'ai vu cette question : https://forums.futura-sciences.com/p...-fonction.html

    Avant que je n'ai eu le temps de répondre, le primo-posteur avait trouvé une solution concise mais sans la comprendre.

    J'ai posé sa question à GPT-4 en copier/coller sans ses remarques perso.

    Ca donne :
    Si je comprends bien, vous souhaitez utiliser la valeur de i au moment de l'ajout de la commande plutôt que la valeur de i au moment de l'appel de la fonction cptetreso. Dans ce cas, vous pouvez utiliser une fonction de fermeture (closure) pour encapsuler la valeur de i.

    Voici comment vous pouvez modifier votre code pour y parvenir :

    Code:
    def make_callback(value):
        def callback():
            cptetreso(value)
        return callback
    
    i = 1
    for ligne in lignes:  # Ici je suppose que vous avez une boucle qui parcourt les différentes lignes
        mb.menu.add_command(label=str(i) + ', comptes ' + ligne, command=make_callback(i))
        i = i + 1
    Dans ce code, la fonction make_callback crée une nouvelle fonction callback qui appelle cptetreso avec la valeur de value (qui est en fait la valeur de i à un moment précis) et la renvoie. Lorsque vous appelez make_callback(i), la valeur de i est capturée par la fonction callback. Ainsi, lorsque vous cliquez sur un élément de menu, il appellera cptetreso avec la valeur appropriée de i.
    C'est parfaitement correct et c'est une variante de la solution à laquelle j'avais pensée. C'est peut-être un peu verbeux mais c'est aussi très pédagogique.

    Et bien sur, tout cela est affiché formaté donc très lisible.
    C'est juste un exemple. Mais pas mal de questions en maths, physique et autres seraient de cette qualité et surtout, on verra où on en est dans 5 à 10 ans.
    Images attachées Images attachées  

  11. #41
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Un autre exemple basé sur un fil récent où Deedee81 a répondu : https://forums.futura-sciences.com/d...possibles.html

    Idem, j'ai copié/collé la question (sans son titre).

    L'avenir de l'univers est encore incertain, et plusieurs scénarios théoriques sont actuellement débattus par les scientifiques. Voici quelques-uns des principaux scénarios :
    • Big Crunch : Dans ce scénario, la force gravitationnelle finirait par l'emporter sur l'expansion de l'univers, provoquant un ralentissement, puis un arrêt de l'expansion, suivi d'un effondrement sur lui-même. La matière serait condensée en un état de très haute densité, peut-être menant à un autre Big Bang.
    • Big Bounce : C'est une variante du Big Crunch qui propose que l'univers se contracte et se ré-expande périodiquement, entraînant une série infinie de Big Bangs et de Big Crunchs. La matière continuerait à exister sous diverses formes au fil des cycles successifs.
    • Big Rip : Dans ce scénario, l'accélération de l'expansion de l'univers deviendrait tellement rapide que toutes les structures, des galaxies aux atomes, seraient déchirées. À la fin de ce processus, la matière elle-même cesserait d'exister sous une forme cohérente.
    • Big Freeze (ou mort thermique) : Ici, l'expansion de l'univers continue indéfiniment, entraînant un refroidissement progressif de toutes les structures cosmiques. Les étoiles épuisent leur carburant et meurent, et la matière dérive lentement vers un état d'équilibre thermodynamique, où plus aucune réaction ne peut avoir lieu.

    En ce qui concerne la stabilité du proton, si les protons sont instables et se désintègrent, cela aurait des conséquences sur l'évolution à long terme de l'univers. Toutefois, les expériences actuelles n'ont pas encore observé de désintégration du proton, et sa durée de vie est estimée à au moins 10^34 années.

    Il est important de noter que ces scénarios ne sont que des hypothèses basées sur notre compréhension actuelle de l'univers, qui continue d'évoluer. De nouvelles découvertes pourraient révéler des mécanismes ou des forces encore inconnus, modifiant notre compréhension de l'avenir cosmique.
    Et bien sur, on peur lui demander des précisions, de réexpliquer autrement : la patience de l'IA est infinie.

  12. #42
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Deedee81 Voir le message
    Ca me fait penser à un des participants en astrophysique, mais je ne crois pas qu'il soit une I.A.
    Oui. Je vais arrêter de dériver pour éviter que le fil ne redevienne un "l'IA ne marche pas".
    Ce que je voulais dire par "le forum est obsolète", c'est qu'historiquement, on est allé chercher la connaissance auprès des sources de références qui ont changé.
    Les 1ers étaient les shamans et autres sorciers de la tribu puis on a eu les philosophes grecs (ce qui inclut les scientifiques).
    Avec l'imprimerie, c'est le livre puis le journal qui sont devenus nos sources principales même si les grandes bibliothèques scientifiques avaient déjà une histoire
    Il y a ensuite eu la radio et la télé qui étaient d'autres sources de "vérité/connaissance" et on c'est encore partiellement le cas pour certains.

    Puis Internet est arrivé et au début, on faisait nos collections de signets.
    Mais les moteurs de recherche ont tout changé et ils sont devenus la source principale. Par exemple, si pour répondre à une question, je me souviens d'avoir lu quelque chose dessus ou si je cherche une référence ou que je veux vérifier mes souvenirs, je fais une recherche.

    Les forums et autres sites "sociaux" sont des sources alternatives qui ont leurs avantages et inconvénients mais qui sont aussi concurrencés par les dits moteurs de recherche.
    Les IAs vont offrir une alternative très puissante.

  13. #43
    Deedee81
    Modérateur

    Re : Deux articles intéressants sur l'IA conversationnelle

    Ca dérivait encore méchamment et on a tous participé, moi inclu.

    J'ai essayé de faire un petit nettoyage. J'espère ne pas avoir été trop large.
    pm42 ayant redressé de lui-même la barre au message 42, ça peut reprendre là.

    Merci,
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  14. #44
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Pour Deedee81 et les autres programmeurs, voici un exemple de fonctions dont nous pouvons disposer avec les IA conversationnelles :

    https://ai.plainenglish.io/code-gets...-4-34248625776

    En gros, l'IA peut :

    - écrire les descriptions dans le système de gestion de version
    - écrire les tests unitaires
    - trouver des bugs en lisant le code
    - répondre à des questions sur la doc au lieu de devoir la lire pour chercher l'info qui est souvent planquée dans un paragraphe quelque part

  15. #45
    polo974

    Re : Deux articles intéressants sur l'IA conversationnelle

    Ah, rien que pour les tests unitaires, je vais essayer.
    J'espère qu'il connaît tornado sur le bout des doigts...
    Jusqu'ici tout va bien...

  16. #46
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    En voici un sur un test en médecine de ChatGPT : https://inflecthealth.medium.com/im-...s-7829c375a9da

    C'est bien sur à prendre avec précaution parce que ChatGPT n'est vraiment pas fait pour ça et qu'il est même probable qu'à terme, l'usage des IAs dans des environnements critiques sera sérieusement réglementé.

  17. #47
    Liet Kynes

    Re : Deux articles intéressants sur l'IA conversationnelle

    Cela montre aussi que l'enregistrement des données est un enjeu crucial du point de vue de la quantité et de la qualité.
    Ce que l'IA a de fantastique c'est qu'elle peut trouver des choses à partir de bruits faibles et dans le cadre médical cela pourrait permettre de cibler des examens complémentaires. pour des diagnostics précoces ?
    Sans questions il n'y a que des problèmes sans réponses.

  18. #48
    Flyingbike
    Modérateur*

    Re : Deux articles intéressants sur l'IA conversationnelle

    En fait c'est déjà le cas. En anapath, clinique ou pré clinique, l'IA est très performante. Un exemple de solution commerciale existante : https://www.aiforia.com/application-examples

    P
    our la pré clinique, c'est la suite logique de l'analyse d'images "traditionnelle" (à base de seuillage, détection de contours, comptage d'objets, mesures de longueurs/surfaces) qui atteint vite ses limites.

    Pour l'imagerie, globalement c'est plus performant qu'un humain, notamment sur la précocité. Un exemple d'article un peu technique :https://pubmed.ncbi.nlm.nih.gov/30575178/



    M
    ais ce n'est pas le sujet du fil, et ça pourrait être développé dans un sujet spécifique.
    La vie trouve toujours un chemin

  19. #49
    Archi3

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par pm42 Voir le message
    En voici un sur un test en médecine de ChatGPT : https://inflecthealth.medium.com/im-...s-7829c375a9da

    C'est bien sur à prendre avec précaution parce que ChatGPT n'est vraiment pas fait pour ça et qu'il est même probable qu'à terme, l'usage des IAs dans des environnements critiques sera sérieusement réglementé.
    il me semble que le point central de l'article que tu mentionnes n'est pas sur les performances de l'IA elle même que sur la mauvaise utilisation que le public puisse en faire

    My fear is that countless people are already using ChatGPT to medically diagnose themselves rather than see a physician. If my patient in this case had done that, ChatGPT’s response could have killed her.
    ce qui est tout à fait en ligne avec d'autres remarques faites par ailleurs : le problème n'est pas tant dans les performances de l'IA que dans la confiance exagérée que le public lui donne, en confondant l'apparence d'un discours correct avec la pertinence sur le fond de ce discours.

  20. #50
    Liet Kynes

    Re : Deux articles intéressants sur l'IA conversationnelle

    Citation Envoyé par Archi3 Voir le message
    il me semble que le point central de l'article que tu mentionnes n'est pas sur les performances de l'IA elle même que sur la mauvaise utilisation que le public puisse en faire


    ce qui est tout à fait en ligne avec d'autres remarques faites par ailleurs : le problème n'est pas tant dans les performances de l'IA que dans la confiance exagérée que le public lui donne, en confondant l'apparence d'un discours correct avec la pertinence sur le fond de ce discours.
    Quand tu discutes avec des médecins, ils voient de plus en plus de patients qui viennent convaincus de leur autodiagnostic réalisé à l'aide de forums de discussions.. Utiliser une IA pour s'autodiagnostiquer est tout aussi débile et le problème ne vient pas de la technologie mais de l'utilisateur, à noter qu'au moins il est possible de générer des messages de prudence avec l'IA , ce qui ne se produit jamais avec certains réseaux sociaux.
    Sans questions il n'y a que des problèmes sans réponses.

  21. #51
    pm42

    Re : Deux articles intéressants sur l'IA conversationnelle

    Voici un autre article très intéressant : il décrit en détail le fonctionnement des IAs comme ChatGPT tout en restant très abordable.
    C'est long mais ça vaut la peine pour voir comment ça marche sous le capot :

    https://mark-riedl.medium.com/a-very...e-5f67941fa59e

  22. #52
    Avatar10

    Re : Deux articles intéressants sur l'IA conversationnelle

    C'est dommage qu'il n'y est pas un équivalent en français...je dis ça car c'est intéressant mais je doute que celui qui ne maitrise pas un peu l'anglais fera l'effort de passer ça dans un traducteur (on peut tous avoir tendance à être feignant).

  23. #53
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    Salut,

    Comme l'article me semble intéressant pour le béotien que je suis dans ce domaine, et comme j'avais la flemme de le lire en anglais, j'ai utilisé le traducteur en ligne DeepL (GPT/Bing m'ayant répondu qu'il ne pouvait pas me fournir une traduction, mais seulement un résumé...).

    Voici la traduction, non relue et sans les figures (pour celles-ci vous pouvez consulter l'article en anglais).
    1. Introduction
    Cet article a pour but de donner aux personnes n'ayant pas de connaissances en informatique un aperçu du fonctionnement de ChatGPT et des systèmes d'IA similaires (GPT-3, GPT-4, Bing Chat, Bard, etc.). ChatGPT est un chatbot - un type d'IA conversationnelle construit - mais au dessus d'un Grand Modèle de Langage. Ce sont là des mots qui ne trompent pas et nous allons les décortiquer. Ce faisant, nous discuterons des concepts fondamentaux qui les sous-tendent. Cet article ne nécessite aucune connaissance technique ou mathématique. Nous ferons un usage intensif de métaphores pour illustrer les concepts. Nous expliquerons pourquoi les concepts de base fonctionnent de cette manière et ce que nous pouvons attendre ou non des grands modèles de langage comme ChatGPT.

    Voici ce que nous allons faire. Nous allons aborder en douceur et sans jargon une partie de la terminologie associée aux grands modèles de langage et à ChatGPT. Si je dois utiliser du jargon, je le décomposerai sans jargon. Nous commencerons de manière très basique, avec "qu'est-ce que l'intelligence artificielle", et nous irons de l'avant. J'utiliserai autant que possible des métaphores récurrentes. Je parlerai des implications des technologies en termes de ce que nous devrions attendre d'elles et de ce que nous ne devrions pas attendre d'elles.

    C'est parti !

    1. Qu'est-ce que l'intelligence artificielle ?
    Mais tout d'abord, commençons par une terminologie de base que vous entendez probablement souvent. Qu'est-ce que l'intelligence artificielle ?

    L'intelligence artificielle : Une entité qui adopte des comportements qu'une personne pourrait raisonnablement qualifier d'intelligents si un être humain faisait quelque chose de similaire.
    Il est un peu problématique de définir l'intelligence artificielle en utilisant le mot "intelligent", mais personne ne peut se mettre d'accord sur une bonne définition du mot "intelligent". Cependant, je pense que cette définition fonctionne encore raisonnablement bien. En gros, elle dit que si nous regardons quelque chose d'artificiel et qu'il fait des choses intéressantes et utiles et qui semblent être quelque peu non triviales, alors nous pouvons le qualifier d'intelligent. Par exemple, nous attribuons souvent le terme "IA" aux personnages contrôlés par l'ordinateur dans les jeux vidéo. La plupart de ces robots sont de simples morceaux de code "if-then-else" (par exemple, "si le joueur est à portée de tir, tirez, sinon déplacez-vous vers le rocher le plus proche pour vous mettre à l'abri"). Mais s'ils parviennent à nous maintenir engagés et divertis, et s'ils ne font pas de choses manifestement stupides, nous pourrions penser qu'ils sont plus sophistiqués qu'ils ne le sont.

    Une fois que nous avons compris comment quelque chose fonctionne, nous pouvons ne pas être très impressionnés et nous attendre à quelque chose de plus sophistiqué dans les coulisses. Tout dépend de ce que l'on sait de ce qui se passe en coulisses.

    Le point essentiel est que l'intelligence artificielle n'est pas magique. Et parce qu'elle n'est pas magique, elle peut être expliquée.

    Entrons donc dans le vif du sujet.

    2. Qu'est-ce que l'apprentissage automatique ?
    L'apprentissage automatique est un autre terme que vous entendrez souvent associé à l'intelligence artificielle.

    Apprentissage automatique : Un moyen de créer un comportement en prenant des données, en formant un modèle, puis en exécutant le modèle.
    Il est parfois trop difficile de créer manuellement une série d'instructions "if-then-else" pour capturer un phénomène compliqué, comme le langage. Dans ce cas, nous essayons de trouver un ensemble de données et d'utiliser des algorithmes capables de trouver des schémas dans les données à modéliser.

    Mais qu'est-ce qu'un modèle ? Un modèle est une simplification d'un phénomène complexe. Par exemple, un modèle réduit de voiture est une version plus petite et plus simple d'une voiture réelle, qui en possède de nombreux attributs, mais qui n'est pas censée remplacer complètement l'original. Un modèle de voiture peut avoir l'air réel et être utile à certaines fins, mais nous ne pouvons pas le conduire au magasin.

    Tout comme nous pouvons fabriquer une version plus petite et plus simple d'une voiture, nous pouvons également fabriquer une version plus petite et plus simple du langage humain. Nous utilisons le terme "grands modèles de langage" parce que ces modèles sont, en fait, grands, du point de vue de la quantité de mémoire nécessaire pour les utiliser. Les plus grands modèles en production, tels que ChatGPT, GPT-3 et GPT-4, sont suffisamment volumineux pour que leur création et leur exécution requièrent d'énormes superordinateurs fonctionnant sur des serveurs de centres de données.

    3. Qu'est-ce qu'un réseau neuronal ?
    Il existe de nombreuses façons d'apprendre un modèle à partir de données. Le réseau neuronal en fait partie. Cette technique s'inspire de la manière dont le cerveau humain est constitué d'un réseau de cellules cérébrales interconnectées, appelées neurones, qui transmettent des signaux électriques dans les deux sens, ce qui nous permet de faire tout ce que nous faisons. Le concept de base du réseau neuronal a été inventé dans les années 1940 et les concepts de base sur la façon de les former ont été inventés dans les années 1980. Les réseaux neuronaux sont très inefficaces, et ce n'est que vers 2017 que le matériel informatique a été suffisamment performant pour les utiliser à grande échelle.

    Mais au lieu de parler de cerveaux, j'aime penser aux réseaux neuronaux en utilisant la métaphore des circuits électriques. Il n'est pas nécessaire d'être ingénieur électricien pour savoir que l'électricité circule dans des fils et que nous disposons de résistances qui rendent plus difficile la circulation de l'électricité dans certaines parties d'un circuit.

    Imaginez que vous souhaitiez fabriquer une voiture autonome capable de rouler sur l'autoroute. Vous avez équipé votre voiture de capteurs de proximité à l'avant, à l'arrière et sur les côtés. Les capteurs de proximité indiquent une valeur de 1,0 lorsqu'il y a quelque chose de très proche et indiquent une valeur de 0,0 lorsque rien n'est détectable à proximité.

    Vous avez également aménagé votre voiture de manière à ce que des mécanismes robotiques puissent tourner le volant, appuyer sur les freins et pousser l'accélérateur. Lorsque l'accélérateur reçoit une valeur de 1,0, il utilise l'accélération maximale, et 0,0 signifie qu'il n'y a pas d'accélération. De même, une valeur de 1,0 envoyée au mécanisme de freinage signifie qu'il faut appuyer sur les freins et 0,0 signifie qu'il n'y a pas de freinage. Le mécanisme de direction prend une valeur comprise entre -1,0 et +1,0, une valeur négative signifiant qu'il faut se diriger vers la gauche, une valeur positive signifiant qu'il faut se diriger vers la droite et 0,0 signifiant qu'il faut rester en ligne droite.

    Vous avez également enregistré des données sur votre conduite. Lorsque la route est dégagée devant vous, vous accélérez. Lorsqu'il y a une voiture devant vous, vous ralentissez. Lorsqu'une voiture se rapproche trop sur la gauche, vous tournez à droite et changez de voie. Sauf, bien sûr, s'il y a une voiture sur votre droite. Il s'agit d'un processus complexe impliquant différentes combinaisons d'actions (tourner à gauche, tourner à droite, accélérer plus ou moins, freiner) basées sur différentes combinaisons d'informations provenant de capteurs.

    Il faut maintenant relier le capteur aux mécanismes robotiques. Comment procéder ? Ce n'est pas clair. Vous devez donc relier chaque capteur à chaque actionneur robotique.

    [figure]

    Que se passe-t-il lorsque vous prenez la route avec votre voiture ? Le courant électrique passe de tous les capteurs à tous les actionneurs robotisés et la voiture se dirige simultanément vers la gauche, vers la droite, accélère et freine. C'est la pagaille.

    [figure]

    Ce n'est pas bon. Je prends donc mes résistances et je commence à les placer sur différentes parties des circuits afin que l'électricité puisse circuler plus librement entre certains capteurs et certains actionneurs robotiques. Par exemple, je veux que l'électricité circule plus librement entre les capteurs de proximité avant et les freins, et non le volant. Je place également des éléments appelés "portes", qui arrêtent le flux d'électricité jusqu'à ce qu'il y ait suffisamment d'électricité pour actionner un interrupteur (l'électricité ne peut circuler que lorsque les capteurs de proximité avant et arrière signalent des valeurs élevées), ou qui envoient de l'énergie électrique uniquement lorsque la puissance électrique d'entrée est faible (plus d'électricité vers l'accélérateur lorsque le capteur de proximité avant signale une valeur faible).

    Mais où dois-je placer ces résistances et ces portes ? Je n'en sais rien. Je commence à les placer au hasard un peu partout. Puis j'essaie à nouveau. Peut-être que cette fois ma voiture roule mieux, c'est-à-dire qu'elle freine parfois lorsque les données indiquent qu'il est préférable de freiner et qu'elle dirige lorsque les données indiquent qu'il est préférable de diriger, etc. Mais elle ne fait pas tout correctement. Mais il ne fait pas tout bien. Et il y a des choses qu'il fait moins bien (il accélère quand les données indiquent qu'il est préférable de freiner). Je continue donc à essayer au hasard différentes combinaisons de résistances et de portes. Je finis par tomber sur une combinaison qui fonctionne suffisamment bien pour que je la déclare réussie. Cela peut ressembler à ceci :

    [figure]

    (En réalité, nous n'ajoutons ni ne soustrayons de portes, qui sont toujours présentes, mais nous modifions les portes pour qu'elles s'activent avec moins d'énergie venant d'en bas ou qu'elles nécessitent plus d'énergie venant d'en bas, ou encore qu'elles ne libèrent beaucoup d'énergie que lorsqu'il y a très peu d'énergie venant d'en bas. Les puristes de l'apprentissage automatique risquent de vomir un peu en entendant cette caractérisation. Techniquement, cela se fait en ajustant ce que l'on appelle un biais sur les portes, qui n'est généralement pas montré dans des diagrammes comme celui-ci, mais en termes de métaphore du circuit, on peut penser à un fil allant dans chaque porte et branché directement sur une source électrique, qui peut ensuite être modifié comme tous les autres fils).
    Faisons un essai routier !

    [figure]

    Essayer des choses au hasard, c'est nul. Un algorithme appelé rétropropagation est raisonnablement efficace pour deviner comment modifier la configuration du circuit. Les détails de l'algorithme ne sont pas importants, si ce n'est qu'il apporte de minuscules modifications au circuit pour rapprocher le comportement du circuit de ce que les données suggèrent et, après des milliers ou des millions d'ajustements, il peut finir par obtenir quelque chose de proche de ce que les données suggèrent.

    Nous appelons les résistances et les portes des paramètres parce qu'en réalité elles sont partout et que l'algorithme de rétropropagation déclare que chaque résistance est plus forte ou plus faible. Ainsi, l'ensemble du circuit peut être reproduit dans d'autres voitures si nous connaissons la disposition des circuits et les valeurs des paramètres.
    à suivre

  24. #54
    Liet Kynes

    Re : Deux articles intéressants sur l'IA conversationnelle

    L'autre variante c'est d'imprimer l'article en PDF et de le faire traduire sur doc translator
    Sans questions il n'y a que des problèmes sans réponses.

  25. #55
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    Suite de la traduction :
    4. Qu'est-ce que l'apprentissage profond ?
    L'apprentissage profond est la reconnaissance du fait que nous pouvons mettre d'autres choses dans nos circuits que des résistances et des portes. Par exemple, nous pouvons avoir un calcul mathématique au milieu de notre circuit qui additionne et multiplie des éléments avant d'envoyer de l'électricité. L'apprentissage profond utilise toujours la même technique incrémentale de base pour deviner les paramètres.

    5. Qu'est-ce qu'un modèle linguistique ?
    Dans l'exemple de la voiture, nous avons essayé de faire en sorte que notre réseau neuronal adopte un comportement cohérent avec nos données. Nous nous demandions si nous pouvions créer un circuit qui manipulerait les mécanismes de la voiture de la même manière qu'un conducteur le ferait dans des circonstances similaires. Nous pouvons traiter le langage de la même manière. Nous pouvons regarder un texte écrit par des humains et nous demander si un circuit pourrait produire une séquence de mots qui ressemble beaucoup aux séquences de mots que les humains ont tendance à produire. Aujourd'hui, nos capteurs se déclenchent lorsque nous voyons des mots et nos mécanismes de sortie sont également des mots.

    Qu'essayons-nous de faire ? Nous essayons de créer un circuit qui devine un mot en sortie, à partir d'un ensemble de mots en entrée. Par exemple :

    "Once upon a time ____"

    semble devoir remplir le vide avec "time" mais pas avec "armadillo".

    Nous avons tendance à parler des modèles linguistiques en termes de probabilité. Mathématiquement, nous écrirons l'exemple ci-dessus comme suit :

    P(time|once, upon, a)

    Si vous n'êtes pas familier avec cette notation, ne vous inquiétez pas. Il s'agit simplement d'un langage mathématique signifiant la probabilité (P) du mot "temps" compte tenu (le symbole de la barre | signifie "compte tenu") d'un ensemble de mots "une fois", "sur" et "un". On peut s'attendre à ce qu'un bon modèle linguistique produise une probabilité plus élevée pour le mot "temps" que pour le mot "tatou".

    Nous pouvons généraliser cette hypothèse :

    P(wordn|word1, word2, ..., word(n-1))

    ce qui signifie simplement calculer la probabilité du n-ième mot d'une séquence compte tenu de tous les mots qui le précèdent (mots des positions 1 à n-1).

    Mais revenons un peu en arrière. Pensez à une machine à écrire à l'ancienne, celle avec les bras de frappe.
    Sauf qu'au lieu d'avoir un bras de frappe différent pour chaque lettre, nous avons une frappe pour chaque mot. Si la langue anglaise compte 50 000 mots, il s'agit d'une grosse machine à écrire !

    Au lieu du réseau de la voiture, imaginez un réseau similaire, sauf que la partie supérieure de notre circuit comporte 50 000 sorties connectées à des bras de frappe, un pour chaque mot. De la même manière, nous aurions 50 000 capteurs, chacun détectant la présence d'un mot différent en entrée. En fin de compte, nous choisissons le bras de frappe qui reçoit le signal électrique le plus élevé, et c'est ce mot qui est inscrit dans l'espace vide.

    Voici où nous en sommes : si je veux faire un circuit simple qui prend un seul mot et produit un seul mot, je devrais faire un circuit qui a 50 000 capteurs (un pour chaque mot) et 50 000 sorties (une pour chaque bras de frappe). Il me suffirait de câbler chaque capteur à chaque bras de frappe pour un total de 50 000 x 50 000 = 2,5 milliards de fils.

    [figure]

    C'est un grand réseau !

    Mais il y a pire. Si je veux faire l'exemple "Once upon a ___", je dois détecter quel mot se trouve dans chacune des trois positions d'entrée. J'aurais besoin de 50 000 x 3 = 150 000 capteurs. En connectant 50 000 bras d'attaquants, on obtient 150 000 x 50 000 = 7,5 milliards de fils. En 2023, la plupart des grands modèles de langage pourront prendre en compte 4 000 mots, les plus grands 32 000 mots. J'ai les larmes aux yeux.

    [figure]

    Nous allons avoir besoin de quelques astuces pour maîtriser cette situation. Nous allons procéder par étapes.

    5.1 Encodeurs
    La première chose que nous allons faire est de diviser notre circuit en deux circuits, l'un appelé encodeur et l'autre décodeur. L'idée est que beaucoup de mots signifient approximativement la même chose. Considérons les phrases suivantes :
    [liste de phrases comme "the king sat on the ___" où manque le mot "throne"]

    Une hypothèse raisonnable pour tous les blancs ci-dessus serait "trône" (ou peut-être "toilettes"). Cela signifie que je n'aurais peut-être pas besoin de fils séparés entre le "roi" et le "trône", ou entre la "reine" et le "trône", etc. Au lieu de cela, ce serait bien si j'avais quelque chose qui signifie approximativement "royauté" et si, chaque fois que je vois "roi" ou "reine", j'utilisais cette chose intermédiaire à la place. Je n'aurais alors qu'à me soucier des mots qui signifient approximativement la même chose et de ce qu'il faut faire (envoyer beaucoup d'énergie sur le "trône").

    Voici donc ce que nous allons faire. Nous allons mettre en place un circuit qui prend 50 000 capteurs de mots et les affecte à un ensemble plus petit de sorties, disons 256 au lieu de 50 000. Et au lieu de ne pouvoir déclencher qu'un seul bras gâcheur, nous pourrons actionner plusieurs bras à la fois. Chaque combinaison possible de bras de frappe pourrait représenter un concept différent (comme "royauté" ou "mammifères blindés"). Ces 256 sorties nous permettraient de représenter 2²⁵⁶ = 1,15 x 10⁷⁸ concepts. En réalité, c'est encore plus, car, comme dans l'exemple de la voiture, nous pouvons appuyer sur les freins à mi-course, chacune de ces 256 sorties peut être non seulement 1,0 ou 0,0, mais aussi n'importe quel nombre entre les deux. La meilleure métaphore est donc peut-être que les 256 bras de grèves s'écrasent tous, mais chacun d'eux avec une force différente.

    Bon... auparavant, un mot nécessitait l'activation d'un des 50 000 capteurs. Maintenant, nous avons réduit un capteur activé et 49 999 capteurs éteints en 256 nombres. Ainsi, le "roi" pourrait être [0,1, 0,0, 0,9, ..., 0,4] et la "reine" pourrait être [0,1, 0,1, 0,9, ..., 0,4], qui sont presque identiques l'un à l'autre. J'appellerai ces listes de nombres des encodages (également appelés l'état caché pour des raisons historiques, mais je ne veux pas l'expliquer, nous nous en tiendrons donc à l'encodage). Nous appelons le circuit qui réduit nos 50 000 capteurs en 256 sorties l'encodeur. Il se présente comme suit :

    [figure]

    5.2 Décodeurs
    Mais l'encodeur ne nous dit pas quel mot doit suivre. Nous associons donc notre codeur à un réseau de décodeurs. Le décodeur est un autre circuit qui prend les 256 nombres composant l'encodage et active les 50 000 bras de frappe d'origine, un pour chaque mot. Nous choisissons alors le mot dont la sortie électrique est la plus élevée. Voici à quoi cela ressemblerait :

    [figure]

    5.3 Encodeurs et décodeurs ensemble
    Voici le codeur et le décodeur qui fonctionnent ensemble pour former un grand réseau neuronal :

    [figure]

    Par ailleurs, une entrée d'un seul mot vers une sortie d'un seul mot passant par l'encodage ne nécessite que (50 000 x 256) x 2 = 25,6 millions de paramètres. Cela semble beaucoup mieux.

    Cet exemple concernait une entrée d'un mot et une sortie d'un mot, de sorte que nous aurions 50 000 x n entrées si nous voulions lire n mots, et 256 x n pour l'encodage

    Mais pourquoi cela fonctionne-t-il ? En forçant 50 000 mots à entrer dans un petit ensemble de nombres, nous obligeons le réseau à faire des compromis et à regrouper les mots qui risquent de déclencher la même supposition de mot en sortie. Cela ressemble beaucoup à la compression de fichiers. Lorsque vous zippez un document texte, vous obtenez un document plus petit qui n'est plus lisible. Mais il est possible de décompresser le document et de retrouver le texte lisible d'origine. Cela est possible parce que le programme zip remplace certains modèles de mots par une notation sténographique. Ensuite, lorsqu'il décompresse, il sait quel texte remplacer par la notation sténographique. Nos circuits d'encodage et de décodage apprennent une configuration de résistances et de portes qui zippent et dézippent les mots.
    à suivre

  26. #56
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    suite

    5.4 L'autosupervision
    Comment savons-nous que le codage de chaque mot est le meilleur ? En d'autres termes, comment savons-nous que le codage de "roi" devrait être similaire au codage de "reine" au lieu de "tatou" ?

    À titre d'expérience de pensée, considérons un réseau codeur-décodeur qui devrait recevoir un seul mot (50 000 capteurs) et produire exactement le même mot en sortie. C'est une chose stupide à faire, mais c'est très instructif pour la suite.

    [figure]

    Je mets le mot "roi" et un seul capteur envoie son signal électrique à travers le codeur et active partiellement 256 valeurs dans le codage au milieu. Si le codage est correct, le décodeur enverra le signal électrique le plus élevé au même mot, "roi". C'est simple ? Pas si vite. Je suis tout aussi susceptible de voir le bras percuteur du mot "tatou" avec l'énergie d'activation la plus élevée. Supposons que le gâcheur du mot "roi" reçoive un signal électrique de 0,051 et celui du mot "tatou" un signal électrique de 0,23. En fait, je ne me soucie même pas de la valeur de "armadillo". Il me suffit de regarder l'énergie de sortie du "roi" pour savoir qu'elle n'est pas de 1,0. La différence entre 1,0 et 0,051 est l'erreur (également appelée perte) et je peux utiliser la rétropropagation pour apporter des modifications au décodeur et à l'encodeur afin qu'un encodage légèrement différent soit effectué la prochaine fois que nous verrons le mot "roi".

    Nous procédons ainsi pour tous les mots. L'encodeur va devoir faire des compromis parce que le nombre 256 est bien inférieur à 50 000. En d'autres termes, certains mots devront utiliser les mêmes combinaisons d'énergie d'activation au milieu. Ainsi, s'il a le choix, il voudra que le codage de "roi" et de "reine" soit presque identique et que le codage de "tatou" soit très différent. Le décodeur aura ainsi plus de chances de deviner le mot en examinant simplement les 256 valeurs d'encodage. Et si le décodeur voit une combinaison particulière de 256 valeurs et devine "roi" avec 0,43 et "reine" avec 0,42, cela nous conviendra tant que "roi" et "reine" reçoivent les signaux électriques les plus élevés et que chacun des 49 998 bras d'attaquants reçoit des nombres plus petits. En d'autres termes, nous serons probablement plus satisfaits si le réseau confond les rois et les reines que s'il confond les rois et les tatous.

    Nous disons que le réseau neuronal est autosupervisé car, contrairement à l'exemple de la voiture, il n'est pas nécessaire de collecter des données distinctes pour tester la sortie. Nous comparons simplement la sortie à l'entrée - il n'est pas nécessaire de disposer de données distinctes pour l'entrée et la sortie.

    5.5 Modèles de langage masqué
    Si l'expérience de pensée ci-dessus semble stupide, il s'agit d'un élément constitutif de ce que l'on appelle les modèles de langage masqué. L'idée d'un modèle de langage masqué est de prendre une séquence de mots et de générer une séquence de mots. L'un des mots de l'entrée et de la sortie est masqué.

    Le [MASK] est assis sur le trône.

    Le réseau devine tous les mots. Il est assez facile de deviner les mots non masqués. Nous ne nous intéressons qu'à l'estimation du réseau concernant le mot masqué. En d'autres termes, nous disposons de 50 000 bras d'attaque pour chaque mot de la sortie. Nous examinons les 50 000 bras de frappe pour le mot masqué.

    [figure]

    Nous pouvons déplacer le masque et faire en sorte que le réseau devine des mots différents à des endroits différents.

    Un type particulier de modèle de langage masqué ne comporte le masque qu'à la fin. Il s'agit d'un modèle génératif car le masque deviné est toujours le mot suivant de la séquence, ce qui équivaut à générer le mot suivant comme s'il n'existait pas. Voici un exemple :

    La [MASQUE]
    La reine [MASQUE]
    La reine s'est assise [MASQUE]
    La reine s'est assise sur [MASK]
    La reine s'est assise sur le [MASQUE]

    Nous appelons cela un modèle autorégressif. Le mot "régressif" ne sonne pas très bien. Mais la régression signifie simplement que l'on essaie de comprendre la relation entre les choses, comme les mots qui ont été introduits et les mots qui devraient être produits. Auto signifie "soi-même". Un modèle autorégressif est auto-prédictif. Il prédit un mot. Ce mot est ensuite utilisé pour prédire le mot suivant, qui est utilisé pour prédire le mot suivant, et ainsi de suite. Cela a des implications intéressantes sur lesquelles nous reviendrons plus tard.

    6. Qu'est-ce qu'un transformateur ?
    Au moment où j'écris ces lignes, nous entendons beaucoup parler de choses appelées GPT-3, GPT-4 et ChatGPT. GPT est une marque particulière d'un type de grand modèle linguistique développé par une société appelée OpenAI. GPT signifie Generative Pre-trained Transformer (transformateur génératif pré-entraîné). Voyons cela en détail :

    Génératif. Le modèle est capable de générer des suites à l'entrée fournie. En d'autres termes, à partir d'un texte, le modèle tente de deviner les mots qui suivent.
    Pré-entraîné. Le modèle est entraîné sur un très grand corpus de texte général et est destiné à être entraîné une fois et utilisé pour un grand nombre de choses différentes sans avoir besoin d'être réentraîné à partir de zéro.
    Plus d'informations sur le pré-entraînement... Le modèle est entraîné sur un très grand corpus de texte général qui couvre ostensiblement un grand nombre de sujets concevables. Il s'agit plus ou moins d'un texte "récupéré sur l'internet", par opposition à un texte provenant d'un référentiel spécialisé. En s'entraînant sur un texte général, un modèle de langage est plus à même de répondre à un plus large éventail d'entrées que, par exemple, un modèle de langage entraîné sur un type de texte très spécifique, tel que des documents médicaux. Un modèle de langage formé sur un corpus général peut théoriquement répondre raisonnablement à tout ce qui peut apparaître dans un document sur l'internet. Il peut s'en sortir avec un texte médical. Un modèle de langage formé uniquement sur des documents médicaux peut très bien répondre à des entrées liées à des contextes médicaux, mais être très mauvais pour répondre à d'autres entrées telles que des bavardages ou des recettes.

    Soit le modèle est suffisamment performant pour ne jamais avoir besoin d'entraîner son propre modèle, soit on peut procéder à ce qu'on appelle un réglage fin, c'est-à-dire prendre le modèle pré-entraîné et lui apporter quelques modifications pour qu'il fonctionne mieux dans une tâche spécialisée (comme le domaine médical).

    Passons maintenant au transformateur...

    Transformateur. Un type spécifique de modèle d'apprentissage profond codeur-décodeur auto-supervisé avec quelques propriétés très intéressantes qui le rendent bon pour la modélisation du langage.
    Un transformateur est un type particulier de modèle d'apprentissage profond qui transforme l'encodage d'une manière particulière permettant de deviner plus facilement le mot masqué. Il a été introduit par un article intitulé Attention is All You Need (L'attention est tout ce dont vous avez besoin) de Vaswani et al. en 2017. Au cœur d'un transformateur se trouve le réseau classique d'encodeur-décodeur. L'encodeur effectue un processus d'encodage très standard. Une telle vanille que vous en seriez choqué. Mais il ajoute ensuite quelque chose d'autre appelé auto-attention.
    à suivre

  27. #57
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    suite

    6.1 L'auto-attention
    Voici l'idée de l'auto-attention : certains mots d'une séquence sont liés à d'autres mots de la séquence. Prenons la phrase suivante : "The alien landed on earth because it needed to hide on a planet.". Si nous masquons le deuxième mot, "alien", et que nous demandons à un réseau neuronal de deviner le mot, il aura de meilleures chances grâce à des mots comme "landed" (atterri) et "earth" (terre). De même, si nous masquons "it" et demandons au réseau de deviner le mot, la présence du mot "alien" pourrait l'inciter à préférer "it" à "he" ou "she".

    [figure]

    Nous disons que les mots d'une séquence sont associés à d'autres mots parce qu'ils établissent une sorte de relation. Cette relation n'est pas nécessairement connue. Il peut s'agir de la résolution de pronoms, de la relation entre un verbe et un sujet, de deux mots se rapportant au même concept ("terre" et "planète"). Quoi qu'il en soit, le fait de savoir qu'il existe une certaine relation entre les mots est utile pour la prédiction.

    La section suivante abordera les mathématiques de l'auto-attention, mais l'essentiel est qu'un transformateur apprend quels mots d'une séquence d'entrée sont liés et crée ensuite un nouvel encodage pour chaque position de la séquence d'entrée qui est une fusion de tous les mots liés. On peut en quelque sorte imaginer qu'il s'agit d'apprendre à créer un nouveau mot qui soit un mélange de "alien", "landed" et "earth" (aliandearth ?). Cela fonctionne parce que chaque mot est codé sous la forme d'une liste de nombres. Si alien = [0.1, 0.2, 0.3, ..., 0.4] et landed = [0.5, 0.6, 0.7, ..., 0.8] et earth = [0.9, 1.0, 1.1, ..., 1. 2], la deuxième position du mot pourrait être codée comme la somme de tous ces codages, [1.5, 1.8, 2.1, ..., 2.4], ce qui ne correspond à aucun mot mais capture des morceaux de tous les mots. Ainsi, lorsque le décodeur voit enfin ce nouvel encodage pour le mot en deuxième position, il dispose de nombreuses informations sur la manière dont le mot était utilisé dans la séquence et peut donc mieux deviner les masques éventuels. (L'exemple se contente d'additionner les codages, mais ce sera un peu plus compliqué que cela).

    6.2. Comment fonctionne l'auto-attention ?
    L'auto-attention est l'amélioration significative par rapport aux réseaux encodeur-décodeur vanille, donc si vous voulez en savoir plus sur son fonctionnement, continuez à lire. Sinon, n'hésitez pas à sauter cette section. TL;DR : l'auto-attention est un nom fantaisiste de l'opération mathématique appelée produit de points.

    L'auto-attention se déroule en trois étapes.

    (1) Nous codons chaque mot de la séquence d'entrée comme d'habitude. Nous faisons quatre copies du codage des mots. L'une d'entre elles est appelée le résidu et est mise de côté pour être conservée.

    (2) Nous effectuons un deuxième cycle de codage (nous codons un codage) sur les trois autres. Chacun d'entre eux subit un processus d'encodage différent, de sorte qu'ils deviennent tous différents. Nous appelons l'un d'eux une requête (q), l'autre une clé (k) et l'autre une valeur (v).

    J'aimerais que vous pensiez à une table de hachage (également appelée dictionnaire en python). Vous avez toute une série d'informations stockées dans une table. Chaque ligne de la table possède une clé, un identifiant unique, et une valeur, les données stockées dans la ligne. Pour extraire des informations de la table de hachage, vous devez formuler une requête. Si la requête correspond à la clé, la valeur est extraite.

    [figure]

    L'auto-attention fonctionne un peu comme une table de hachage floue. Vous fournissez une requête et, au lieu de rechercher une correspondance exacte avec une clé, elle trouve des correspondances approximatives basées sur la similarité entre la requête et la clé. Mais que se passe-t-il si la correspondance n'est pas parfaite ? Le système renvoie une fraction de la valeur. Cela n'a de sens que si la requête, les clés et les valeurs sont toutes numériques. Ce qui est le cas :

    [figure]

    C'est donc ce que nous allons faire. Pour chaque position de mot dans l'entrée, nous allons prendre l'encodage q et l'encodage k et calculer la similarité. Nous utilisons ce que l'on appelle un produit de points, également appelé similitude de cosinus. Ce n'est pas important. Le fait est que chaque mot est une liste de 256 nombres (sur la base de notre exemple précédent) et que nous pouvons calculer la similarité des listes de nombres et l'enregistrer dans une matrice. Nous appelons cette matrice les scores d'auto-attention. Si nous avions une séquence d'entrée de trois mots, nos scores d'attention pourraient ressembler à ceci :

    [figure]

    Le réseau traite le premier mot comme une requête et le fait correspondre à la deuxième clé (nous pourrions dire que le premier mot "assiste" au deuxième mot). Si le deuxième mot était une requête, il correspondrait à la troisième clé. Si le troisième mot était une requête, il correspondrait à la première clé. En réalité, nous n'aurions jamais des uns et des zéros comme cela ; nous aurions des correspondances partielles entre 0 et 1 et chaque requête (ligne) correspondrait partiellement à plusieurs clés (colonnes).

    Pour rester dans la métaphore de la recherche, nous multiplions cette matrice par les encodages v et quelque chose d'intéressant se produit. Supposons que nos encodages v ressemblent à ceci :

    [figure]

    En d'autres termes, le premier mot a été codé comme une liste de nombres 0.10...0.19, le deuxième mot a été codé comme une liste de nombres 0.20...0.29, et le troisième mot a été codé comme une liste de nombres 0.30...0.39. Ces nombres sont inventés à des fins d'illustration et ne seraient jamais aussi ordonnés.

    [figure]

    La première interrogation correspond à la deuxième clé et permet donc de retrouver le deuxième mot codé. La deuxième interrogation correspond à la troisième clé et permet donc de retrouver le troisième mot codé. La troisième requête correspond à la première clé et permet donc de retrouver le premier mot codé. En fait, nous avons échangé des lignes !

    [figure]

    Dans la pratique, les scores ne seront pas des uns et des zéros parfaits et le résultat sera un peu de chaque encodage mélangé (par exemple 97% du mot un plus 1% ou du mot trois plus 2% du mot deux). Mais cela illustre à quel point l'auto-attention est un mélange et un échange. Dans cette version extrême, le premier mot a été remplacé par le deuxième, et ainsi de suite. Ainsi, le mot "terre" a peut-être été remplacé par le mot "planète".

    Comment savons-nous que nous avons codé correctement q, k et v ? Si la capacité globale du réseau à deviner le meilleur mot pour le masque s'améliore, alors nous avons codé q, k et v correctement. Dans le cas contraire, nous modifions les paramètres afin de coder différemment la prochaine fois.

    (3) La troisième chose que nous faisons est de prendre le résultat de tous ces calculs et de l'ajouter au résidu. Vous vous souvenez de la première copie du codage original que nous avons mise de côté. C'est exact, nous y ajoutons la version mélangée et échangée. Maintenant, "terre" n'est pas seulement un codage de "terre", mais une sorte de mot imaginaire qui est un mélange de "terre" et de "planète"... pearth ? ealanet ? Ce n'est pas vraiment ça. Quoi qu'il en soit, c'est le codage transformé final qui sera envoyé au décodeur. Nous pouvons probablement convenir qu'avoir un faux mot à chaque position qui code en réalité deux mots ou plus est plus utile pour faire des prédictions basées sur un seul mot par position.

    Il faut ensuite répéter l'opération plusieurs fois, l'une après l'autre (couches multiples).

    Je laisse de côté de nombreux détails sur la manière dont le codage final du codeur est transmis au décodeur (un autre tour d'attention, appelé attention à la source, où les codages du codeur pour chaque position sont utilisés comme q et k pour être appliqués à une autre version différente de v), mais à ce stade, vous devriez avoir une vue d'ensemble des choses. À la fin, le décodeur, prenant en compte le codage de l'encodeur, envoie de l'énergie aux bras de frappe pour les mots, et nous choisissons le mot le plus fortement énergisé.
    à suivre

  28. #58
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    suite

    7. Pourquoi les grands modèles linguistiques sont-ils si puissants ?
    Qu'est-ce que tout cela signifie ? Les grands modèles de langage, tels que ChatGPT, GPT-4 et d'autres, ne font qu'une chose : ils prennent un ensemble de mots et essaient de deviner le mot suivant. S'il s'agit de "raisonnement" ou de "pensée", ce n'est qu'une forme très spécialisée.

    Mais même cette forme spécialisée semble très puissante, car le ChatGPT et ses semblables peuvent faire beaucoup de choses apparemment très bien : écrire de la poésie, répondre à des questions sur la science et la technologie, résumer des documents, rédiger des courriels et même écrire du code, pour n'en citer que quelques-unes. Pourquoi fonctionnent-ils si bien ?

    La sauce secrète comporte deux éléments. Nous avons déjà parlé du premier : le transformateur apprend à mélanger les contextes des mots d'une manière qui lui permet de deviner le mot suivant. L'autre partie de la sauce secrète est la façon dont les systèmes sont formés. Les grands modèles de langage sont formés à partir de quantités massives d'informations extraites de l'internet. Il s'agit notamment de livres, de blogs, de sites d'information, d'articles de Wikipédia, de discussions sur Reddit et de conversations sur les médias sociaux. Au cours de la formation, nous introduisons un extrait de texte provenant de l'une de ces sources et nous lui demandons de deviner le mot suivant. N'oubliez pas : auto-supervisé. S'il se trompe, nous modifions légèrement le modèle jusqu'à ce qu'il trouve la bonne réponse. Si nous réfléchissons à ce pour quoi un LLM est formé, il s'agit de produire un texte qui pourrait raisonnablement être apparu sur Internet. Il ne peut pas mémoriser l'internet, il utilise donc les encodages pour faire des compromis et se trompe un peu, mais, espérons-le, pas trop.

    Il est important de ne pas sous-estimer la diversité des sujets abordés dans les textes publiés sur l'internet. Les linguistes ont tout vu. Ils ont vu des milliards de conversations sur à peu près tous les sujets. Un LLM peut donc produire des mots qui donnent l'impression d'avoir une conversation avec vous. Il a vu des milliards de poèmes et de paroles de musique sur à peu près tous les sujets imaginables, et peut donc produire des textes qui ressemblent à de la poésie. Il a vu des milliards de devoirs et leurs solutions, de sorte qu'il peut faire des suppositions raisonnables sur vos devoirs, même s'ils sont légèrement différents. Il a vu des milliards de questions de tests standardisés et leurs réponses. Pensons-nous vraiment que les questions du SAT de cette année sont si différentes de celles de l'année dernière ? Il a vu des gens parler de leurs projets de vacances, et peut donc deviner des mots qui ressemblent à des projets de vacances. Il a vu des milliards d'exemples de codes faisant toutes sortes de choses. Une grande partie du travail des programmeurs informatiques consiste à assembler des morceaux de code pour faire des choses très typiques et bien comprises dans de plus gros morceaux de code. Les LLM peuvent donc écrire ces petits bouts de code communs pour vous. Il a vu des milliards d'exemples de codes erronés et leurs corrections sur stackoverflow.com. Il peut donc prendre en compte votre code défectueux et suggérer des corrections. Il a vu des milliards de personnes tweeter qu'elles avaient touché un poêle chaud et s'étaient brûlé les doigts, donc les LLM ont du bon sens. Il a lu beaucoup d'articles scientifiques, il peut donc deviner des faits scientifiques bien connus, même s'ils ne sont pas bien connus de vous. Il a vu des milliards d'exemples de personnes résumant, réécrivant un texte en puces, décrivant comment rendre un texte plus grammatical, plus concis ou plus persuasif.

    Voici ce qu'il faut retenir : lorsque vous demandez à ChatGPT ou à un autre Grand Modèle de Langage de faire quelque chose d'intelligent - et que cela fonctionne - il y a de fortes chances que vous lui ayez demandé de faire quelque chose dont il a vu des milliards d'exemples. Et même si vous proposez quelque chose de vraiment unique comme "dites-moi ce que ferait Flash Gordon après avoir mangé six burritos" (est-ce unique, je ne le sais même pas), il a vu des Fan Fiction sur Flash Gordon et il a vu des gens parler de manger trop de burritos et il peut - grâce à l'auto-attention - mélanger et assortir des éléments pour assembler une réponse raisonnable.

    Notre premier réflexe lorsque nous interagissons avec un grand modèle de langage ne doit pas être de nous dire "wow, ces choses doivent être vraiment intelligentes, vraiment créatives ou vraiment compréhensives". Notre premier réflexe devrait être de nous dire : "Je lui ai probablement demandé de faire quelque chose dont il a déjà vu des bribes". Cela peut signifier qu'il est toujours très utile, même s'il ne "pense pas très fort" ou "ne fait pas de raisonnement très sophistiqué".

    Nous n'avons pas besoin de recourir à l'anthropomorphisation pour comprendre ce qu'il fait pour nous fournir une réponse.

    Une dernière remarque sur ce thème : en raison de la manière dont les grands modèles de langage fonctionnent et de la façon dont ils sont formés, ils ont tendance à fournir des réponses qui sont en quelque sorte la réponse médiane. Il peut sembler très étrange que je dise que le modèle a tendance à donner des réponses moyennes après avoir demandé une histoire sur Flash Gordon. Mais dans le contexte d'une histoire ou d'un poème, les réponses peuvent être considérées comme ce que beaucoup de gens (écrivant sur l'internet) produiraient s'ils devaient faire un compromis. Ce ne sera pas mauvais. Elles pourraient même être très bonnes si l'on s'en tient aux critères d'une personne isolée essayant de penser à quelque chose par elle-même. Mais vos histoires et vos poèmes sont probablement moyens aussi (mais ils sont spéciaux pour vous). Désolé.
    à suivre

  29. #59
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    suite

    8. À quoi dois-je faire attention ?
    Le fonctionnement des transformateurs et la façon dont ils sont formés ont des implications très subtiles. Les points suivants sont des implications directes des détails techniques.

    Les grands modèles linguistiques sont formés sur l'internet. Cela signifie qu'ils ont également été formés sur toutes les parties sombres de l'humanité. Les grands modèles de langage ont été formés à des discours racistes, à des discours sexistes, à des insultes de toutes sortes à l'encontre de tous les types de personnes, à des personnes qui font des suppositions stéréotypées sur les autres, à des théories du complot, à des informations politiques erronées, etc. Cela signifie que les mots qu'un modèle de langage choisit de générer peuvent régurgiter ce type de langage.
    Les grands modèles de langage n'ont pas de "croyances fondamentales". Ce sont des devineurs de mots ; ils essaient de prédire quels seraient les mots suivants si la même phrase apparaissait sur l'internet. On peut donc demander à un grand modèle de langage d'écrire une phrase en faveur de quelque chose, ou contre cette même chose, et le modèle de langage s'y conformera dans les deux cas. Cela ne signifie pas qu'il croit une chose ou une autre, qu'il change d'avis ou que l'un est plus juste que l'autre. Si les données d'apprentissage contiennent plus d'exemples d'une chose que d'une autre, un grand modèle de langage aura tendance à répondre de manière plus cohérente à ce qui apparaît le plus souvent dans ses données d'apprentissage, parce qu'on le trouve plus souvent sur l'internet. N'oubliez pas : le modèle s'efforce d'imiter la réponse la plus courante.
    Les grands modèles de langage n'ont aucun sens de la vérité, du bien ou du mal. Il y a des choses que nous considérons comme des faits, comme la Terre qui est ronde. Un LLM aura tendance à dire cela. Mais si le contexte s'y prête, il dira aussi le contraire, parce qu'Internet contient des textes sur la Terre plate. Il n'y a aucune garantie qu'un programme d'éducation et de formation tout au long de la vie fournisse la vérité. Il peut y avoir une tendance à deviner des mots que nous considérons comme vrais, mais c'est le plus proche que nous puissions être de faire des affirmations sur ce qu'un LLM "sait" à propos de la vérité ou du bien ou du mal.
    Les grands modèles de langage peuvent faire des erreurs. Les données d'apprentissage peuvent contenir de nombreux éléments incohérents. L'auto-attention peut ne pas tenir compte de toutes les choses que nous voulons qu'elle fasse lorsque nous posons une question. En tant que devin de mots, il peut faire des suppositions malheureuses. Parfois, les données d'apprentissage ont vu un mot tellement de fois qu'il préfère ce mot même s'il n'a pas de sens pour l'entrée. Ce qui précède conduit à un phénomène appelé "hallucination", qui consiste à deviner un mot qui n'est ni dérivé de l'entrée, ni "correct". Les LLM ont tendance à deviner de petits nombres plutôt que de grands nombres parce que les petits nombres sont plus courants. Les LLM ne sont donc pas très doués en mathématiques. Les LLM ont une préférence pour le nombre "42" parce que les humains le font à cause d'un livre célèbre particulier. Les LLM ont une préférence pour les noms les plus courants et peuvent donc inventer des noms d'auteurs.
    à suivre

  30. #60
    yves95210

    Re : Deux articles intéressants sur l'IA conversationnelle

    suite

    Les grands modèles de langage sont autorégressifs. Ainsi, lorsqu'ils font des suppositions que nous pourrions considérer comme mauvaises, ces mots supposés sont ajoutés à leurs propres entrées pour faire la supposition du mot suivant. En d'autres termes, les erreurs s'accumulent. Même s'il n'y a qu'un risque d'erreur de 1 %, l'auto-attention peut s'intéresser à ce mauvais choix et redoubler cette erreur. Même si une seule erreur est commise, tout ce qui suit peut être lié à cette erreur. Le modèle linguistique peut alors commettre d'autres erreurs. Les transformateurs n'ont pas la possibilité de "changer d'avis", de réessayer ou de s'autocorriger. Ils suivent le courant.
    Il faut toujours vérifier les résultats d'un modèle de langage important. Si vous lui demandez de faire des choses que vous ne pouvez pas vérifier vous-même de manière compétente, vous devez vous demander si vous êtes d'accord pour agir en fonction des erreurs commises. Pour des tâches à faible enjeu, comme l'écriture d'une nouvelle, cela peut convenir. Pour des tâches à fort enjeu, comme essayer d'obtenir des informations pour décider dans quelles actions investir, ces erreurs pourraient vous faire prendre une décision très coûteuse.
    L'auto-attention signifie que plus vous fournissez d'informations dans l'invite d'entrée, plus la réponse sera spécialisée, car le système mélangera davantage de vos mots dans ses suppositions. La qualité de la réponse est directement proportionnelle à la qualité de l'invite de saisie. De meilleures invites produisent de meilleurs résultats. Essayez plusieurs invites différentes et voyez ce qui fonctionne le mieux pour vous. Ne supposez pas que le modèle linguistique "comprend" ce que vous essayez de faire et qu'il fera de son mieux la première fois.
    Vous n'êtes pas vraiment en train de "discuter" avec un grand modèle de langage. Un grand modèle linguistique ne se "souvient" pas de ce qui s'est passé au cours de l'échange. Vous entrez vos données. La réponse sort. Le LLM ne se souvient de rien. Votre entrée initiale, la réponse et votre réponse à la réponse sont entrées. Ainsi, s'il semble se souvenir, c'est parce que le journal des conversations devient une nouvelle entrée. Il s'agit d'une astuce de programmation sur le front-end pour donner l'impression que le Grand Modèle de Langage est en train d'avoir une conversation. Grâce à cette astuce, il restera probablement dans le sujet, mais rien ne garantit qu'il ne contredira pas ses réponses précédentes. Par ailleurs, le nombre de mots pouvant être introduits dans le grand modèle de langage est limité (actuellement, ChatGPT autorise environ 4 000 mots, et GPT-4 environ 32 000 mots). La taille des entrées peut être assez importante, de sorte que la conversation semble souvent rester cohérente pendant un certain temps. Finalement, le journal accumulé devient trop important, le début de la conversation est supprimé et le système "oublie" les éléments antérieurs.
    à suivre

Page 2 sur 4 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Trouver les références de deux articles scientifiques
    Par inviteaec2795d dans le forum TPE / TIPE et autres travaux
    Réponses: 7
    Dernier message: 12/05/2015, 08h30
  2. Livres intéressants
    Par invitebfd6cb46 dans le forum Lectures scientifiques
    Réponses: 8
    Dernier message: 11/01/2013, 18h24
  3. deux liens intéressants pour les curieux
    Par invite4021e8ad dans le forum Physique
    Réponses: 0
    Dernier message: 16/08/2010, 20h06
  4. Des clichés intéressants...
    Par invite2bab68d1 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 3
    Dernier message: 27/07/2010, 17h54
  5. Deux ouvrages très intéressants
    Par invite17a570c1 dans le forum Lectures scientifiques
    Réponses: 1
    Dernier message: 13/08/2007, 12h30