Transformers documentation
Hardware
Hardware
O Transformers roda em CPUs, GPUs NVIDIA, GPUs AMD, Apple Silicon, TPUs da Google, instâncias AWS Trainium e muito mais, por meio de seus backends do PyTorch.
- Para o treinamento, o TrainingArguments detecta o backend automaticamente.
- Para inferência, a detecção automática não cobre todos os backends, então passe a string de dispositivo para escolher um explicitamente. Esta página lista a string de dispositivo e o pacote para cada backend, o que TrainingArguments configura para ele e como o Transformers decide qual dispositivo usar.
Encontre seu hardware
Cada backend possui uma string de dispositivo que você passa para device_map ou device. CPU e Apple Silicon funcionam com o pacote padrão torch. Os outros backends exigem um pacote de extensão do PyTorch que registra o backend no PyTorch.
| Hardware | String de dispositivo | Pacote |
|---|---|---|
| CPU | cpu | torch |
| GPU da 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 da Huawei | npu | torch-npu |
| Cambricon MLU | mlu | torch-mlu |
| GPU Moore Threads | musa | torch-musa |
Se um backend de hardware estiver ausente desta tabela e você acredita que o Transformers o suporta, por favor, abra uma issue.
Como o Transformers seleciona um dispositivo
O Transformers seleciona um dispositivo diferente para treinamento e inferência.
Treinamento
TrainingArguments detecta o backend automaticamente por meio do Accelerate. Em uma execução distribuída, cada processo utiliza o dispositivo que o Accelerate lhe atribui. Em um único processo, o TrainingArguments seleciona o primeiro backend disponível e recorre à CPU caso nenhum esteja disponível. Defina use_cpu=True para forçar o treinamento na CPU.
Inferência
from_pretrained() carrega um modelo na CPU por padrão.
Defina device_map="auto" para posicioná-lo nos aceleradores disponíveis. O posicionamento automático depende do Accelerate para detectar CUDA, Intel XPU, Intel Gaudi (HPU) e Apple Silicon (MPS), entre outros, mas não cobre todos os backends. Para outros backends, como AWS Trainium e Google TPU, passe a string de dispositivo para device_map explicitamente.
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", device_map="neuron")