[MLOps] Inference Model Format

Ellie·2023년 2월 16일
0

MLOps

목록 보기
2/3

딥러닝 모델을 학습하고 나면..

PyTorch와 같은 딥러닝 프레임워크를 통해 학습한 모델을 실제 product에서 활용하려면 아래와 같이 모델의 변환이 필요하다.

  • Eager Mode
    prototyping, training, experimenting에 적합함

  • Script Mode
    production deployment가 가능하도록 최적화 된 모델

모델 서빙 형식

Production 용(?) 모델 포멧은 아래와 같이 여러가지가 있는데, 파일의 확장자라고 생각하면 쉽다.

1. TensorRT (model.plan)

NVIDIA에서 만듦. 학습된 Deep Learning 모델을 최적화하여 NVIDIA GPU 상에서의 Inference 속도를 수배~수십배 까지 향상 가능
다만, NVIDIA GPU에서만 돌아감

2. ONNX (model.onnx)

Facebook(Meta)와 MS에서 개발한 딥러닝 모델의 호환 포멧으로, 특정 프레임 워크에서 작성한 모델을 다양한 모델로 변환시켜줌.
예를 들어, Pytorch → ONNX → Tensorflow 변환 가능

3. Tensorflow (model.graphdef)

Tensorflow 만든 google에서 만듦
TPU에서 잘 돌아가는..

4. TorchScript (model.pt)

Facebook(Meta)가 tensorflow를 따라잡고자 내놓은 TorchScript
Pytorch model을 최적화하여 model serving을 보다 잘할 수 있도록 도와줌

References

  1. PyTorch Official Youtube https://www.youtube.com/watch?v=2awmrMRf0dA
  2. PyTorch JIT and TorchScript https://towardsdatascience.com/pytorch-jit-and-torchscript-c2a77bac0fff
profile
A bit nerdy

0개의 댓글