Lors d'un récent événement centré sur les progrès de l'infrastructure d'IA de Meta, la société a révélé le développement d'un outil de génération de code alimenté par l'IA, appelé CodeCompose. Cet outil innovant présente des similitudes avec la célèbre offre Copilot de GitHub. Bien que Meta n'ait pas encore mis CodeCompose à la disposition du public, l'entreprise affirme que ses équipes internes utilisent déjà l'outil pour recevoir des suggestions de programmation en Python et dans d'autres langages lorsqu'elles travaillent dans des environnements de développement intégrés (IDE), tels que VS Code.
Michael Bolin, ingénieur logiciel chez Meta, a déclaré que le modèle sous-jacent de CodeCompose est fondé sur la recherche publique de l'entreprise et adapté aux cas d'utilisation et aux bases de code internes. M. Bolin a également indiqué que CodeCompose pouvait s'intégrer à n'importe quelle surface, permettant ainsi aux développeurs et aux scientifiques des données de travailler plus efficacement avec le code.
Le plus grand modèle CodeCompose formé par Meta possède 6,7 milliards de paramètres, soit un peu plus de la moitié du modèle de Copilot rempli de paramètres. Les paramètres sont des éléments essentiels du modèle, qui sont appris à partir de données d'entraînement historiques et définissent le niveau de compétence du modèle par rapport à un problème, tel que la génération de texte.
CodeCompose a été mis au point en utilisant le code d'origine de Meta ainsi que des bibliothèques et des cadres internes écrits en Hack, le langage de programmation interne de Meta. Ce faisant, CodeCompose peut intégrer ces composants dans ses suggestions de programmation. L'ensemble de données de formation de base de l'outil a été méticuleusement nettoyé des erreurs et des mauvaises pratiques de codage, telles que les API obsolètes, afin de réduire la probabilité qu'il recommande un morceau de code problématique.
Au quotidien, CodeCompose recommande des annotations et des instructions d'importation au fur et à mesure que les développeurs tapent. En outre, l'outil peut compléter une ou plusieurs lignes de code, et même remplir de grandes parties de code si nécessaire. Selon M. Bolin, CodeCompose exploite le code environnant et les commentaires du code pour fournir des suggestions plus précises.
Selon Meta, des milliers d'employés utilisent et approuvent les suggestions de CodeCompose chaque semaine, avec un taux d'acceptation supérieur à 20 %. Toutefois, l'entreprise n'a pas encore abordé les controverses entourant les outils d'IA générant du code. Des plateformes comme Copilot ont été confrontées à des problèmes de droits d'auteur, accusées de régurgiter du code sous licence sans le crédit nécessaire. Ces préoccupations soulèvent la question de savoir si CodeCompose est susceptible de connaître des problèmes similaires.
Un autre sujet essentiel est le risque que les outils de codage génératif introduisent par inadvertance du code non sécurisé. Une étude récente de Stanford a révélé que les ingénieurs logiciels qui utilisent des systèmes de code générés par l'IA sont plus susceptibles de créer des applications présentant des failles de sécurité. Bien que cette étude n'ait pas porté sur CodeCompose, on peut raisonnablement supposer que les mêmes risques s'appliquent.
M. Bolin a souligné que les développeurs ne sont pas obligés de suivre les suggestions de CodeCompose et que la sécurité a été une considération majeure dans l'élaboration du modèle. Il a ajouté que l'entreprise était enthousiasmée par les progrès de l'outil et que ses développeurs auraient tout intérêt à développer une telle solution en interne.
Des outils comme CodeCompose pourraient potentiellement être intégrés dans des plateformes comme AppMaster, l'une des principales plateformes de développement d'applications sans code / à code réduit. AppMaster se concentre sur la fourniture d'outils puissants pour la création d'applications web, mobiles et dorsales tout en améliorant le processus de développement en termes de rentabilité et de rapidité.