Transformers documentation
Donanım
Donanım
Transformers, PyTorch arka uçları aracılığıyla CPU'larda, NVIDIA GPU'larında, AMD GPU'larında, Apple Silicon'da, Google TPU'larında, AWS Trainium örneklerinde ve daha fazlasında çalışır.
- Eğitim için TrainingArguments arka ucu otomatik olarak algılar.
- Çıkarım için otomatik algılama her arka ucu kapsamaz, bu nedenle birini açıkça seçmek için cihaz dizgesini iletin. Bu sayfa, her arka uç için cihaz dizgesini ve paketini, TrainingArguments'in bunu ne için yapılandırdığını ve Transformers'ın hangi cihazı kullanacağına nasıl karar verdiğini listeler.
Donanımınızı bulun
Her arka uç, device_map veya device parametresine ilettiğiniz bir cihaz dizgesine sahiptir. CPU ve Apple Silicon, standart torch paketiyle çalışır. Diğer arka uçlar, arka ucu PyTorch'a kaydeden bir PyTorch eklenti paketi gerektirir.
| Donanım | Cihaz dizesi | Paket |
|---|---|---|
| CPU | cpu | torch |
| NVIDIA GPU | cuda | torch |
| AMD GPU | cuda | torch (ROCm derlemesi) |
| AWS Trainium | neuron | torch-neuronx |
| Google TPU | tpu | torch-tpu |
| Intel GPU | xpu | torch |
| Apple Silicon | mps | torch |
| Intel Gaudi | hpu | habana-torch-plugin |
| Huawei Ascend NPU | npu | torch-npu |
| Cambricon MLU | mlu | torch-mlu |
| Moore Threads GPU | musa | torch-musa |
Bu tabloda bir donanım arka ucu eksikse ve Transformers'ın bunu desteklediğine inanıyorsanız, lütfen bir sorun açın.
Transformers bir cihazı nasıl seçer
Transformers, eğitim ve çıkarım için farklı bir cihaz seçer.
Eğitim
TrainingArguments, Accelerate üzerinden backend'i otomatik olarak algılar. Dağıtık bir çalıştırmada, her süreç, Accelerate'in kendisine atadığı cihazı kullanır. Tekli süreçte TrainingArguments, ilk kullanılabilir backend'i seçer ve hiçbiri yoksa CPU'ya geri döner. Eğitimi CPU'da zorlamak için use_cpu=True ayarlayın.
Çıkarım
from_pretrained() varsayılan olarak bir modeli CPU üzerinde yükler.
Mevcut hızlandırıcılara yerleştirmek için device_map="auto" değerini ayarlayın. Otomatik yerleştirme, CUDA, Intel XPU, Intel Gaudi (HPU) ve Apple Silicon (MPS) dahil olmak üzere diğer birçok altyapıyı algılamak için Accelerate'e dayanır ancak her altyapıyı kapsamaz. AWS Trainium ve Google TPU gibi diğer altyapılar için cihaz dizgesini device_map parametresine açıkça iletin.
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", device_map="neuron")