Kernel Forge: An Agent Harness for LLM-based Generation and Optimization of CUDA Kernels
Kernel Forge est un harnais agentique de bout en bout en open-source qui exploite les grands modèles de langage et la recherche arborescente Monte Carlo pour générer et optimiser automatiquement des noyaux CUDA pour divers flux de travail PyTorch, atteignant des accélérations significatives par rapport au mode eager de PyTorch tout en fournissant une interface graphique pour l'inspection et le débogage.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous essayez de faire fonctionner un jeu vidéo sur votre ordinateur. Parfois, le jeu tourne de manière fluide, mais d'autres fois, il saccade ou subit des latences. Cela arrive parce que l'ordinateur doit effectuer des millions de minuscules calculs mathématiques chaque seconde pour dessiner les images et gérer la physique. Dans le monde de l'intelligence artificielle (IA), ces calculs sont encore plus intenses. Pour qu'une IA puisse « réfléchir », elle s'appuie sur des instructions spéciales à haute vitesse appelées kernels (noyaux). Considérez le kernel comme une recette spécifique et super efficace qu'un chef utilise pour couper les légumes. Si le chef utilise un couteau émoussé et une méthode lente, tout le dîner sera en retard. S'il utilise un couteau tranchant et spécialisé, la nourriture est prête instantanément.
Pendant des années, écrire ces « recettes » pour l'IA a été comme essayer d'écrire un roman dans une langue que l'on maîtrise à peine. Cela nécessite l'intervention d'experts hautement qualifiés pour coder à la main des instructions complexes pour les puces informatiques (GPU) afin de les faire fonctionner plus rapidement. Mais aujourd'hui, nous avons un nouveau genre d'assistant : les Grands Modèles de Langage (LLM). Vous les connaissez peut-être comme les chatbots intelligents capables d'écrire des histoires ou de résoudre des problèmes mathématiques. Les scientifiques apprennent désormais à ces chatbots à écrire les « recettes » (kernels) pour l'IA, dans l'espoir qu'ils puissent le faire plus vite et mieux que les humains. Cependant, il y a un piège : le simple fait qu'un chatbot écrive une recette qui semble bonne sur le papier ne signifie pas qu'il cuira réellement le repas plus vite dans une vraie cuisine.
C'est ici qu'intervient un nouveau projet appelé Kernel Forge. Des chercheurs de l'Université du Michigan ont construit un système intelligent qui ne se contente pas de demander à un chatbot d'écrire du code ; il agit comme un coach à plein temps, un inspecteur de qualité et un chef de projet, tout cela réuni en un seul. Ils voulaient voir si l'IA pouvait réellement prendre en charge la tâche d'optimisation de ces recettes pour des modèles d'IA du monde réel, et non pas seulement pour des cas de test fictifs et inventés.
Le Problème : Le Piège de l'« Isolement »
Imaginez que vous entraîniez un robot à courir. Si vous le testez uniquement sur une piste parfaitement plate et vide, il pourrait ressembler à un sprinteur de classe mondiale. Mais dès que vous le placez dans une rue de ville accidentée et bondée, il pourrait trébucher et tomber. C'est exactement ce qui s'est passé avec les tentatives précédentes d'utilisation de l'IA pour écrire des kernels GPU. La plupart des outils testaient l'IA en lui donnant des problèmes mathématiques aléatoires et inventés sur une piste vide. Ils généraient un morceau de code, le testaient de manière isolée, et disaient : « Regardez comme c'est rapide ! »
Mais dans le monde réel, les modèles d'IA sont comme des villes animées. Les « recettes » (kernels) doivent fonctionner avec des formes de données spécifiques, des quantités de mémoire spécifiques, et elles doivent bien s'entendre avec les autres recettes situées juste à côté d'elles. Une recette qui est rapide lors d'un test aléatoire peut être lente ou même casser lorsqu'elle est utilisée à l'intérieur d'un véritable modèle d'IA, comme ceux qui génèrent des images ou discutent avec vous. Les outils précédents laissaient souvent aux développateurs humains le soin de déterminer comment réintégrer ces nouvelles recettes écrites par l'IA dans la machine complexe, ce qui était fastidieux et sujet aux erreurs.
La Solution : Kernel Forge
Les chercheurs ont créé Kernel Forge, un outil open-source qui sert de pont entre l'écrivain IA et le monde réel. Au lieu de demander à l'IA de deviner, Kernel Forge observe d'abord un modèle d'IA réel (comme un modèle qui reconnaît les visages ou écrit des histoires) en train de fonctionner sur un ordinateur. Il prend des notes sur précisément quelles « recettes » sont utilisées, quelle est la taille des données et combien de temps elles mettent pour s'exécuter.
Une fois qu'il possède ces données du monde réel, il confie la tâche à un agent d'IA (un bot intelligent alimenté par un grand modèle de langage). Mais il ne s'agit pas d'une opération en une seule étape. Le système utilise une stratégie astucieuse appelée Recherche d'Arbre de Monte Carlo (Monte Carlo Tree Search). Imaginez un détective résolvant un mystère. Au lieu de simplement suivre une intuition, le détective essaie de nombreux chemins différents. Si un chemin mène à une impasse, il ne baisse pas les bras ; il revient en arrière et essaie un autre angle. De la même manière, Kernel Forge ne se contente pas d'écrire une version d'une recette et d'espérer que tout se passera bien. Il génère de nombreuses versions, les teste, et si l'une d'elles est lente, il essaie de la corriger ou tente une approche complètement différente. Il garde un « arbre généalogique » de toutes les tentatives, se souvenant de celles qui étaient prometteuses même si elles n'étaient pas parfaites au premier abord.
Les Résultats : Des Victoires Rapides, Mais Pas Partout
L'équipe a testé Kernel Forge sur quatre types différents de modèles d'IA : un pour la reconnaissance d'images (ResNet-50), un pour la génération d'art (Stable Diffusion 3.5 Medium), ainsi que deux pour la discussion et le raisonnement (Gemma 4 et Qwen 3.5). Ils ont effectué ces tests sur un ordinateur puissant doté d'un GPU NVIDIA GB10.
Voici ce qu'ils ont découvert :
- Cela fonctionne, mais c'est sélectif : Le système a réussi à générer de nouvelles recettes plus rapides pour de nombreuses parties de l'IA. Dans certains cas, le code écrit par l'IA était nettement plus rapide que le code standard utilisé habituellement par l'ordinateur. Par exemple, dans le générateur d'images, le nouveau code pour la « normalisation de groupe » (group normalization) était 1,70 fois plus rapide. Dans le chatbot Gemma 4, le nouveau code pour le « softmax » (une étape mathématique utilisée pour prendre des décisions) était massivement 2,83 fois plus rapide.
- Le filet de sécurité « Gardé » : Le système est très prudent. Il possède un « garde » qui vérifie chaque nouvelle recette. Si la nouvelle recette écrite par l'IA est plus lente ou commet une erreur, le système repasse immédiatement au code original, fiable. Il n'impose jamais une mauvaise recette à l'utilisateur. Cela signifie que même si l'IA tente d'optimiser une partie du code et échoue, l'ordinateur ne plante pas ou ne ralentit pas ; il utilise simplement l'ancienne méthode sécurisée.
- Les « Grands Joueurs » sont difficiles à battre : Les chercheurs ont remarqué quelque chose d'intéressant. Les parties de l'IA qui occupent le plus de temps (les « grands joueurs ») sont souvent déjà gérées par du code très mature et écrit par des experts provenant d'entreprises comme NVIDIA. L'IA a eu du mal à battre ces experts. Par exemple, dans le générateur d'images, l'opération « linéaire » (qui occupe plus de 50 % du temps) était en fait plus lente lorsque l'IA a tenté de la réécrire. Le système a sagement décidé de s'en tenir au code original pour cette partie.
- Les petites victoires s'accumulent : Les gains de vitesse les plus importants se sont produits sur les parties les moins critiques du code. Bien que l'IA n'ait pas pu battre les experts sur les tâches les plus importantes, elle a trouvé des moyens astucieux d'accélérer les tâches plus petites de 1,5 à 2,8 fois.
Le Coût de la Curiosité
Les chercheurs ont également examiné le coût de cette « réflexion ». Ils ont utilisé un modèle d'IA puissant pour générer le code, et chaque fois que l'IA écrivait une ligne de code ou vérifiait un résultat, cela coûtait un peu d'argent (basé sur l'utilisation de l'API). Ils ont constaté qu'à mesure qu'ils laissaient l'IA essayer de plus en plus de variations (jusqu'à 50 cycles d'essais et de corrections), le coût augmentait. Cependant, le gain de vitesse supplémentaire ne correspondait pas toujours à l'argent supplémentaire dépensé. Cela suggère que, bien que l'IA puisse trouver de bons raccourcis, nous devons être intelligents sur le moment où nous arrêtons de chercher, surtout si la partie du code que nous essayons de corriger n'est pas très importante pour la vitesse globale.
L'Essentiel à Retenir
Kernel Forge montre que nous entrons dans une nouvelle ère où l'IA peut aider à écrire le code de bas niveau qui permet aux autres IA de fonctionner plus rapidement. Ce n'est pas une baguette magique qui résout tout instantanément ; elle ne peut pas encore facilement battre les meilleurs experts humains sur les tâches les plus importantes. Mais c'est un outil puissant qui peut trouver des accélérations cachées dans les petits détails, tout en maintenant le système sûr et stable.
Les chercheurs ont publié leur outil en open-source, ce qui signifie que n'importe qui peut l'utiliser pour essayer de rendre ses propres modèles d'IA plus rapides. Ils ont prouvé qu'en combinant la créativité de l'IA avec la sécurité des tests en conditions réelles, nous pouvons commencer à optimiser les moteurs de notre monde numérique sans avoir besoin d'un doctorat en informatique pour le faire. C'est un pas vers un avenir où nos ordinateurs ne seront pas seulement plus intelligents, mais aussi beaucoup plus efficaces.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.