Les moteurs sémantiques basés sur l’apprentissage automatique pourraient être l’avenir du développement logiciel dans les mois à venir. La valeur commerciale de l’IA pourrait atteindre 5,1 milliards de dollars d’ici 2025. Les éditeurs de logiciels déplacent leur attention des mégadonnées vers des outils de développement de logiciels personnalisés pour répondre aux demandes croissantes de leurs clients. Il existe de nombreuses raisons pour lesquelles les entreprises de développement de logiciels cherchent à adopter des moteurs sémantiques basés sur ML et d’autres capacités d’IA. Discutons-en dans cet article.
Le rôle de l’IA dans le développement de logiciels reste un marché très important pour les développeurs modernes et les ingénieurs en apprentissage automatique (ML). À mesure que la complexité des codes augmente, les équipes DevOps explorent des moyens plus intelligents de gérer les cycles de vie du développement logiciel à l’aide d’un ensemble d’algorithmes ML. La complexité du code crée divers défis pour l’équipe de développement, tels que le manque de visibilité sur les résultats du logiciel et son efficacité à résoudre les problèmes pour lesquels il est créé ; limitations des mises à niveau UX ; et atténuer les problèmes de qualité dans le temps. Ces retards remettent en question les cycles de vie des projets, ce qui entraîne un coût gonflé du développement logiciel. Selon Deloitte, les organisations américaines ont perdu 319 milliards de dollars en raison de la mauvaise qualité des logiciels ! Le développement de logiciels assisté par l’IA est donc devenu la plus grande opportunité pour les développeurs d’étendre leur développement et d’utiliser ML pour améliorer la vitesse et la précision du codage. Les chercheurs de Google AI ont montré comment cela peut être fait dans leur laboratoire de test.
Récemment, les chercheurs de Google AI ont mis au point un nouvel algorithme de complétion de code qui fonctionne en synchronisation avec les moteurs sémantiques (SE) dans les environnements de développement intégrés (IDE). Les chercheurs ont appliqué les résultats de l’application des moteurs ML et sémantiques aux grands modèles de langage (LLM) existants tels que PaLM et CodeX pour analyser leur impact sur la productivité globale et les niveaux de précision des développeurs travaillant dans les IDE.
Que sont les moteurs sémantiques (SE) ?
Les moteurs sémantiques sont des modèles automatisés de prise en charge des langages de programmation basés sur ML qui permettent aux développeurs de compléter des codes ou de mettre en évidence la syntaxe en fonction des principes de recherche sémantique. Les SE basés sur ML peuvent effectuer différentes fonctions en fonction des exigences de programmation. Par exemple, ils peuvent être utilisés pour “rechercher et remplacer”, mettre en évidence les anomalies dans les lignes de codage et intégrer les suggestions des compilateurs et des interpréteurs dans les IDE. Cette automatisation du développement logiciel avec PaLM et CodeX a permis à Copilot de GitHub de se développer et de prospérer dans l’espace de l’IA. Mais, maintenant, l’équipe Google AI veut aller de l’avant en fournissant aux développeurs de logiciels plus de puissance et d’autorité dans le moteur sémantique basé sur ML dans les IDE. Et, l’une des raisons de le faire est d’améliorer la productivité globale des modèles de développement avec le Language Server Protocol (LSP).
Google le fait en utilisant hybride Transformer – une architecture de réseau neuronal récurrent (RNN) spécialement conçue pour amener le développement de logiciels “au-delà des performances de calcul”. La dernière combinaison ML et SE met en évidence la façon dont l’architecture Transformer pourrait offrir une plus grande précision grâce à un mécanisme d’auto-attention très avancé.
Auto-complétion à l’aide de moteurs sémantiques et de Transformer RNN
Les développeurs internes et les ingénieurs ML de Google sont désormais les utilisateurs cibles du modèle développé de saisie automatique de code basé sur ML+SE Transformer. Les développeurs de Google auraient intérêt à disposer de ce modèle d’achèvement de code ML de plusieurs manières, notamment l’authentification et le reclassement des suggestions de jeton unique SE et la continuité multiligne. L’équipe Google AI a signalé une réduction significative du temps d’itération de codage et des changements de contexte, ce qui indique directement comment une implication plus poussée des moteurs sémantiques dans les IDE pourrait améliorer la productivité des développeurs à l’aide des suggestions d’achèvement générées par ML.
Google AI a formé son architecture Transformer RNN pour imiter les séquences de codage sur huit langages de programmation différents, tels que :
- Python
- Java
- Aller
- C++
- Manuscrit
- Proto
- Dard
- Kotlin
Transformer avec ML et SE fonctionne avec le système de contrôle de version de Google appelé “monorepo”, qui offre des performances égales pour tous les langages de programmation. Cela améliore non seulement la facilité de réutilisation et de complétion du code, mais élimine également le besoin de créer différents RNN ML pour la recherche sémantique pour chaque plate-forme de programmation.
Selon l’équipe Google AI. les moteurs sémantiques ont pu identifier et filtrer 80 % des suggestions non compilables sur Go. Avec le temps, à mesure que la confiance se développait, la précision de la vérification sémantique ou le taux d’acceptation s’améliorait de 1,9 fois en six semaines pour l’achèvement du code sur une seule ligne. Par rapport aux langues pour lesquelles il y avait une vérification non sémantique à l’aide de moteurs sémantiques basés sur ML, le taux d’acceptation n’a augmenté que de 1,3 fois.
L’avenir du développement logiciel basé sur ML avec des moteurs sémantiques
De nombreuses entreprises utilisent l’IA ou préconisent l’utilisation de l’IA pour le développement de logiciels.
Avec de plus en plus de recherches sur le développement d’applications d’IA avancées spécifiquement pour la complétion de code et la compatibilité des langages de programmation dans les IDE, nous pouvons nous attendre à ce que l’industrie du développement de logiciels basé sur ML connaisse une croissance exponentielle d’ici 2025. Selon Gartner, les responsables informatiques et les DSI devraient se concentrer sur la maîtrise de la technologie pour construire une organisation compétitive. Au sein des équipes informatiques, les développeurs de logiciels doivent profiter des avantages de l’IA et de l’apprentissage automatique pour automatiser la gestion de projet pour des livraisons plus rapides, précises et agiles. Nul doute que les budgets vont également exploser en mettant l’IA au centre de tous les DevOps.
Source : Blog de Google sur l’IA
Si vous avez un projet ML intéressant en préparation dans votre laboratoire d’IA, veuillez écrire à sghosh@martechseries.com