IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

Lorsque l'IA crée son propre code, pourquoi utiliserait-elle un langage de programmation ?


Sujet :

Intelligence artificielle

  1. #1
    Chroniqueur Actualités
    Avatar de Bruno
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mai 2019
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2019
    Messages : 1 856
    Points : 36 485
    Points
    36 485
    Par défaut Lorsque l'IA crée son propre code, pourquoi utiliserait-elle un langage de programmation ?
    Lorsque l'IA crée son propre code, pourquoi utiliserait-elle un langage de programmation ?
    Codex génère des programmes dans 12 langages de codage

    Avec un taux de croissance annuel projeté de 36,2 % jusqu'en 2030, l'intelligence artificielle continuera d'imprégner notre société à un rythme sans précédent. Un programme d'IA peut être utilisé pour s'exécuter lui-même ou pour exécuter son propre code. Il s'agit là d'un mode de fonctionnement courant des programmes d'IA. Toutefois, si les systèmes d'IA peuvent effectuer de nombreuses tâches de manière autonome, ils nécessitent toujours une intervention humaine à un certain niveau, car ils ne peuvent pas encore remplacer totalement la prise de décision humaine dans tous les contextes.

    L’IA n’a pas intérêt à écrire du code binaire, car cela serait trop limité et spécifique. Le code binaire dépend du matériel exact utilisé dans un appareil, et il doit être compilé sur la machine elle-même au moment de l’installation. Si une IA se contentait d’écrire du code binaire, elle ne pourrait le faire que pour elle-même ou pour des machines identiques, ou bien elle devrait avoir accès à des informations sur le matériel qui ne sont pas toujours disponibles. Il n’y a pas de raison pour qu’une IA écrive en binaire alors qu’elle peut obtenir le même résultat plus rapidement, avec plus de raisonnement et plus d’adaptabilité en écrivant en c++ ou en python, selon l’application souhaitée.

    Nom : iacodeB.png
