AI-translated from English; not yet reviewed by a fluent editor.

# TorchNeuron d’AWS apporte un backend PyTorch natif à Trainium

> La version Neuron 2.33 d’AWS introduit un backend PyTorch en bêta publique pour Trainium2 et Trainium3. Les versions prises en charge, la couverture des opérateurs et les limites de compilation déterminent ce que les ingénieurs doivent vérifier lors d’une évaluation.

By BIG CHANGE Editorial

Published: 2026-10-20T04:20:56.038Z
Updated: 2026-10-20T04:20:56.038Z
Canonical: https://bigchange.ai/blog/aws-torchneuron-native-pytorch-backend-trainium

![Conceptual charcoal illustration of a code-marked monitor beside an open rack drawer containing an unbranded accelerator board.](https://bigchange.ai/api/media/file/torchneuron-native-device-trainium-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE.

Les [notes de version](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/release-notes/components/torchneuron.html) de Neuron 2.33 d’AWS situent la bêta publique de TorchNeuron au 19 octobre. L’[annonce de PyTorch](https://pytorch.org/blog/introducing-torchneuron-native-pytorch-backend-for-aws-trainium/), également datée du 19 octobre, indique que le lancement de la bêta publique et de la version open source a lieu le 20 octobre. Le paquet `torch-neuronx` enregistre dans PyTorch un périphérique `neuron` pour Trainium2 et Trainium3, permettant aux opérations de modèle et de tenseur prises en charge d’utiliser les API PyTorch habituelles. Pour les ingénieurs qui envisagent ces puces, le changement utile est un chemin plus court entre un programme PyTorch existant et un essai sur le périphérique. Le bon fonctionnement et l’efficacité de ce programme dépendent toujours de ses opérations, de ses formes de tenseurs et de son environnement logiciel.

L’ancienne voie PyTorch pour Trainium utilisait la bibliothèque `torch-neuronx` fondée sur XLA et du code de périphérique `torch_xla`. Selon AWS, le backend natif utilise l’extension `PrivateUse1` de PyTorch et remplace `xm.xla_device()` par un placement sur le périphérique `neuron`. C’est une modification importante de l’interface pour les projets qui utilisent déjà Neuron, même si le nom du paquet reste familier. Cette version s’applique à l’entraînement et à l’inférence sur les instances Trn2 et Trn3 ; la matrice de compatibilité ne mentionne pas Trn1.

## Ce qui change dans un programme PyTorch

Les [notes de version d’AWS](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/release-notes/components/torchneuron.html) montrent un modèle déplacé avec `.to("neuron")` et un tenseur d’entrée créé sur `device="neuron"`. Les opérations prises en charge de `torch.nn`, d’autograd et des optimiseurs s’exécutent ensuite via le backend. Le code écrit avec l’API `torch.accelerator` de PyTorch, indépendante du périphérique, peut détecter Neuron sans réécriture propre au périphérique, selon la [présentation de TorchNeuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/torch/about-pytorch-neuron.html).

Deux modes d’exécution sont disponibles. Le mode eager exécute les opérations PyTorch à mesure que Python les appelle, en conservant le flux de contrôle ordinaire, les affichages et les points d’arrêt. Chaque opération est compilée lors de sa première utilisation, puis les appels correspondants peuvent utiliser un cache. Les ingénieurs peuvent aussi compiler un modèle ou une région sélectionnée avec `torch.compile(model, backend="neuron", dynamic=False)`. Le backend natif compile les graphes de calcul avant et arrière pris en charge ; le code extérieur à la région capturée continue de s’exécuter en mode eager. L’[annonce de PyTorch](https://pytorch.org/blog/introducing-torchneuron-native-pytorch-backend-for-aws-trainium/) explique aussi comment définir `torch.compiler.set_default_backend("neuron")` une fois avant la compilation, pour que les appels de compilation ultérieurs puissent omettre l’argument du backend.

Cette version comprend un backend `neuron` pour `torch.distributed`, avec des opérations collectives et point à point documentées. AWS cite DistributedDataParallel, FSDP2, DTensor et DeviceMesh, ainsi que le parallélisme de pipeline, parmi les API prises en charge. Ce sont des pistes utiles à examiner pour un projet d’entraînement distribué, mais les notes de version ne démontrent pas qu’un traitement multinœud existant s’exécutera sans modification ni qu’il atteindra un objectif précis de débit.

## L’évaluation commence par un environnement compatible

Le [guide d’installation rapide](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/torch/get-started/quickstart-torch-neuron.html) d’AWS exige une instance Trn2 ou Trn3 et soit une Neuron Base DLAMI, soit une AMI Ubuntu prise en charge. La matrice de cette version indique Linux x86\_64 sur Ubuntu 24.04 ou 26.04. Ubuntu 22.04 n’est plus pris en charge pour cette version. Elle mentionne Python 3.12, 3.13 et 3.14, avec `torch-neuronx` 2.13.3.0 pour PyTorch 2.13.0 ou `torch-neuronx` 2.14.3.0 pour PyTorch 2.14.0. La famille du paquet doit correspondre à la version de PyTorch.

Le guide rapide installe `torch-neuronx==2.14.*` ainsi que `neuronx-cc==2.*` et `nki` depuis les index de paquets Neuron et PyTorch. Il vérifie ensuite la disponibilité du périphérique et compare une petite opération matricielle sur Neuron avec un résultat obtenu sur CPU. Cela vérifie le chemin vers le périphérique installé dans l’exemple d’AWS. Cela ne valide pas le modèle du lecteur. Une évaluation suivante raisonnable consiste à exécuter les calculs avant et arrière du modèle réel, à examiner les replis sur CPU enregistrés avec `torch_neuronx.get_fallback_ops()`, à comparer les sorties avec celles de l’environnement actuel et à mesurer séparément la compilation et les exécutions en régime établi. Ces dernières étapes sont les questions d’évaluation proposées par BIG CHANGE, et non des tests que nous avons effectués.

## Ce que la bêta peut encore changer dans le travail

En mode eager, une opération non prise en charge peut se replier sur le CPU et émettre un avertissement. Avec `torch.compile`, une opération capturée dans un graphe que le backend Neuron ne peut pas convertir fait échouer la compilation par défaut. AWS renvoie les développeurs à sa [table de compatibilité des opérateurs](https://github.com/aws-neuron/torch-neuronx/blob/main/docs/torch_api_compatibility.md) pour connaître la couverture de chaque opération. Une exécution eager qui aboutit ne prouve donc pas à elle seule que tout s’exécute sur le périphérique ni que le modèle est compatible avec la compilation.

Les notes de version précisent aussi que `torch.compile` exige `dynamic=False` ; une nouvelle forme d’entrée peut imposer une nouvelle compilation. AWS suggère le padding ou le regroupement par formes, appelé bucketing, pour réduire leur variation. La première exécution inclut la compilation lorsqu’aucun artefact correspondant n’est en cache. Ces détails comptent pour chronométrer une charge de travail : la latence de compilation et la répartition des formes d’entrée peuvent modifier le résultat d’une évaluation.

D’autres limites explicites restreignent la compatibilité annoncée. La bêta ne prend pas en charge `torch.sparse`, `torch.func`, `torch.nested` ni `torch.distributions`. Seules certaines transformations `torch.fft` s’exécutent sur Neuron, et `float64` s’exécute en `float32` avec un avertissement. L’intégration de TorchAO et la prise en charge du type de données composite MXFP8 sont absentes de cette version. Une équipe qui utilise ces fonctions doit vérifier son propre chemin d’exécution avant de considérer le placement sur le périphérique comme un plan de migration.

### Le grand changement

TorchNeuron place Trainium derrière les interfaces natives de périphérique et de compilation de PyTorch dans une bêta publique. Cela rend un premier essai plus direct pour les programmes PyTorch pris en charge et offre aux utilisateurs actuels de Neuron une autre voie que leur code fondé sur XLA. Les éléments décisifs pour l’adoption viendront de chaque charge de travail : ses opérateurs restent-ils sur le périphérique prévu, ses résultats numériques demeurent-ils acceptables, et les performances et coûts mesurés justifient-ils l’instance et le travail de migration ? BIG CHANGE a examiné la documentation et les annonces pour cette analyse ; nous n’avons pas exécuté TorchNeuron ni vérifié indépendamment les affirmations d’AWS sur les performances.

## Sources et lectures complémentaires

- [Notes de version de TorchNeuron dans AWS Neuron 2.33](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/release-notes/components/torchneuron.html) : date de sortie, statut de bêta, matrice des versions et des systèmes d’exploitation, API et limites connues.
- [Présentation de TorchNeuron par AWS](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/torch/about-pytorch-neuron.html) : intégration du périphérique, exécution eager et compilée, comportement du repli sur CPU et parcours logiciel dans Neuron.
- [Guide rapide d’installation et de vérification d’AWS](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/torch/get-started/quickstart-torch-neuron.html) : prérequis d’instance et d’image, installation des paquets et vérification documentée du périphérique.
- [Blog PyTorch : présentation de TorchNeuron](https://pytorch.org/blog/introducing-torchneuron-native-pytorch-backend-for-aws-trainium/) : explication, côté PyTorch, du changement de périphérique, de la compilation et des API distribuées. L’article est une annonce de contributeurs AWS sur le blog PyTorch, et non un benchmark indépendant.
- [Annonce d’Amazon](https://www.aboutamazon.com/news/innovation-at-amazon/torchneuron-pytorch-aws-trainium-chips-ai) : présentation par AWS de ses objectifs et de ses premiers utilisateurs. Ses affirmations sur la migration, les performances et l’économie exigent une vérification propre à chaque charge de travail.

## Sources

- [Notes de version d’AWS Neuron : TorchNeuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/release-notes/components/torchneuron.html) — Source primaire ; date sa bêta publique du 2026-10-19, un jour avant le lancement de la bêta publique et de la version open source indiqué dans l’annonce de PyTorch ; matrice des versions et limites déclarées.
- [Qu’est-ce que TorchNeuron ?](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/torch/about-pytorch-neuron.html) — Documentation primaire sur l’utilisation du périphérique et du backend.
- [Blog PyTorch : TorchNeuron, backend PyTorch natif pour AWS Trainium](https://pytorch.org/blog/introducing-torchneuron-native-pytorch-backend-for-aws-trainium/) — Annonce côté PyTorch par des contributeurs AWS ; datée du 19 octobre, elle indique que la bêta publique et la version open source seront disponibles le 20 octobre. URL actuelle atteinte depuis l’article d’Amazon ; ce n’est pas une vérification indépendante des performances.
- [Annonce d’Amazon](https://www.aboutamazon.com/news/innovation-at-amazon/torchneuron-pytorch-aws-trainium-chips-ai) — Annonce du fournisseur ; les affirmations sur la migration et l’économie sont celles d’AWS et n’ont pas été vérifiées indépendamment.
- [Installer et vérifier torch-neuronx](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/torch/get-started/quickstart-torch-neuron.html) — Guide rapide d’AWS pour les prérequis, l’installation de paquets compatibles et une vérification documentée CPU/Neuron.
- [Table de compatibilité de l’API TorchNeuron](https://github.com/aws-neuron/torch-neuronx/blob/main/docs/torch_api_compatibility.md) — Classifications du mainteneur pour chaque API : exécution native, repli sur CPU ou absence de prise en charge.
