Transformers documentation

Optimizaciones del servidor

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

Optimizaciones del servidor

transformers serve incluye optimizaciones para mejorar el rendimiento y reducir el uso de memoria.

Loteo continuo

Continuous batching agrupa e intercala dinámicamente las solicitudes para compartir las pasadas hacia adelante en la GPU. Las nuevas solicitudes se unen al lote mientras otras avanzan en la fase de prefill. Las solicitudes completadas se retiran después de la decodificación. Esto aumenta la utilización de la GPU y el rendimiento sin comprometer la latencia.

Agrega --continuous-batching para habilitarlo.

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

Cuantización

Cuantización reduce el uso de memoria al mapear los pesos a una precisión inferior. transformers serve es compatible con todos los métodos de cuantización de Transformers. Admite modelos precuantizados y cuantización en tiempo de ejecución.

Los modelos pre-cuantizados no requieren ningún cambio. Ofrecen el mejor equilibrio entre rendimiento y precisión. Instale la biblioteca de cuantización adecuada. Luego, pase el modelo pre-cuantizado del Hub al argumento 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."
  }'

Use --quantization para cuantizar un modelo en tiempo de ejecución. Esto es útil para nuevos puntos de control o ajustes finos sin pesos precuantizados. Solo se admiten la cuantización de 4 bits y 8 bits de bitsandbytes.

transformers serve \
  --quantization bnb-4bit

Backend de atención

Un backend de atención optimizado mejora la eficiencia de memoria y acelera la inferencia.

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

Apple Silicon (atención flash de Metal)

Con --continuous-batching en MPS, instale kernels para cambiar a kernels-community/metal-flash-sdpa. Se ejecuta 1,66 veces más rápido que SDPA con generate_batch (gsm8k, Qwen2.5-0.5B-Instruct, fp16) y coincide token por token con la decodificación codiciosa.

pip install kernels
transformers serve --continuous-batching

Sin el loteo continuo, los modelos mantienen su atención predeterminada (SDPA). Pasa --attn-implementation para probar otra, como kernels-community/metal-flash-sdpa.

Compilar

torch.compile traza y compila el bucle de decodificación para una inferencia más rápida.

Compile no es compatible con el loteo continuo.

transformers serve \
  --compile

Tipo de datos

Los tipos de datos "bfloat16" o "float16" ahorran memoria y aumentan el rendimiento.

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