Affichages : 2700
Taille : 280,4 Ko

    L’IA devrait produire du code dans un langage de haut niveau, compréhensible par les humains, pour plusieurs raisons. D’abord, cela permettrait de vérifier, de déboguer, d’optimiser et de certifier le code produit par l’IA, ce qui est essentiel pour garantir sa qualité et sa sécurité. Ensuite, cela éviterait de perdre du temps à réinventer la roue, car les langages de haut niveau disposent déjà de cadres et de bibliothèques qui facilitent le développement de nombreuses fonctionnalités.

    Enfin, cela correspondrait mieux au type de données sur lesquelles l’IA a été entraînée, c’est-à-dire des données lisibles par l’homme, et non des données binaires. L’IA ne connaît pas la correspondance entre les concepts abstraits des langages de haut niveau et les instructions binaires qui les implémentent. Elle ne fait que manipuler des mots en fonction de leur relation avec d’autres mots.

    L’IA pourrait ne pas produire du code en 0 et 1, ni en avoir besoin. Nous utilisons des langages de programmation parce qu’ils nous facilitent la tâche, en nous permettant de concevoir le plan de haut niveau et en laissant les détails techniques au compilateur ou à l’interprète. Peut-être qu’une IA basée sur un réseau neuronal préférerait aussi utiliser un langage de programmation pour la même raison. Le débogage d’un code binaire serait trop fastidieux et inefficace, car il nécessiterait un examen trop minutieux.

    L’IA devrait utiliser des langages de haut niveau qui facilitent les abstractions, les traductions et les inférences. Certains langages permettent de créer des représentations mathématiques qui peuvent être manipulées, optimisées, etc.

    Codex génère des programmes dans 12 langages de codage et traduit même entre eux

    Tom Smith, un programmeur expérimenté, a testé Codex, une nouvelle technologie d’intelligence artificielle qui écrit ses propres programmes informatiques. Il a été impressionné par sa capacité à résoudre des problèmes de codage complexes et à traduire entre différents langages de programmation. Cependant, il ne pense pas que Codex va remplacer les codeurs humains, mais plutôt les aider à être plus productifs et à apprendre l’informatique.

    OpenAI Codex est un descendant du modèle de génération de texte GPT-3 d'OpenAI. Mais alors que GPT-3 a été entrainé sur une énorme quantité de données de langage naturel extraites d'Internet, Codex a été entrainé à la fois avec des données de langage naturel et des milliards de lignes de code source provenant de sources accessibles au public. Cela inclut le code des référentiels publics GitHub. En conséquence, les utilisateurs peuvent seulement émettre des commandes en anglais, et Codex va les exécuter en générant un code informatique fonctionnel. OpenAI Codex est plus performant en Python, mais il maîtrise également plus d'une dizaine de langages de programmation, notamment JavaScript, Go, Perl, PHP, Ruby, Swift et TypeScript, et même Shell.

    Les modèles d'IA régénérative sont des programmes logiciels conçus et créés par des humains, qui font fureur aujourd'hui dans des programmes tels que Open AIs Chat GPT. Cela signifie qu'ils dépendent des humains pour concevoir et construire leur programmation initiale et pour effectuer toutes les mises à jour ou modifications nécessaires.

    Une fois qu'un système d'IA a été programmé et mis en place, il peut fonctionner sans intervention humaine. Il traitera des données, exécutera des tâches et prendra des décisions sur la base de la programmation qui lui a été donnée. Ce processus ne cessera d'évoluer. Dans certains cas, un système d'IA peut s'adapter et apprendre au fil du temps sur la base des données auxquelles il est exposé, ce qui lui permet d'améliorer ses performances et de prendre des décisions plus précises.

    Pour l'instant, les systèmes d'IA ne peuvent pas fonctionner de manière autonome sans un certain degré d'intervention ou de supervision humaine, mais cela pourrait bientôt changer. Ils dépendent de l'homme pour concevoir et créer leurs modèles de programmation d'origine, pour leur fournir les données à traiter et pour effectuer toutes les mises à jour ou modifications nécessaires.

    Tom Smith a voulu tester les capacités de Codex en lui faisant passer un entretien d’embauche pour codeur. Il lui a posé des questions sur des problèmes de codage courants, tels que remplacer les espaces par des tirets dans une phrase ou vérifier la validité des codes postaux. Codex a répondu instantanément et correctement à toutes les questions, en écrivant le code correspondant. Tom Smith a été étonné par la rapidité et la précision de Codex, qui pouvait même traduire d’un langage de programmation à un autre.

    Cependant, après avoir utilisé Codex pendant plusieurs semaines, Tom Smith a changé d’avis sur la menace que cette technologie pourrait représenter pour les programmeurs humains. Il a réalisé que Codex n’était pas parfait et qu’il avait parfois besoin de l’aide ou de la correction des humains. Il a aussi constaté que Codex pouvait être un outil utile pour les codeurs, en leur facilitant la tâche et en leur faisant gagner du temps. Il a même pensé que Codex pouvait être un bon moyen d’apprendre l’informatique, en montrant aux débutants comment écrire des morceaux de code simples.

    Tom Smith a donc conclu que Codex n’était pas un problème, mais un atout pour les programmeurs humains. Il a estimé que cette technologie pouvait stimuler la créativité et la productivité humaines, plutôt que les remplacer.

    Codex : une révolution pour l’analyse de données ou un danger pour l’emploi ?

    Smith et d’autres experts affirment que Codex est un outil qui va augmenter la productivité humaine. Mais est-ce vraiment le cas ? L’expérience nous a appris que les firmes américaines utilisent la productivité et l’automatisation pour diminuer les dépenses et se débarrasser des employés. Les travailleurs manuels ont déjà souffert de cette stratégie dans plusieurs secteurs industriels.

    Aujourd’hui, les employés de bureau de bas niveau sont aussi en danger à cause de l’IA. L’avenir des travailleurs s’annonce sombre avec la productivité, l’automatisation et la délocalisation. Si nos entreprises continuent à privilégier les profits au lieu des personnes, la situation des travailleurs va empirer.

    De l'avis de certains analystes, l’IA ne pourra pas éliminer les programmeurs humains. Ils disent que cette idée est basée sur des hypothèses trop favorables à l’IA et trop défavorables aux humains. L’IA ne pourra pas devenir un programmeur universel, apte à gérer tous les logiciels et tous les langages. Il y aura toujours des cas où l’IA sera insuffisante, soit par manque d’expérience, soit par manque de créativité ou de souplesse pour résoudre des problèmes complexes.

    Dans ces situations, les programmeurs humains seront toujours nécessaires pour compléter ou corriger le travail de l’IA. Cependant, cette IA pourrait être très utile et prometteuse. Elle pourrait par exemple permettre à beaucoup de personnes qui ne connaissent pas le code de bénéficier de l’analyse de données sans se noyer dans les aspects techniques. Cela pourrait les rendre plus efficaces dans leur travail et leur ouvrir de nouvelles perspectives professionnelles.

    Source : Nytimes

    Et vous ?

    À votre avis, qu’est-ce qui motive l’IA à choisir un langage de programmation pour créer du code ?

    Quels sont les risques de laisser l’IA produire du code sans supervision humaine ?

    Quels seraient selon vous, les défis techniques et éthiques liés à la production de code par l’IA ?

    Existe-t-il des inconvénients à produire du code dans différents langages de haut niveau ?

    Voir aussi :

    L'IA Codex d'OpenAI fait ses débuts en programmation et peut déjà coder dans une dizaine de langages, l'IA pourra-t-elle bientôt décharger les développeurs de certaines tâches, voire les remplacer ?

    GitHub Copilot, l'assistant de programmation basé sur l'IA, sous le feu des critiques, un développeur affirme qu'il émet de nombreux bouts de son code protégé par le droit d'auteur

    Le code source d'une « intelligence artificielle » qui joue au titre Fruit Ninja pour Android, IOS et Windows est disponible, mais divise quant à l'utilisation du terme IA pour sa désignation
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2015
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Septembre 2015
    Messages : 185
    Points : 426
    Points
    426
    Par défaut
    Les LLM ont eu leur apprentissage en parcourant du code en langage de haut niveau. Ils sont donc logiquement adaptés à la production de code de haut niveau.

    Ainsi, si on demande à un LLM un code envoyant un mail, préciser le langage lui permettra de cibler une bibliothèque usuelle dans cet écosystème et produire le code adéquat. (La plupart des programmes intéressant ont des dépendances envers de bibliothèques diverses et ne se limitent pas à la libc standard, et chaque langage a son ecosystème de bibliothèques).

    Par ailleurs, si le code doit être repris par l'utilisateur, il vaudrait mieux qu'il soit dans un langage de haut niveau !

    De plus, il y a le cas d'usage de la génération de code pour une partie d'un projet. Il est souvent préférable d'utiliser le même langage que le projet pour simplifier l'intégration.

  3. #3
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Septembre 2014
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Septembre 2014
    Messages : 606
    Points : 1 447
    Points
    1 447
    Par défaut
    Rien pour le COBOL ?

  4. #4
    Membre averti
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2015
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Septembre 2015
    Messages : 185
    Points : 426
    Points
    426
    Par défaut
    @TotoParis… produit par ChatGPT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    IDENTIFICATION DIVISION.
    PROGRAM-ID. Fibonacci-Numbers.
    DATA DIVISION.
    WORKING-STORAGE SECTION.
    01 Count PIC 9(2) VALUE 10.
    01 Fibonacci-Prev PIC 9(10) VALUE 0.
    01 Fibonacci-Current PIC 9(10) VALUE 1.
    01 Fibonacci-Next PIC 9(10).
     
    PROCEDURE DIVISION.
        PERFORM VARYING Count FROM 1 BY 1 UNTIL Count > 10
            DISPLAY 'Fibonacci(' Count ') = ' Fibonacci-Current
            COMPUTE Fibonacci-Next = Fibonacci-Current + Fibonacci-Prev
            MOVE Fibonacci-Current TO Fibonacci-Prev
            MOVE Fibonacci-Next TO Fibonacci-Current
        END-PERFORM.
     
    STOP RUN.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/04/2017, 09h15
  2. crée son propre menu fichier
    Par Nono1nd dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 25/01/2012, 18h37
  3. [Lazarus] Lazarus signale des erreurs dans son propre code
    Par sondo dans le forum Lazarus
    Réponses: 4
    Dernier message: 07/12/2009, 17h05
  4. Réponses: 42
    Dernier message: 19/06/2007, 09h40
  5. Application d'une matrice OPENGL par son propre code
    Par fanoplusplus64k dans le forum OpenGL
    Réponses: 4
    Dernier message: 03/10/2006, 23h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo