Intelligence Artificielle sur CUDA ou ROCm ?
Rédigé par Frédéric Dumas
Aucun commentaire
Classé dans : Nouvelles technologies

Le code ouvert et la licence libre ne font pas tout. À la fin ce qui compte, c'est le plébiscite de la plateforme par les développeurs
Ça se dit, ça se répète, NVIDIA est le fabricant dont tous choisissent les cartes graphiques (GPU) pour effectuer les calculs massivement parallèles indispensables à l'IA. Par exemple pour l'inférence (faire converser un "modèle de langage large"), pour la diffusion stable (générer des images commandées par prompteur), ou plus généralement pour l'apprentissage profond auquel sont exposés les réseaux de neurones. Dans une diatribe restée célèbre (en) il y a plus de 10 ans, Linus Torvalds critiquait acerbement NVIDIA pour son hostilité au logiciel libre. Bien que depuis 2022 NVIDIA ait partiellement ouvert ses pilotes logiciels, le fabricant continue d'interdire l'usage du code de ses bibliothèques CUDA (l'API dédiée au calcul parallèle sur les GPU NVIDIA) sur d'autres produits que les siens, et maintient bien sûr fermés et propriétaires les firmwares de ses produits. Et le succès commercial est du coté de NVIDIA.
Depuis son rachat d'ATI en 2006, AMD est l'un des deux autres fabricants américains de GPU (le troisième est depuis peu Intel lui-même). AMD est privilégié sur Linux, depuis son adoption de l'open source et des licences libres pour ses cartes graphiques. Ses pilotes logiciels et ses bibliothèques ROCm (l'API dédiée au calcul parallèle sur les GPU AMD) sont open source, seuls ses firmwares restent propriétaires. Pour les calculs massivement parallèles en usage professionnel (CAO, calcul scientifique), les GPUs AMD ont une notoriété. Et depuis 2024, Ollama, l'application gestionnaire qui rend si facile l'installation et l'exécution de centaines de variantes des grands modèles LLM open source, prend en charge l'API ROCm (en) d'AMD, après avoir commencé à fonctionner exclusivement avec l'API CUDA de NVIDIA. Alors, bravo AMD et sa priorité au logiciel libre ?
Et bien pas vraiment.
Parce que la notoriété d'AMD pour les applications en Intelligence Artificielle ressemble à celle d'une casserole attachée à la queue d'un chat. Le web bruisse de propos peu flatteurs: documentation défaillante (en), peu de modèles de cartes graphiques compatibles (en), équipe de développement sous-dimensionnée en comparaison des bugs à corriger (en)... En un mot, quand on veut faire fonctionner des modèles d'intelligence artificielle, l'environnement logiciel mis à disposition d'AMD est au mieux en version beta. Le fait qu'il soit open source et libre n'attire pas par magie les contributeurs et ne remplace pas l'investissement encore nécessaire de la part du fabricant.
Car adopter des licences libres pour le logiciel n'immunise pas contre le cruel effet d'externalité de réseau: lorsque la qualité n'est pas là, les utilisateurs sont rares, les contributeurs encore plus, et "la mayonnaise ne prend pas"; lorsque au contraire, une autre proposition technique concurrente est plus mature, même non libre, elle commence à être plébiscitée, son adoption s'en trouve amplifiée. NVIDIA champion du logiciel propriétaire tire aujourd'hui bénéfice de son avance en qualité sur l'API CUDA, tandis qu'AMD champion du logiciel libre, peine à convaincre d'utiliser son API ROCm.
La qualité n'est pas une condition moindre du succès que la liberté du code ouvert.
Lire la suite de Intelligence Artificielle sur CUDA ou ROCm ?