Transformers documentation

Matériel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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érielChaîne de caractères du périphériquePackage
CPUcputorch
GPU NVIDIAcudatorch
GPU AMDcudatorch (build ROCm)
AWS Trainiumneurontorch-neuronx
Google TPUtputorch-tpu
GPU Intelxputorch
Apple Siliconmpstorch
Intel Gaudihpuhabana-torch-plugin
NPU Ascend de Huaweinputorch-npu
Cambricon MLUmlutorch-mlu
GPU Moore Threadsmusatorch-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")
Update on GitHub