[MLOps] MLOps Architecture
MLOps는 머신러닝 모델 개발부터 배포, 운영까지 전체 수명 주기를 자동화합니다. 복잡한 과정을 간소화하여 안정적이고 효율적인 AI 서비스 운영을 지원합니다.
개요
MLOps 워크플로우의 주요 단계를 정리하였습니다. 이제 각각의 구성 요소가 어떻게 프로세스에 통합되는지, 머신 러닝 프로젝트의 구성을 정리하였습니다.
1. 문제 정의 및 데이터 수집
MLOps를 수행하기 위해선 가장 먼저 문제를 정의하고 데이터를 모으고 시스템으로 수집합니다. 이후 데이터를 변환하고 정제한 뒤 데이터 분석을 수행합니다. 다음으로 데이터를 시각화하여 문제를 훨씬 더 명확하게 분석을 수행하는데, 여기서 ML 모델이 필요한 것인가를 고민합니다.
구성에 따라 해당 과정을 반복하거나 데이터를 구체적으로 식별합니다.
2. 의사결정 및 Feature Engineering
탐색을 수행하며 어떤 머신러닝 모델이 사용 사례를 해결하는데 적합한지 판단합니다. 몇 가지 실험을 하고 머신러닝 출력을 분석하여 다양한 출력을 비교하고 가장 성능이 좋은 모델을 판단합니다. 마지막으로 모델을 평가하며 실제 문제를 해결할 수 있는지 판단합니다.
3. 모델 탐색, 구축 및 훈련
ML 모델의 성능이 만족스럽다면 배포를 수행하지만, 성능이 최소한을 만족하지 않는다면 이전 작업을 반복합니다. 과정 중의 모델을 지속적으로 모니터링하고 디버깅하며 테스트하고 결과를 엄격하게 정리합니다.
분석 과정에서 머신러닝(ML) 접근 방식이 타당하다고 판단되더라도, 진정한 검증은 모델 평가에서 이루어지기 때문에 결과를 바탕으로 초기 단계를 개선할 준비를 지속적으로 유념해야합니다.
4. 배포 및 지속적인 모니터링
성능상의 충분한 달성이 있었다면 실제 사용자와의 상호작용을 통해 프로덕션 환경에 배포합니다.
정기적인 성능 측정과 디버깅을 수행하며 실제 조건에서 효과적인지 확인합니다. 시간이 지남에 따라 추가 데이터가 축적된다면 주기적인 재교육을 수행하거나 데이터 수집부터 시작하는 새로운 주기를 생성합니다.

5. Roles and Responsibilities
결론적으로 MLOps 엔지니어는 주요 프로세스를 관리하고 간소화하는 핵심적인 역할을 수행합니다.
- Feature Engineering
- Model Exploration
- Model Building
- Model Training
- Model Evaluation
다양한 도구와 과정을 담당하며 규모에 따라 모든 역할을 담당해야하는 경우 또한 존재합니다.