Transformers documentation

Optimasi server

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

Optimasi server

transformers serve menyertakan optimasi untuk meningkatkan throughput dan mengurangi penggunaan memori.

Batching berkelanjutan

Continuous batching secara dinamis mengelompokkan dan menyisipkan permintaan untuk berbagi jalur maju (forward pass) pada GPU. Permintaan baru bergabung ke batch saat permintaan lain sedang menjalani prefill. Permintaan yang selesai keluar dari batch setelah decoding. Hal ini meningkatkan utilisasi GPU dan throughput tanpa mengorbankan latensi.

Tambahkan --continuous-batching untuk mengaktifkannya.

transformers serve \
  --continuous-batching \
  --attn-implementation "sdpa"

Kuantisasi

Quantization mengurangi penggunaan memori dengan memetakan bobot ke presisi yang lebih rendah. transformers serve kompatibel dengan semua metode quantization di Transformers. Ia mendukung model yang sudah di-quantize sebelumnya serta quantization saat runtime.

Model yang sudah dikuantisasi sebelumnya tidak memerlukan perubahan apa pun. Model ini menawarkan keseimbangan terbaik antara kinerja dan akurasi. Instal pustaka kuantisasi yang sesuai. Kemudian, lewati model yang sudah dikuantisasi sebelumnya dari Hub ke argumen model.

curl http://localhost:8000/v1/responses \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-8B-GGUF",
    "stream": true,
    "input": "Tell me a three sentence bedtime story about a unicorn."
  }'

Gunakan --quantization untuk melakukan kuantisasi model saat runtime. Hal ini berguna untuk checkpoint atau finetune baru yang tidak memiliki bobot yang sudah dikuantisasi sebelumnya. Hanya kuantisasi 4-bit dan 8-bit dari bitsandbytes yang didukung.

transformers serve \
  --quantization bnb-4bit

Backend perhatian

Backend attention yang dioptimalkan meningkatkan efisiensi memori dan mempercepat inferensi.

transformers serve \
  --continuous-batching \
  --attn-implementation "flash_attention_2"

Apple Silicon (perhatian kilat Metal)

Dengan --continuous-batching di MPS, pasang kernels untuk beralih ke kernels-community/metal-flash-sdpa. Eksekusinya 1,66x lebih cepat daripada SDPA dengan generate_batch (gsm8k, Qwen2.5-0.5B-Instruct, fp16) dan hasilnya identik per token dengan greedy decoding.

pip install kernels
transformers serve --continuous-batching

Tanpa continuous batching, model mempertahankan attention default (SDPA). Sampaikan --attn-implementation untuk mencoba yang lain, seperti kernels-community/metal-flash-sdpa.

Compile

torch.compile menelusuri dan mengompilasi loop decode untuk inferensi yang lebih cepat.

Compile tidak kompatibel dengan continuous batching.

transformers serve \
  --compile

Tipe data

Jenis data "bfloat16" atau "float16" data types menghemat memori dan meningkatkan throughput.

transformers serve \
  --continuous-batching \
  --dtype "bfloat16"
Update on GitHub