Transformers documentation

Экспорт в продакшен

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Экспорт в продакшен

Экспортируйте модели Transformers в различные форматы для оптимизированных рантаймов и устройств. Разворачивайте одну и ту же модель в облачных провайдерах или запускайте её на мобильных и edge-устройствах. Вам не нужно переписывать модель с нуля для каждой среды развёртывания. Свободно разворачивайте модель в любой экосистеме инференса.

ExecuTorch

ExecuTorch выполняет модели PyTorch на мобильных и периферийных устройствах. Он экспортирует модель в граф стандартизированных операторов, компилирует граф в программу ExecuTorch и выполняет её на целевом устройстве. Рантайм является лёгким и заранее вычисляет план выполнения.

Установите Optimum ExecuTorch из исходного кода.

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

Экспортируйте модель Transformers в ExecuTorch с помощью CLI-инструмента.

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"

Выполните следующую команду, чтобы просмотреть все параметры экспорта.

optimum-cli export executorch --help

ONNX

ONNX — это общий язык для описания моделей из разных фреймворков. Он представляет модели в виде графа стандартизированных операторов с четко определенными типами, формами и метаданными. Модели сериализуются в компактные файлы protobuf, которые можно развертывать в оптимизированных рантаймах и движках.

Optimum ONNX экспортирует модели в формат ONNX с использованием объектов конфигурации. Поддерживается множество архитектур, а расширение функциональности выполняется легко. Экспорт моделей можно выполнить через CLI-инструмент или программно.

Установите Optimum ONNX.

uv pip install optimum-onnx

optimum-cli

Укажите модель для экспорта и выходной каталог с помощью аргумента --model.

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

Выполните следующую команду, чтобы просмотреть все доступные аргументы, или обратитесь к руководству Экспорт модели в ONNX с помощью optimum.exporters.onnx для получения подробной информации.

optimum-cli export onnx --help

Чтобы экспортировать локальную модель, сохраните файлы весов и токенизатора в одной директории. Передайте путь к директории в аргумент --model и используйте аргумент --task, чтобы указать задачу. Если вы не укажете --task, система автоматически определит её по модели или использует архитектуру без специфичного для задачи слоя.

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

Разверните модель с любым рантаймом, поддерживающим ONNX, включая 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

Экспортируйте модели Transformers программно с помощью Optimum ONNX. Создайте экземпляр ORTModel с моделью и установите export=True. Сохраните ONNX-модель с помощью 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