Suivez nous sur

Les grands modèles de langage mettront-ils fin Ă  la programmation ?

Intelligence Artificielle

Les grands modèles de langage mettront-ils fin Ă  la programmation ?

mm
LLM remplaçant les programmeurs humains

La semaine dernière a marquĂ© une Ă©tape importante pour OpenAI, puisqu'ils ont dĂ©voilĂ© GPT-4 Turbo lors de leur JournĂ©e de dĂ©veloppement OpenAIL'une des fonctionnalitĂ©s les plus remarquables de GPT-4 Turbo est sa fenĂŞtre contextuelle Ă©tendue Ă  128,000 4, soit une augmentation substantielle par rapport aux 8,000 16 de GPT-300. Cette amĂ©lioration permet de traiter XNUMX fois plus de texte que son prĂ©dĂ©cesseur, soit l'Ă©quivalent d'environ XNUMX pages de texte.

Cette avancée est liée à un autre développement important : l’impact potentiel sur le paysage des startups SaaS.

ChatGPT Enterprise d'OpenAI, avec ses fonctionnalités avancées, représente un défi pour de nombreuses startups SaaS. Ces entreprises, qui proposaient des produits et services autour de ChatGPT ou de ses API, sont désormais confrontées à la concurrence d'un outil aux capacités professionnelles. Les offres de ChatGPT Enterprise, telles que la vérification de domaine, l'authentification unique (SSO) et les analyses d'utilisation, chevauchent directement de nombreux services B2B existants, ce qui pourrait compromettre la survie de ces startups.

Lors de son discours d'ouverture, Sam Altman, PDG d'OpenAI, a rĂ©vĂ©lĂ© une autre avancĂ©e majeure : l'extension du seuil de connaissance de GPT-4 Turbo. Contrairement Ă  GPT-4, qui ne disposait d'informations que jusqu'en 2021, GPT-4 Turbo est mis Ă  jour avec des connaissances jusqu'en avril 2023, marquant une avancĂ©e significative dans la pertinence et l'applicabilitĂ© de l'IA.

ChatGPT Enterprise se distingue par des fonctionnalités telles qu'une sécurité et une confidentialité améliorées, un accès haut débit à GPT-4 et des fenêtres contextuelles étendues pour des entrées plus longues. Ses capacités avancées d’analyse des données, ses options de personnalisation et la suppression des plafonds d’utilisation en font un choix supérieur à ses prédécesseurs. Sa capacité à traiter des entrées et des fichiers plus longs, ainsi qu'un accès illimité à des outils avancés d'analyse de données comme les précédents Interprète de code, renforce encore son attrait, en particulier auprès des entreprises auparavant hésitantes en raison de problèmes de sécurité des données.

L’ère de la création manuelle de code cède la place à des systèmes pilotés par l’IA, entraînés plutôt que programmés, ce qui signifie un changement fondamental dans le développement logiciel.

Les tâches banales de programmation pourraient bientôt incomber à l’IA, réduisant ainsi le besoin d’une expertise approfondie en matière de codage. Des outils comme Copilote de GitHub et Le Ghostwriter de Replit, qui aident au codage, sont des indicateurs précoces du rôle croissant de l'IA en programmation, suggérant un avenir où l'IA s'étendra au-delà de l'assistance pour gérer pleinement le processus de programmation. Imaginez le scénario courant où un programmeur oublie la syntaxe permettant d'inverser une liste dans un langage particulier. Au lieu d'une recherche dans des forums et des articles en ligne, CoPilot offre une assistance immédiate, permettant au programmeur de rester concentré sur son objectif.

Passer du Low-Code au développement basé sur l'IA

Les outils Low-code et No code ont simplifiĂ© le processus de programmation, automatisant la crĂ©ation de blocs de codage de base et permettant aux dĂ©veloppeurs de se concentrer sur les aspects crĂ©atifs de leurs projets. Mais Ă  mesure que nous entrons dans cette nouvelle vague d’IA, le paysage change encore davantage. La simplicitĂ© des interfaces utilisateur et la possibilitĂ© de gĂ©nĂ©rer du code via des commandes simples telles que « CrĂ©ez-moi un site Web pour faire X Â» rĂ©volutionnent le processus.

L'influence de l'IA en programmation est déjà considérable. De la même manière que les premiers informaticiens sont passés du génie électrique à des concepts plus abstraits, les futurs programmeurs pourraient considérer le codage détaillé comme obsolète. Les progrès rapides de l'IA ne se limitent pas à la génération de texte/code. Dans des domaines comme la génération d'images, les modèles de diffusion sont plus complexes. Piste ML, DALL-E3, montre des améliorations massives. Il suffit de voir le tweet ci-dessous de Runway présentant sa dernière fonctionnalité.

