Transformers documentation
Matériel
Matériel
Transformers s'exécute sur des CPU, des GPU NVIDIA, des GPU AMD, Apple Silicon, des TPU Google, des instances AWS Trainium et plus encore, via leurs backends PyTorch.
- Pour l’entraînement, TrainingArguments détecte automatiquement le backend.
- Pour l’inférence, la détection automatique ne couvre pas tous les backends, il faut donc passer la chaîne de caractères du device pour en choisir un explicitement. Cette page liste la chaîne de caractères du device et le package pour chaque backend, ce que TrainingArguments configure à cet effet, et comment Transformers décide du device à utiliser.
Trouver votre matériel
Chaque backend possède une chaîne de caractères de périphérique que vous passez à device_map ou device. Le CPU et Apple Silicon fonctionnent avec le package standard torch. Les autres backends nécessitent un package d’extension PyTorch qui enregistre le backend auprès de PyTorch.
| Matériel | Chaîne de caractères du périphérique | Package |
|---|---|---|
| CPU | cpu | torch |
| GPU NVIDIA | cuda | torch |
| GPU AMD | cuda | torch (build ROCm) |
| AWS Trainium | neuron | torch-neuronx |
| Google TPU | tpu | torch-tpu |
| GPU Intel | xpu | torch |
| Apple Silicon | mps | torch |
| Intel Gaudi | hpu | habana-torch-plugin |
| NPU Ascend de Huawei | npu | torch-npu |
| Cambricon MLU | mlu | torch-mlu |
| GPU Moore Threads | musa | torch-musa |
Si un backend matériel est absent de ce tableau et que vous pensez que Transformers le prend en charge, veuillez ouvrir un ticket.
Comment Transformers choisit un appareil
Transformers choisit un appareil différent pour l'entraînement et l'inférence.
Entraînement
TrainingArguments détecte automatiquement le backend via Accelerate. Lors d'une exécution distribuée, chaque processus utilise le dispositif que Accelerate lui attribue. En mode mono-processus, TrainingArguments sélectionne le premier backend disponible et bascule sur le CPU si aucun n'est disponible. Définissez use_cpu=True pour forcer l'entraînement sur le CPU.
Inférence
from_pretrained() charge un modèle sur le CPU par défaut.
Définissez device_map="auto" pour le placer sur les accélérateurs disponibles. Le placement automatique s’appuie sur Accelerate pour détecter CUDA, Intel XPU, Intel Gaudi (HPU) et Apple Silicon (MPS), entre autres, mais il ne couvre pas tous les backends. Pour les autres backends, tels que AWS Trainium et Google TPU, passez explicitement la chaîne de périphérique à device_map.
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", device_map="neuron")