Transformers documentation

프로덕션으로 내보내기

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

프로덕션으로 내보내기

Transformers의 모델을 최적화된 런타임과 기기를 위해 다양한 형식으로 내보냅니다. 동일한 모델을 클라우드 제공업체에 배포하거나 모바일 및 엣지 기기에서 실행할 수 있습니다. 각 배포 환경을 위해 모델을 처음부터 다시 작성할 필요가 없습니다. 모든 추론 생태계에서 자유롭게 배포할 수 있습니다.

ExecuTorch

ExecuTorch는 모바일 및 엣지 디바이스에서 PyTorch 모델을 실행합니다. 모델을 표준화된 연산자 그래프로 내보내고, 해당 그래프를 ExecuTorch 프로그램으로 컴파일한 후 대상 디바이스에서 실행합니다. 런타임은 경량이며 실행 계획을 사전에 계산합니다.

소스에서 Optimum ExecuTorch를 설치합니다.

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

CLI 도구를 사용하여 Transformers 모델을 ExecuTorch로 내보냅니다.

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/

사용 가능한 모든 인수를 확인하려면 다음 명령을 실행하거나, 자세한 내용은 optimum.exporters.onnx로 모델을 ONNX로 내보내기 가이드를 참조하세요.

optimum-cli export onnx --help

로컬 모델을 내보내려면 가중치와 토크나이저 파일을 동일한 디렉터리에 저장하세요. 디렉터리 경로를 --model 인자에 전달하고, --task 인자를 사용하여 task를 지정하세요. --task를 제공하지 않으면 시스템은 모델에서 이를 자동 추론하거나, task 전용 헤드가 없는 아키텍처를 사용합니다.

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

ONNX Runtime를 포함하여 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

Optimum ONNX를 사용하여 Transformers의 모델을 프로그래매틱으로 내보냅니다. 모델과 함께 ORTModel을 인스턴스화하고 export=True를 설정합니다. save_pretrained로 ONNX 모델을 저장합니다.

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