Au-delà de la programmation, l'impact de l'IA sur les industries créatives devrait être tout aussi transformateur. Jeff Katzenberg, figure emblématique de l'industrie cinématographique et ancien président des studios Walt Disney, a prédit que l'IA réduirait considérablement le coût de production des films d'animation. Selon un article récent de Bloomberg Katzenberg prévoit une réduction drastique des coûts de 90 %. Cela peut inclure l'automatisation de tâches à forte intensité de main-d'œuvre telles que les opérations intermédiaires dans l'animation traditionnelle, le rendu de scènes et même l'assistance aux processus créatifs tels que la conception de personnages et le storyboard.

La rentabilité de l’IA dans le codage

Analyse des coĂ»ts de l'emploi d'un ingĂ©nieur logiciel :

  1. La compensation totale: Le salaire moyen d'un ingénieur logiciel, avantages supplémentaires compris dans les pôles technologiques comme la Silicon Valley ou Seattle, est d'environ 312,000 XNUMX $ par an.

Analyse des coĂ»ts quotidiens :

  1. Jours ouvrables par an : Étant donnĂ© qu'il y a environ 260 jours de travail par an, le coĂ»t quotidien de l'emploi d'un ingĂ©nieur logiciel est d'environ 1,200 XNUMX $.
  2. Sortie de code : En supposant une estimation gĂ©nĂ©reuse de 100 lignes de code finalisĂ©es, testĂ©es, rĂ©visĂ©es et approuvĂ©es par jour, cette production quotidienne constitue la base de comparaison.

Analyse des coĂ»ts de l'utilisation de GPT-3 pour la gĂ©nĂ©ration de code :

  1. CoĂ»t du jeton : Le coĂ»t d'utilisation de GPT-3, au moment de la vidĂ©o, Ă©tait d'environ 0.02 $ pour 1,000 XNUMX jetons.
  2. Jetons par ligne de code : En moyenne, on peut estimer qu’une ligne de code contient environ 10 tokens.
  3. CoĂ»t pour 100 lignes de code : Par consĂ©quent, le coĂ»t pour gĂ©nĂ©rer 100 lignes de code (ou 1,000 3 jetons) Ă  l’aide de GPT-0.12 serait d’environ XNUMX $.

Analyse comparative:

  • CoĂ»t par ligne de code (humain vs IA) : En comparant les coĂ»ts, la gĂ©nĂ©ration de 100 lignes de code par jour coĂ»te 1,200 0.12 $ lorsqu'elle est effectuĂ©e par un ingĂ©nieur logiciel humain, contre seulement 3 $ avec GPT-XNUMX.
  • Facteur de coĂ»t: Cela reprĂ©sente une diffĂ©rence de facteur de coĂ»t d’environ 10,000 XNUMX fois, l’IA Ă©tant nettement moins chère.

Cette analyse souligne le potentiel économique de l’IA dans le domaine de la programmation. Le faible coût du code généré par l’IA par rapport aux dépenses élevées des développeurs humains suggère un avenir dans lequel l’IA pourrait devenir la méthode privilégiée pour générer du code, en particulier pour les tâches standard ou répétitives. Ce changement pourrait conduire à des économies significatives pour les entreprises et à une réévaluation du rôle des programmeurs humains, concentrant potentiellement leurs compétences sur des tâches plus complexes, créatives ou de surveillance que l'IA ne peut pas encore gérer.

La polyvalence de ChatGPT s'étend à une variété de contextes de programmation, y compris les interactions complexes avec les frameworks de développement web. Imaginez un développeur travaillant avec React, une bibliothèque JavaScript populaire pour la création d'interfaces utilisateur. Traditionnellement, cette tâche impliquerait de se plonger dans une documentation exhaustive et des exemples fournis par la communauté, notamment pour les composants complexes ou la gestion d'état.

Avec ChatGPT, ce processus devient rationalisé. Le développeur peut simplement décrire les fonctionnalités qu'il souhaite implémenter dans React, et ChatGPT fournit des extraits de code pertinents et prêts à l'emploi. Cela peut aller de la configuration d'une structure de composants de base à des fonctionnalités plus avancées telles que la gestion de l'état avec des hooks ou l'intégration avec des API externes. En réduisant le temps consacré à la recherche et aux essais et erreurs, ChatGPT améliore l'efficacité et accélère le développement de projets dans des contextes de développement Web.

