Transformers documentation
Perangkat Keras
Perangkat Keras
Transformers berjalan di CPU, GPU NVIDIA, GPU AMD, Apple Silicon, TPU Google, instans Trainium AWS, dan lainnya melalui backend PyTorch mereka.
- Untuk pelatihan, TrainingArguments mendeteksi backend secara otomatis.
- Untuk inferensi, deteksi otomatis tidak mencakup semua backend, sehingga Anda perlu meneruskan string perangkat untuk memilihnya secara eksplisit. Halaman ini mencantumkan string perangkat dan paket untuk setiap backend, apa yang dikonfigurasi oleh TrainingArguments, dan bagaimana Transformers memutuskan perangkat mana yang akan digunakan.
Temukan perangkat keras Anda
Setiap backend memiliki string perangkat yang Anda lewati ke device_map atau device. CPU dan Apple Silicon bekerja dengan paket standar torch. Backend lainnya memerlukan paket ekstensi PyTorch yang mendaftarkan backend tersebut ke PyTorch.
| Perangkat Keras | String perangkat | Paket |
|---|---|---|
| CPU | cpu | torch |
| NVIDIA GPU | 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 |
| Huawei Ascend NPU | npu | torch-npu |
| Cambricon MLU | mlu | torch-mlu |
| GPU Moore Threads | musa | torch-musa |
Jika backend perangkat keras tidak ada dalam tabel ini dan Anda yakin Transformers mendukungnya, silakan buat masalah.
Cara Transformers memilih perangkat
Transformers memilih perangkat yang berbeda untuk pelatihan dan inferensi.
Pelatihan
TrainingArguments mendeteksi backend secara otomatis melalui Accelerate. Dalam eksekusi terdistribusi, setiap proses menggunakan perangkat yang ditugaskan oleh Accelerate. Dalam satu proses, TrainingArguments memilih backend pertama yang tersedia, dan beralih ke CPU jika tidak ada yang tersedia. Atur use_cpu=True untuk memaksa pelatihan di CPU.
Inferensi
from_pretrained() memuat model di CPU secara default.
Set device_map="auto" untuk menaruhnya pada akselerator yang tersedia. Penempatan otomatis bergantung pada Accelerate untuk mendeteksi CUDA, Intel XPU, Intel Gaudi (HPU), dan Apple Silicon (MPS), di antara lainnya, tetapi tidak mencakup semua backend. Untuk backend lain, seperti AWS Trainium dan Google TPU, berikan string perangkat ke device_map secara eksplisit.
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-0.6B", device_map="neuron")