ML 서비스 배포 과정 어려움·해결 경험 중심으로 푸는 결
학부 프로젝트에서 감정 분류 모델을 Flask API로 배포하면서 학습 환경과 서빙 환경 간의 불일치 문제를 처음 겪었습니다.
로컬에서는 잘 작동하던 모델이 서버에 올렸을 때 라이브러리 버전 차이로 예측값이 달라지는 문제가 생겼습니다. 원인 파악에 시간이 오래 걸렸고, `requirements.txt`로 버전을 고정하는 것만으로는 부족해서 `Docker`로 학습 환경 전체를 컨테이너화하는 방향으로 해결했습니다.
두 번째 어려움은 응답 속도였습니다. 추론 시간이 길어서 API 타임아웃이 발생했고, 모델 파일 로딩을 요청마다 하는 구조가 문제였습니다. 서버 시작 시 모델을 한 번만 메모리에 올려두는 방식으로 수정하니 응답 속도가 크게 줄었습니다. 모델을 만드는 것과 실제로 서빙되는 것이 전혀 다른 문제라는 것을 이 경험에서 배웠습니다.