Défis de la programmation basée sur l'IA

Alors que l'IA continue de remodeler le paysage de la programmation, il est essentiel de reconnaître les limites et les défis liés au recours exclusif à l'IA pour les tâches de programmation. Ces défis soulignent la nécessité d'une approche équilibrée qui exploite les atouts de l'IA tout en reconnaissant ses limites.

  1. Qualité et maintenabilité du code: Le code généré par l'IA peut parfois être verbeux ou inefficace, ce qui peut entraîner des problèmes de maintenance. Bien que l’IA puisse écrire du code fonctionnel, garantir que ce code adhère aux meilleures pratiques en matière de lisibilité, d’efficacité et de maintenabilité reste une tâche humaine.
  2. Débogage et gestion des erreursLes systèmes d'IA peuvent générer du code rapidement, mais ils n'excellent pas toujours dans le débogage ou la compréhension des erreurs subtiles du code existant. Les subtilités du débogage, en particulier dans les systèmes complexes et de grande taille, nécessitent souvent une compréhension et une expérience approfondies de la part d'un humain.
  3. Dépendance aux données de formation: L'efficacité de l'IA en programmation dépend largement de la qualité et de l'étendue de ses données de formation. Si les données d'entraînement manquent d'exemples de certains bugs, modèles ou scénarios, la capacité de l'IA à gérer ces situations est compromise.
  4. Préoccupations éthiques et de sécurité: L'IA jouant un rôle plus important dans le codage, des problèmes d'éthique et de sécurité surgissent, notamment en ce qui concerne la confidentialité des données et le potentiel de biais dans le code généré par l'IA. Garantir une utilisation éthique et lutter contre ces préjugés est crucial pour le développement responsable d’outils de programmation basés sur l’IA.

Équilibrer les compétences en IA et en programmation traditionnelle

Dans les futures équipes de développement de logiciels, un modèle hybride pourrait émerger. Les chefs de produit pourraient traduire les exigences en directives pour les générateurs de code d'IA. La surveillance humaine pourrait encore être nécessaire pour l’assurance qualité, mais l’accent passerait de l’écriture et de la maintenance du code à la vérification et au réglage fin des résultats générés par l’IA. Ce changement suggère une moindre importance accordée aux principes de codage traditionnels tels que la modularité et l'abstraction, car le code généré par l'IA n'a pas besoin d'adhérer aux normes de maintenance centrées sur l'humain.

Dans cette nouvelle ère, le rôle des ingénieurs et des informaticiens va profondément évoluer. Ils interagiront avec le LLM, fournissant des données d'entraînement et des exemples pour accomplir des tâches, passant du codage complexe à l'utilisation stratégique de modèles d'IA.

L'unité de calcul de base passera des processeurs traditionnels à des modèles LLM massifs et pré-entraînés, marquant un passage des processus statiques prévisibles aux agents d'IA dynamiques et adaptatifs.

L’accent est mis sur la transition de la création et de la compréhension de programmes vers le pilotage de modèles d’IA, la redéfinition des rôles des informaticiens et des ingénieurs et la refonte de notre interaction avec la technologie.

Le besoin continu d’informations humaines dans le code généré par l’IA

L’avenir de la programmation repose moins sur le codage que sur la direction de l’intelligence qui pilotera notre monde technologique.

La croyance selon laquelle le traitement du langage naturel par l’IA peut remplacer entièrement la précision et la complexité des notations mathématiques formelles et de la programmation traditionnelle est, au mieux, prématurée. L’évolution vers l’IA en programmation n’élimine pas le besoin de rigueur et de précision que seules la programmation formelle et les compétences mathématiques peuvent apporter.

De plus, tester le code généré par l'IA pour résoudre des problèmes non résolus reste un défi majeur. Des techniques comme les tests basés sur les propriétés nécessitent une compréhension approfondie de la programmation, des compétences que l'IA, dans son état actuel, ne peut ni reproduire ni remplacer.

En résumé, même si l’IA promet d’automatiser de nombreux aspects de la programmation, l’élément humain reste crucial, en particulier dans les domaines nécessitant de la créativité, la résolution de problèmes complexes et une surveillance éthique.

J'ai passé les cinq dernières années à m'immerger dans le monde fascinant du Machine Learning et du Deep Learning. Ma passion et mon expertise m'ont amené à contribuer à plus de 50 projets de génie logiciel divers, avec un accent particulier sur l'IA/ML. Ma curiosité continue m'a également attiré vers le traitement automatique du langage naturel, un domaine que j'ai hâte d'explorer davantage.