Transformers documentation

Аппаратное обеспечение

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

Аппаратное обеспечение

Transformers работает на CPU, GPU NVIDIA, GPU AMD, Apple Silicon, TPU Google, инстансах AWS Trainium и других устройствах через их бэкенды PyTorch.

  • Для обучения TrainingArguments автоматически определяет бэкенд.
  • Для инференса автоматическое определение не покрывает все бэкенды, поэтому передайте строку устройства, чтобы явно выбрать нужный. На этой странице перечислены строка устройства и пакет для каждого бэкенда, для чего TrainingArguments настраивает его, и как Transformers определяет, какое устройство использовать.

Найдите своё оборудование

У каждого бэкенда есть строка устройства, которую вы передаёте в device_map или device. CPU и Apple Silicon работают со стандартным пакетом torch. Для остальных бэкендов требуется пакет-расширение PyTorch, который регистрирует бэкенд в PyTorch.

Аппаратное обеспечениеСтрока устройстваПакет
CPUcputorch
GPU NVIDIAcudatorch
GPU AMDcudatorch (сборка ROCm)
AWS Trainiumneurontorch-neuronx
Google TPUtputorch-tpu
GPU Intelxputorch
Apple Siliconmpstorch
Intel Gaudihpuhabana-torch-plugin
Huawei Ascend NPUnputorch-npu
Cambricon MLUmlutorch-mlu
GPU Moore Threadsmusatorch-musa

Если в этой таблице отсутствует какой-либо аппаратный бэкенд, а вы считаете, что Transformers его поддерживает, пожалуйста, создайте issue.

Как Transformers выбирает устройство

Transformers выбирает разные устройства для обучения и инференса.

Обучение

TrainingArguments автоматически определяет бэкенд через Accelerate. В распределённом запуске каждый процесс использует устройство, назначенное ему Accelerate. В однопроцессном режиме TrainingArguments выбирает первый доступный бэкенд, а если ни один не найден — переключается на CPU. Чтобы принудительно запустить обучение на CPU, установите use_cpu=True.

Вывод

from_pretrained() по умолчанию загружает модель на CPU.

Установите device_map="auto", чтобы разместить модель на доступных ускорителях. Автоматическое размещение использует Accelerate для обнаружения CUDA, Intel XPU, Intel Gaudi (HPU) и Apple Silicon (MPS), среди прочего, но не охватывает все бэкенды. Для других бэкендов, таких как AWS Trainium и Google TPU, явно передайте строку устройства в device_map.

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", device_map="neuron")
Update on GitHub