Transformers documentation
Hardware
Hardware
Transformers se ejecuta en CPUs, GPUs de NVIDIA, GPUs de AMD, Apple Silicon, TPUs de Google, instancias de Trainium de AWS y más, a través de sus backends de PyTorch.
- Para el entrenamiento, TrainingArguments detecta el backend automáticamente.
- Para la inferencia, la detección automática no cubre todos los backends, por lo que debe pasar la cadena de dispositivo para elegir uno de forma explícita. Esta página enumera la cadena de dispositivo y el paquete para cada backend, para qué configura TrainingArguments y cómo Transformers decide qué dispositivo usar.
Encuentra tu hardware
Cada backend tiene una cadena de dispositivo que se pasa a device_map o device. CPU y Apple Silicon funcionan con el paquete estándar torch. Los demás backends requieren un paquete de extensión de PyTorch que registre el backend con PyTorch.
| Hardware | Cadena de dispositivo | Paquete |
|---|---|---|
| CPU | cpu | torch |
| GPU de NVIDIA | cuda | torch |
| GPU de AMD | cuda | torch (compilación ROCm) |
| AWS Trainium | neuron | torch-neuronx |
| Google TPU | tpu | torch-tpu |
| GPU de Intel | xpu | torch |
| Apple Silicon | mps | torch |
| Intel Gaudi | hpu | habana-torch-plugin |
| Huawei Ascend NPU | npu | torch-npu |
| Cambricon MLU | mlu | torch-mlu |
| GPU de Moore Threads | musa | torch-musa |
Si un backend de hardware no aparece en esta tabla y cree que Transformers lo admite, por favor abra un problema.
Cómo Transformers elige un dispositivo
Transformers selecciona un dispositivo diferente para el entrenamiento y la inferencia.
Entrenamiento
TrainingArguments detecta el backend automáticamente a través de Accelerate. En una ejecución distribuida, cada proceso utiliza el dispositivo que Accelerate le asigna. En un solo proceso, TrainingArguments elige el primer backend disponible y recurre a CPU si no hay ninguno disponible. Establece use_cpu=True para forzar el entrenamiento en CPU.
Inferencia
from_pretrained() carga un modelo en la CPU de forma predeterminada.
Establezca device_map="auto" para colocarlo en los aceleradores disponibles. La colocación automática depende de Accelerate para detectar CUDA, Intel XPU, Intel Gaudi (HPU) y Apple Silicon (MPS), entre otros, pero no cubre todos los backends. Para otros backends, como AWS Trainium y Google TPU, pase la cadena de dispositivo a device_map de forma explícita.
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", device_map="neuron")