Transformers documentation
Optimasi server
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"