[Django] ML/DL 모델 배포하기 -01 모델 학습 후 저장

Mollang·2023년 3월 12일
1

Django

목록 보기
1/2
post-thumbnail

model을 배포할 때 장고(django)를 활용하면 편하다. MLops적인 측면을 고려하지 않는다면,
장고 프로젝트에 학습된 모델을 이식하여 배포하는 것이 가장 빠르고 단순한 방법일 것이다.

수행할 태스크를 고민하기 전에, 먼저 ML Service Latency 를 설명해야한다.

ML Service Latency

ML Service Latency란, 모델을 메모리에 로드하고, 필수 데이터를 수집한 뒤, 모델이 추론값을 제공하는 데까지 걸리는 시간이다. 서비스를 이용할 때마다 10~30초, 심하면 1분 이상의 시간이 소요된다면, 누가 그 서비스를 계속해서 이용하려 하겠는가.

서비스 성능에는 사용자가 원하는 값을 제공받는 데 걸리는 시간도 포함된다. 모델 배포를 단순히 프로젝트 목적으로 수행한다할지라도, 이 측면을 필수적으로 고려해야하는 이유다.


모델 서비스 시간 단축

모델 서비스 시간 단축을 하고자 한다면, 크게 두 가지 영역에서 답을 찾을 수 있다.

(1) 모델 경량화 : 학습된 모델의 크기를 줄이거나, 딥러닝 모델의 네트워크 구조 중 필요한 부분은 살리고 불필요한 부분은 제거하는 방식으로 효율적으로 구조를 개량하여 재설계

(2) 서비스 배포 최단 루트 설계

  • 보통의 서비스는 이렇게 제공된다.
    이 모든 단계에서 소요되는 시간을 계산하고, 개별적으로 각각의 단계에서 소요되는 시간을 단축시켜야한다.

    	사용자로부터 입력값을 받음 → 입력값을 모델 입력 형식에 맞게 전처리 → 모델 불러오기 → 모델에 입력값 넣기 → 모델 연산 수행 → 모델이 추론값을 뱉어냄 → 모델 추론값을 사용자에게 제공

모델 학습 후 저장

...

0개의 댓글