Transformers documentation
프로덕션으로 내보내기
프로덕션으로 내보내기
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 --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/사용 가능한 모든 인수를 확인하려면 다음 명령을 실행하거나, 자세한 내용은 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/")