본문 바로가기
MLOps

MLOps | ML Pipeline 개발 일지

by daewooki 2021. 6. 29.
반응형

개념 및 배경

MLOps (기계 학습 운영)는 기계 학습을 원활하고 효율적으로 개발하고 유지하는 것이다.  목표는 ML 파이프라인을 자동화하여 모델을 지속적으로 학습시키는 것이다. 이를 통해 모델 예측 서비스를 지속적으로 제공할 수 있다. 새 데이터를 사용하여 프로덕션 단계에서 모델을 재학습시키는 프로세스를 자동화하려면 파이프라인 트리거 및 메타데이터 관리뿐만 아니라 자동화된 데이터 및 모델 검증 단계를 파이프라인에 도입해야 한다.

 

The Guiding Principles of MLOps
- collaborative

- reproducible

- continuous

- tested & monitored


일반적인 머신러닝 파이프라인 

 

 

 

이번에 기회가 되어 전체적인 머신러닝 파이프라인을 구축하고 자동화 시키는 시스템을 개발하게 되었다. 많은 도움이 될 것 같아 google automl 등 이것저것 찾아보고 최대한 reproducible한 시스템을 개발할 수 있도록 노력하고 있다.

 

 

시스템을 개발하며 많은 이슈가 있었고 앞으로도 있을 것이고 간단한 모듈들을 공유하고자 카테고리를 생성했다. 

 

모든 이슈는 여기에 정리하고 시간이 될 때 마다 하나하나 해결법이나 중요내용을 공유할 것이다.

 

 

개발 중 이슈

1. 스케줄러 사용시 cuda 메모리가 계속 할당되어 있어 새로운 학습이 시작될 때 Cuda:Out Of Memory(OOM)이 발생.

   - cuda 메모리를 스케줄러에서 job 종료시 cuda 메모리 할당 해제

해결방법 : 2021.07.17 - [MLOps] - [MLOps] PyTorch GPU Out-Of-Memory 문제 해결

 

[MLOps] PyTorch GPU Out-Of-Memory 문제 해결

PyTorch를 이용하여 ML Pipeline을 개발하던 중 특정 시간에 학습을 시킬 때 메모리가 꽉 차서 모델 학습할 때 실패하는 경우가 있었다. ML Pipeline을 구성할 때 메모리도 넉넉하게 사용할 수 있도록 구

wookidocs.tistory.com

2. 학습 모델 FTP로 업로드 할 경우 FTP서버의 남은 저장 공간을 알 수 없는 이슈 발생

   - FTP client에서 FTP server 로 업로드 할 때는 FTP server의 남은 공간을 알 수 없기에 공용 DB에 FTP server의 잔여 공간을 기록하고 업로드 및 파일 삭제 등 서버의 공간에 영향을 미칠 때 동기화를 시켜주어 해결

 

 

 

반응형

'MLOps' 카테고리의 다른 글

[MLOps] PyTorch GPU Out-Of-Memory 문제 해결  (0) 2021.07.17

댓글