Transformers documentation
Экспорт в продакшен
Экспорт в продакшен
Экспортируйте модели 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 --helpONNX
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/")