MLOps 19

[MLOps] 19. Pyfunc 사용하기 (feat.커스텀 모델 만들기)

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 이전 포스팅에서 MLflow에 모델을 저장하고 다시 불러와 사용하는 법에 대해서 알아보았다.모델을 로드시 Sklearn, 혹은 Pyfunc 모듈을 활용할 수 있었는데, Sklearn 모듈은 주로 Sklearn 전용 모델을 저장 및 활용할 수 있었고, 그 외의 작업들, 모든 다른 유형의 모델 저장에 대해서는 Pyfunc를 활용할 수 있다는 점을 배웠다. 이전 포스팅은 아래 참고.https://ysryuu.tistory.com/38 [MLOps] 18. MLflow에서 모델 불러오기 실습* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 이제 저장한 모델을 불러와서 불러온 데이터로 predict 해보도..ysryuu.tistory.co..

MLOps 2024.04.30

[MLOps] 18. MLflow에서 모델 불러오기 실습

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 이제 저장한 모델을 불러와서 불러온 데이터로 predict 해보도록 하겠다.모델을 저장하는 방법에 대해서는 지난 포스팅의 실습을 참고https://ysryuu.tistory.com/37 [MLOps] 17. 모델 저장하기 실습이제 모델을 저장소에 저장하는 실습을 해보도록 한다. 모델의 저장 방법 및 구조 (docker compose)에 대해서는 이전 포스팅 참고https://ysryuu.tistory.com/36 ysryuu.tistory.com 모델 불러오기 방법 저장된 모델을 불러오는 코드는 두가지가 있다. 1. Sklearn 모듈의 load_model 활용def load_sklearn_model(run_id, model_name) : ..

MLOps 2024.04.30

[MLOps] 17. MLflow에 모델 저장하기 실습

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 이제 모델을 저장소에 저장하는 실습을 해보도록 한다. 모델의 저장 방법 및 구조 (docker compose)에 대해서는 이전 포스팅 참고https://ysryuu.tistory.com/36  [MLOps] 16. 모델 저장소 구축 방법 (feat. 도커 컴포즈)* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 앞서 기획했던 모델 저장 아키텍쳐대로, 모델 저장소를 구축해 보도..ysryuu.tistory.com  모델 저장하기의 전체 구조는 아래와 같다.  1) Minio에서 최신 데이터를 다운로드하고 2) HPO (옵튜나를 활용해 하이퍼 파라미터를 최적화 하면서) 과정에서 MLflow에 실험 내용을 로깅한다 3) 최적화를 통해 ..

MLOps 2024.04.30

[MLOps] 16. 모델 저장소 구축 방법 (feat. 도커 컴포즈)

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 앞서 기획했던 모델 저장 아키텍쳐대로, 모델 저장소를 구축해 보도록하겠다.https://ysryuu.tistory.com/33 [MLOps] 15. 모델 저장 개념 및 구조* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 모델 저장소는 학습이 완료된 모델을 저장할 수 있게 한다...ysryuu.tistory.com 백앤드 스토어 구축, 아티펙트 스토어 구축 (모델 저장) -> MLflow 실행 순으로 진행할 것이며,  원하는 순서대로 실행하기 위해 도커 컴포즈를 활용할 것이다.도커 컴포즈는 도커 명령어를 한줄씩 터미널에 입력하지 않고 한 파일 내에서 코드로 관리 가능하며, 무엇보다 컨테이너의 실행 순서를 지정할 수 있다는 점이 장..

MLOps 2024.04.30

[MLOps] 13. MinIO 사용하기 (구축, data 업로드&다운로드)

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 오늘은 MinIO 기본 사용 방법을 알아보려고 한다.앞서 데이터 관리의 중요성과 MinIO에 대해 소개한 바 있다. 관련 내용은 아래 포스팅 참고.https://ysryuu.tistory.com/19 [MLOps] 12. 데이터 관리 (feat.MinIO 소개)데이터 관리의 필요성 1. ML Research vs ML Production ML에서 다양한 이유에서 데이터 관리의 필요성이 대두되나, 특히 연구와 배포의 괴리 문제 해결을 위해 중요함. 배포 이전 연구 단계에서, Competitionysryuu.tistory.com MinIO 시작하기 1. 터미널에 docker Run 명령$ docker run [OPTIONS] IMAGE [COMM..

MLOps 2024.04.30

