Triton est un nouveau langage de programmation lancé par OpenAI pour l’optimisation de la charge de travail de l’IA.
OpenAI, une entreprise engagée dans le développement éthique de l’IA, publie la première version de Triton. Il s’agit d’un langage open source dédié à la programmation GPU pour le deep learning. Il permet aux scientifiques d’écrire des codes efficaces avec peu d’efforts.
OpenAI publie Triton 1.0
Dans le but d’atteindre une haute performance dans le domaine de l’IA, l’importance des réseaux de neurones profonds s’est considérablement accrue au cours de la dernière décennie. Les progrès du traitement du langage naturel, de la vision par ordinateur et des neurosciences computationnelles montrent la force de la structure hiérarchique de ces modèles.
Pour s’adapter aux processeurs multi-cœurs, elle génère une grande quantité de travail hautement parallélisable. Cela a encouragé l’exploitation des GPU pour déployer de nouvelles idées de recherche dans le domaine. Et les frameworks de calcul GPU à usage général (CUDA, OpenCL, etc.) ont davantage facilité le développement de programmes haute performance.
Cependant, l’optimisation des GPU reste difficile, en partie à cause de l’évolution rapide de leurs architectures. Par ailleurs, les frameworks natifs nécessitent la création de tenseurs temporaires qui peuvent nuire à la performance des réseaux de neurones. Certes, des langages et des compilateurs ont été créés pour résoudre le problème. Toutefois, ils manquent de flexibilité et prennent plus de temps pour générer un code.
Afin que les développeurs se concentrent sur la logique de haut niveau de leur code, OpenAI a donc lancé Triton pour automatiser ces optimisations.
Un code simplifié
Triton est un langage basé sur Python. Entre autres, à l’aide des bibliothèques de Triton, le développeur écrit en Python. Ensuite, le compilateur de Triton simplifie, optimise et parallélise le code automatiquement pour l’exécuter sur les GPU. Jusqu’ici, les seuls processeurs pris en charge sont les GPU NVIDIA récents.
Selon OpenAI, le principal défi de Triton est la planification du travail pour une exécution efficace sur les GPU modernes. Le compilateur procède par l’analyse intensive de flux de données au niveau des blocs. En d’autres termes, Triton planifie d’une manière statique les blocs d’itération, en se basant sur la structure de contrôle et le flux de données du programme cible. Par conséquent, le compilateur automatise un large éventail d’optimisations, d’après Philippe Tillet, le créateur de Triton.
- Partager l'article :