Transformers documentation

Hardware

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

and get access to the augmented documentation experience

to get started

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.

HardwareString de dispositivoPacote
CPUcputorch
GPU da NVIDIAcudatorch
GPU AMDcudatorch (build ROCm)
AWS Trainiumneurontorch-neuronx
Google TPUtputorch-tpu
GPU Intelxputorch
Apple Siliconmpstorch
Intel Gaudihpuhabana-torch-plugin
NPU Ascend da Huaweinputorch-npu
Cambricon MLUmlutorch-mlu
GPU Moore Threadsmusatorch-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")
Update on GitHub