Amazon a annoncé TorchNeuron, un backend PyTorch natif open source pour sa famille de puces d'IA Trainium, dans le cadre d'une démarche qui supprime l'un des plus grands obstacles pratiques à l'adoption de silicium personnalisé pour les charges de travail d'apprentissage automatique. Selon un article officiel sur le blog PyTorch publié avant la conférence PyTorch Amérique du Nord le 20 octobre, les développeurs peuvent désormais exécuter le code du modèle PyTorch existant sur Trainium avec une modification sur une seule ligne, plutôt que de réécrire leurs flux de travail autour d'outils propriétaires.
L'annonce a immédiatement attiré l'attention car elle cible ce que les analystes ont longtemps décrit comme l'avantage le plus durable de Nvidia : non pas les performances brutes des puces, mais l'écosystème logiciel CUDA qui lie les développeurs à ses GPU. Reuters a présenté cette publication comme étant celle d'Amazon affirmant que ses puces d'IA fonctionneraient avec le cadre de développement le plus populaire en matière d'IA, tandis que TechCrunch a qualifié TorchNeuron de plus gros coup de pouce de l'entreprise contre Nvidia à ce jour. Pour une vision plus large de l'évolution du marché des accélérateurs, notre Couverture continue de l'actualité sur le matériel IA suit ces développements au fur et à mesure qu'ils se déroulent.
Ce que TorchNeuron change réellement
La promesse principale de TorchNeuron est la simplicité. Dans l'exemple publié sur le blog PyTorch, une boucle de formation existante s'exécute sur Trainium après rien de plus que le déplacement du modèle vers le nouvel appareil avec `.to('neuron')`. Le code écrit sur « torch.accelerator », l'API indépendante des appareils recommandée par PyTorch, s'exécute sans modification, selon la publication. Pour les charges de travail compilées, les développeurs définissent le backend par défaut une fois avec `torch.compiler.set_default_backend("neuron")`, puis appellent `model.compile()` sans autre modification.
Sous le capot, TorchNeuron enregistre Trainium via PrivateUse1, le point d'extension officiel de PyTorch pour les backends matériels personnalisés, ce qui signifie que la puce se comporte comme un périphérique PyTorch standard plutôt que comme un appendice boulonné sur le framework. AWS décrit l'intégration comme couvrant plusieurs modes d'exécution :
- Exécution hâtive pour la recherche et le débogage, avec un "mode impatient adaptatif" expérimental qui réduit les frais de lancement
- torch.compile pour les performances de production, capturant les modèles dans des graphiques que le compilateur Neuron optimise, avec prise en charge native de FlexAttention
- La Neuron Kernel Interface (NKI) pour les chercheurs qui ont besoin de noyaux personnalisés de bas niveau
Le backend fonctionne à la fois sur Trainium2 et sur les nouvelles puces Trainium3, selon l'annonce.
Une frappe directe contre le fossé logiciel de Nvidia
L'emprise de Nvidia sur l'informatique IA ne s'est jamais reposée uniquement sur un matériel plus rapide. CUDA, la plate-forme logicielle de la société, vieille de deux décennies, est l'endroit où la plupart du code de recherche sur l'IA est écrit, réglé et déployé, et chaque puce challenger – de la gamme Instinct d'AMD aux TPU de Google et Trainium d'Amazon – a dû faire face au coût de demander aux développeurs de la quitter. La couverture du lancement de TorchNeuron dans GeekWire, Benzinga et GuruFocus a uniformément présenté l'annonce comme une attaque contre ce fossé.
Amazon n'essaie pas de retirer les développeurs de PyTorch pour les convaincre. Au lieu de cela, il intègre Trainium dans PyTorch, afin que l'énorme base d'utilisateurs du framework puisse adopter la puce sans changer ses habitudes. Le billet de blog PyTorch incluait une approbation de Meta, qui maintient le cadre : « La prise en charge native d'AWS Trainium élargit ce choix, permettant aux chercheurs et aux ingénieurs d'expérimenter et d'itérer en utilisant l'exécution rapide et les API distribuées qu'ils connaissent déjà », a déclaré Jana van Greunen, directrice de l'ingénierie PyTorch chez Meta, dans le message.
Ce cadre est important pour l'activité cloud d'AWS. Les instances Trainium ont été commercialisées comme une alternative moins coûteuse aux GPU Nvidia pour la formation et l'inférence, et les puces ont déjà attiré des clients de renom en matière d'IA. Rendre les puces natives de PyTorch répond directement à l’objection qui a ralenti une adoption plus large : l’effort de portage.
Portée technique, des ordinateurs portables à la formation à l'échelle du cluster
Les capacités répertoriées sur le blog PyTorch suggèrent qu'Amazon vise bien au-delà des expériences des amateurs. TorchNeuron couvre les ensembles d'opérateurs vus dans les modèles de texte, multimodaux et de langage de vision ainsi que la génération d'images et de vidéos, les modèles d'espace d'état et les modèles mondiaux, avec la précision BF16, FP32 et FP16 ; Le support de TorchAO et FP8 est en version bêta privée avant la disponibilité générale dans la prochaine version.
La formation distribuée, la discipline qui transforme le code d'un seul GPU en exécutions à l'échelle du cluster, est prise en charge via les API PyTorch standard : DDP, FSDP2, SimpleFSDP, parallélisme tenseur et pipeline et partitionnement de style ZeRO, ainsi que DTensor et DeviceMesh pour les groupes de processus multidimensionnels. Les flux et les événements mappent la sémantique de PyTorch sur les files d'attente matérielles de Trainium, indique le message.
À titre d'inférence, les piles Neuron d'Amazon s'appuient sur la même fondation : vLLM Neuron sert de grands modèles de langage, tandis que vLLM Omni Neuron sert des modèles de diffusion pour la génération d'images et de vidéos. L'interface Neuron Kernel permet aux chercheurs d'écrire des opérateurs personnalisés pour une exécution rapide et compilée, et AWS est NKI-lib open source, un ensemble de noyaux optimisés par Trainium couvrant les calculs par blocs FlashAttention et MoE pour les scénarios LLM et multimodaux traditionnels.
Des outils de performance sont également inclus. Neuron Explorer étend le standard « torch.profiler » pour suivre l'exécution du framework au matériel, reliant chaque événement à sa ligne source, et peut exporter des métriques au format Parquet afin que les notes de publication puissent être consommées par les agents pour une analyse automatisée des goulots d'étranglement.
Disponibilité et ce qui vient ensuite
TorchNeuron devrait être lancé en open source lors de la PyTorch Conference North America le 20 octobre, selon le billet de blog, avec une compatibilité étendue à Hugging Face Transformers v5. AWS décrit Trainium comme un portefeuille de puces conçues dès le départ pour la formation et l'inférence de l'IA à l'échelle du cloud.
Le contexte stratégique est celui d’un marché dans lequel chaque grand fournisseur de cloud est à la fois le plus gros acheteur d’accélérateurs Nvidia et un concurrent potentiel. Microsoft, Google et Meta développent tous du silicium sur mesure, et des entreprises chinoises, dont Huawei, construisent leurs propres piles logicielles pour échapper à la gravité de CUDA. En rencontrant les développeurs au sein de PyTorch plutôt que de leur demander de migrer, Amazon a choisi la voie la moins perturbatrice dans ce concours – et la plus susceptible, si l'expérience des développeurs tient le coup, de déplacer les charges de travail de formation réelles du matériel Nvidia.
La question de savoir si TorchNeuron érode réellement l'avantage de CUDA dépendra des performances à grande échelle et de la longue traîne des modèles du monde réel, des questions auxquelles les documents de lancement ne répondent pas. Mais l’obstacle qui empêchait la plupart des développeurs PyTorch d’essayer Trainium – une réécriture – a désormais été réduit à une seule ligne de code.
---
Gardez une longueur d'avance sur l'IARecevez les dernières actualités, analyses et avancées en matière d'IA, le tout en un seul endroit.
Lire plus d'actualités sur l'IA →