[MLOps] 14. 모델 파일에 MinIO 반영 및 실행

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 이번 포스팅에서는, 모델 실행 파일에 MinIO에 저장하는 내용을 반영하고 실행해 볼 예정이다.MinIO로부터 데이터를 다운로드 및 로드하고 이를 활용해서 모델을 실행할 예정.  이전까지 업데이트된 train.py 코드는 아래 내용을 참고https://ysryuu.tistory.com/18 [MLOps] 11. 교차검증 (Cross-validation)앞서 HPO를 통해 찾은 파라미터가 최적의 값인지 알아보는 방법은 무엇일까? 하이퍼파라미터 최적화의 대표적인 툴인 Optuna 활용 예시는 아래 실습 포스팅을 참고. https://ysryuu.tistory.com/16 [MLOps] 9.ysryuu.tistory.com 반영할 부분데이터를 다운..

MLOps 2024.04.30

[MLOps] 15. 모델 저장 개념 및 구조

* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함 모델 저장소는 학습이 완료된 모델을 저장할 수 있게 한다.아래 그림과 같이 모델 재현을 위한 실험관리 내용과 함께 모델을 저장해볼 것이다.프로그래머스 MLops 강의에서 진행하는 순서대로 따라가면서 모델 저장소를 구축하고 실행할 예정이다.하나의 저장 구조의 예시로 보면 될 것 같다.  모델 저장을 위한 아키텍처  모델 저장의 전체 구조는 1개의 local host 와 3개의 remote host로 구성되어 있다.각각의 역할을 살펴보자면 아래와 같다.  1. 로컬 호스트 (LocalHost) 사용자가 직접 접근하는 호스트로, 모델 관리 시스템의 인터페이스 역할을 한다. 로컬 호스트를 통해서 모델을 등록하고 추적할 수 있다.  2. 원격 서버 (..

MLOps 2024.04.29

[MLOps] 12. 데이터 관리 (feat.MinIO 소개)

데이터 관리의 필요성 1. ML Research vs ML Production ML에서 다양한 이유에서 데이터 관리의 필요성이 대두되나, 특히 연구와 배포의 괴리 문제 해결을 위해 중요함. 배포 이전 연구 단계에서, Competition 의 경우 지정된 데이터만, Research 의 경우 벤치마크 데이터만 사용하는 경우가 다수인데, 배포 이후 시간의 흐름에 따라 데이터가 변화하면서 모델의 성능은 필연적으로 떨어짐. 2. Data Drift 문제의 발생 이런 문제를 Data Drift 현상이라고 하는데, Train 데이터의 distribution과 Real world 데이터의 distribution이 서로 다르기 때문에 발생. 현실에서는 순간적으로, 지속적으로, 점진적으로, 일시적으로 등 데이터가 변화하므..

MLOps 2024.04.22

[MLOps] 11. 교차검증 (Cross-validation)

앞서 HPO를 통해 찾은 파라미터가 최적의 값인지 알아보는 방법은 무엇일까? 하이퍼파라미터 최적화의 대표적인 툴인 Optuna 활용 예시는 아래 실습 포스팅을 참고. https://ysryuu.tistory.com/16 [MLOps] 9. Optuna 실습 Optuna란? 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나에 대해 모른다면 아래 포스팅 참고. https://ysryuu.tistory.com/15 [MLOps] 8. 하이퍼파라미터 최적화 Hyperparameter Optmization이란? ysryuu.tistory.com 교차검증 : K-fold Cross Validation 이란? - 목적 : 전체 Training 데이터를 Train, test(valid) 로만 나누는 Ho..

MLOps 2024.04.22

[MLOps] 10. MLflow + Optuna 실습

MLflow와 Optuna를 함께 사용 해보도록 하겠다. 시작하기 전, MLflow만 실습한 내용과 Optuna만 실습한 내용 각각은 아래 링크를 참고. https://ysryuu.tistory.com/14 https://ysryuu.tistory.com/16 [MLOps] 7. MLflow 로깅 실습 모델 파일 실행시 mlflow로 로깅해보기 모델이 있는 py파일에 로깅 코드를 함께 추가해서 실행해보자. 원래 train.py에 있는 내용은 아래 링크 참고하면 된다. 아래 파일 내용에서 mlflow관련 부분 제 ysryuu.tistory.com [MLOps] 9. Optuna 실습 Optuna란? 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나에 대해 모른다면 아래 포스팅 참고. http..

MLOps 2024.04.22