TorchScript 의 대체
torch.export 가 PyTorch 의 modern model export system. 너 model 을 깔끔, 표준화된 graph representation 으로 capture, serialize, deploy, quantize, 또는 다른 backend (ONNX, ExecuTorch, CoreML) 로 lowering 가능. 새 project 에 옛 TorchScript (torch.jit.trace / torch.jit.script) 대체.
왜 새 export system
TorchScript 가 어려웠음. jit.trace 가 Python control flow 못 봄. jit.script 가 제한된 Python subset 요구. 에러 메시지가 악명 높게 cryptic. torch.export 가 torch.compile 와 같은 dynamo-based graph capture 사용, 훨씬 더 나은 coverage 와 훨씬 깔끔한 에러.
계약
torch.export.export 에 model 과 example input 줘. 그 input 으로 model 돌리고 결과 graph capture, ExportedProgram 반환. exported graph 가 fully serializable — disk 에 저장하고 원본 Python 클래스 정의 없이 로드.
torch.export 가 사주는 것
- backend 이식성 — 같은 exported program 이 ONNX, ExecuTorch (mobile), CoreML, TensorRT 로 lowering.
- quantization — torchao 의 modern quant 기법이 exported program 에 동작.
- 최적화 — graph pass (constant folding, dead code elimination) 가 exported representation 에 동작.
- versioning — export format 이 PyTorch version 들에 안정 의도.
TorchScript — (드물게) 여전히 잡을 때
torch.export 의 runtime 이 아직 사용 가능 안 한 환경에 deploy 위 (일부 legacy embedded path). 새 project 에 default torch.export.