Transformers documentation

CPU

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

CPU

CPU menjalankan model Transformers dengan string perangkat cpu, tanpa akselerator. CPU berfungsi untuk inferensi dan pelatihan saat GPU tidak tersedia, atau ketika Anda menginginkan setup yang hemat biaya.

Jalankan inferensi

Model dimuat di CPU secara default saat Anda tidak meneruskan device_map, dan pipeline() menggunakan CPU saat tidak ada akselerator yang tersedia. Teruskan device_map="cpu" atau device="cpu" untuk menggunakan CPU pada mesin yang juga memiliki akselerator.

from transformers import pipeline

generator = pipeline("text-generation", model="Qwen/Qwen3-0.6B", device="cpu")
print(generator("CPUs are", max_new_tokens=50, do_sample=False)[0]["generated_text"])

Latih dengan Trainer

CPU dengan dukungan bf16, seperti prosesor Intel dan AMD terbaru, dapat menggunakan pelatihan presisi campuran bf16 dengan AMP PyTorch, yang mengurangi penggunaan memori dan mempercepat pelatihan.

Contoh di bawah ini mencakup tiga konfigurasi, dari satu CPU hingga beberapa mesin ketika satu CPU terlalu lambat:

  • satu CPU
  • beberapa proses pada satu mesin (satu per soket CPU)
  • beberapa proses di beberapa mesin

Contoh single-node dan multi-node meluncurkan proses dengan mpirun dari Intel MPI, bagian dari Intel oneAPI HPC Toolkit, dan Trainer menjalankan DDP di atas backend gloo.

satu CPU
CPU terdistribusi (satu node)
CPU terdistribusi (banyak node)

Set bf16=True dan use_cpu=True di TrainingArguments, atau lewati --bf16 dan --use_cpu ke skrip pelatihan. Utamakan bf16 daripada fp16 di CPU karena lebih stabil secara numerik.

from transformers import TrainingArguments

training_args = TrainingArguments(
    output_dir="./outputs",
    bf16=True,
    use_cpu=True,
)

Sesuaikan kinerja CPU

Pramuatkan alokator memori yang lebih cepat dan runtime OpenMP dari Intel untuk mengurangi overhead dalam pelatihan CPU. Instal google-perftools (untuk libtcmalloc) dan paket Python intel-openmp (untuk libiomp5), lalu tambahkan kedua pustaka tersebut ke variabel lingkungan LD_PRELOAD sebelum Anda memulai pelatihan.

Set OMP_NUM_THREADS ke jumlah core yang dapat digunakan oleh setiap proses. Dalam container atau pekerjaan cluster dengan batas CPU, itu adalah jumlah unit CPU yang dialokasikan, jadi sisakan beberapa core yang tidak dialokasikan untuk proses sistem.

Langkah selanjutnya

Update on GitHub