Depuis l’émergence de l’IA générative, les développeurs du monde entier l’utilisent comme une aide précieuse, au point de parfois copier et coller du code généré sans y réfléchir. Bien que l’intelligence artificielle ait fait des progrès significatifs dans la création de code, d’images et de vidéos, elle n’est pas exempte d’erreurs et certaines tâches nécessitent toujours une intervention humaine. Néanmoins, lorsque la génération de code et la correction sont bien orchestrées, cela permet de gagner un temps considérable. NVIDIA, avec son projet VibeTensor, illustre parfaitement cet avancement technologique, ayant utilisé l’IA pour développer un environnement d’exécution similaire à PyTorch en un temps record.
L’utilisation de l’intelligence artificielle s’est largement répandue ces dernières années, devenant un outil courant dans notre quotidien. ChatGPT, par exemple, compte plus de 500 millions d’utilisateurs, et il en existe plusieurs autres. Bien qu’elles soient généralement perçues comme des outils, de nombreuses personnes les utilisent directement pour exécuter leurs tâches plus rapidement, ce qui inclut le fait de copier et coller les réponses fournies par ces IA. Ce phénomène est particulièrement observable chez les étudiants et certains employés.
NVIDIA présente le projet VibeTensor, un environnement d’exécution majoritairement créé par l’IA
Le concept de « vibe coding » a vu le jour dans cette ère dominée par l’IA. Il s’agit de programmer principalement en utilisant cette technologie. Plusieurs applications développées de cette manière sont désormais fonctionnelles, créées en beaucoup moins de temps que ce qu’un développeur humain aurait nécessaire. Ce mode de programmation n’est pas réservé à de petites applications; il peut également s’appliquer à des projets de plus grande envergure. Le projet VibeTensor de NVIDIA est un bel exemple, où des agents d’IA ont généré la majeure partie du code.
Ce projet avait pour objectif de montrer qu’il était possible de créer un environnement d’exécution alliant l’API de Python et JavaScript, ainsi que des composants C++ et gestion de mémoire via CUDA. Malgré la complexité de cette tâche, la plupart du travail a été réalisé par l’IA en seulement deux mois. Le diagramme ci-dessus illustre l’architecture, qui présente des similitudes avec PyTorch, conçue pour Linux x86_64 et les GPU NVIDIA.
NVIDIA VibeTensor prend également en charge des plugins externes
VibeTensor est doté d’un système d’allocation de mémoire Tensor, d’un moteur autograd, et d’un dispatcher interactant avec un gestionnaire de cache, un sous-système CUDA et un système d’indexation avancée. Le sous-système Fabric constitue une couche expérimentale pour les GPU, permettant d’accéder à la carte graphique via CUDA P2P pour une exécution multi-GPU. NVIDIA a également démontré la possibilité de créer un plugin pour le GPU Blackwell, fonctionnant avec les puces SM100 et SM103.
Bien que l’IA ait généré la majorité du code, des développeurs ont supervisé l’attribution des tâches et défini les contraintes durant ces deux mois. Les agents d’IA se sont chargés de générer, comparer, compiler et tester le code. Toutefois, la validation et la correction nécessitent toujours une intervention humaine, marquant ainsi un progrès significatif. Bien que VibeTensor soit un système similaire à PyTorch, il ne peut pas encore le remplacer en termes de performances et de fonctionnalités, ce qui en fait un projet de recherche intéressant.
Points à retenir
- L’IA générative offre des gains de temps substantiels dans le développement de code.
- Le projet VibeTensor de NVIDIA est un exemple de la manière dont l’IA peut faciliter le processus de création logicielle.
- Le « vibe coding » émerge comme une méthode innovante d’utilisation de l’IA dans la programmation.
- Les développeurs jouent encore un rôle clé dans la supervision et la validation du code généré par l’IA.
- VibeTensor, bien que prometteur, n’est pas encore à la hauteur des systèmes établis comme PyTorch.
En tant qu’adepte des évolutions technologiques, je trouve fascinant de voir comment l’intelligence artificielle transforme notre manière de programmer. Cela soulève également des questions importantes sur l’avenir du développement logiciel. Comment ces outils vont-ils influencer la créativité et l’innovation parmi les développeurs ? Ce débat mérite d’être approfondi, car il pourrait façonner la prochaine génération de technologies et de solutions. Qu’en pensez-vous ?