Transformers documentation

Exportación a producción

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Exportación a producción

Exporta los modelos de Transformers a diferentes formatos para tiempos de ejecución y dispositivos optimizados. Despliega el mismo modelo en proveedores de la nube o ejecútalo en dispositivos móviles y de borde. No necesitas reescribir el modelo desde cero para cada entorno de despliegue. Despliega libremente en cualquier ecosistema de inferencia.

ExecuTorch

ExecuTorch ejecuta modelos de PyTorch en dispositivos móviles y de borde. Exporta un modelo a un grafo de operadores estandarizados, compila el grafo en un programa de ExecuTorch y lo ejecuta en el dispositivo objetivo. El tiempo de ejecución es ligero y calcula el plan de ejecución de antemano.

Instale Optimum ExecuTorch desde el código fuente.

git clone https://github.com/huggingface/optimum-executorch.git
cd optimum-executorch
pip install '.[dev]'

Exporta un modelo de Transformers a ExecuTorch con la herramienta de línea de comandos.

optimum-cli export executorch \
    --model "Qwen/Qwen3-8B" \
    --task "text-generation" \
    --recipe "xnnpack" \
    --use_custom_sdpa \
    --use_custom_kv_cache \
    --qlinear 8da4w \
    --qembedding 8w \
    --output_dir="hf_smollm2"

Ejecuta el siguiente comando para ver todas las opciones de exportación.

optimum-cli export executorch --help

ONNX

ONNX es un lenguaje compartido para describir modelos de diferentes frameworks. Representa los modelos como un grafo de operadores estandarizados con tipos, formas y metadatos bien definidos. Los modelos se serializan en archivos protobuf compactos que puedes desplegar en runtimes y motores optimizados.

Optimum ONNX exporta modelos a ONNX mediante objetos de configuración. Admite muchas arquitecturas y es fácilmente extensible. Exporta modelos a través de la herramienta de CLI o de forma programática.

Instala Optimum ONNX.

uv pip install optimum-onnx

optimum-cli

Especifique un modelo para exportar y el directorio de salida con el argumento --model.

optimum-cli export onnx --model Qwen/Qwen3-8B Qwen/Qwen3-8b-onnx/

Ejecute el siguiente comando para ver todos los argumentos disponibles o consulte la guía Exportar un modelo a ONNX con optimum.exporters.onnx para obtener más detalles.

optimum-cli export onnx --help

Para exportar un modelo local, guarde los archivos de pesos y del tokenizador en el mismo directorio. Pase la ruta del directorio al argumento --model y use el argumento --task para especificar la tarea. Si no proporciona --task, el sistema la infiere automáticamente a partir del modelo o utiliza una arquitectura sin una cabeza específica para la tarea.

optimum-cli export onnx --model path/to/local/model --task text-generation Qwen/Qwen3-8b-onnx/

Despliega el modelo con cualquier runtime que admita ONNX, incluido ONNX Runtime.

from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8b-onnx")
model = ORTModelForCausalLM.from_pretrained("Qwen/Qwen3-8b-onnx")
inputs = tokenizer("Plants generate energy through a process known as ", return_tensors="pt")
outputs = model.generate(**inputs)
print(tokenizer.batch_decode(outputs))

optimum.onnxruntime

Exporta los modelos de Transformers de forma programática con Optimum ONNX. Instancia un ORTModel con un modelo y establece export=True. Guarda el modelo ONNX con save_pretrained.

from optimum.onnxruntime import ORTModelForCausalLM
from transformers import AutoTokenizer

ort_model = ORTModelForCausalLM.from_pretrained("Qwen/Qwen3-8b", export=True)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8b")

ort_model.save_pretrained("onnx/")
tokenizer.save_pretrained("onnx/")
Update on GitHub