호돌찌의 AI 연구소
728x90
article thumbnail
[패스트캠퍼스 챌린지 최종 미션] 머신러닝서비스구축을위한실전MLOps 강의 후기
AI/MLOps 2022. 3. 21. 23:14

공백 제외 4000자 후기를 작성해보겠습니다. 1. 강의 신청 배경 및 이유 3년 가까이 ML 관련 컨설팅 프로젝트하면서 불편하고 고생했던 점들을 나열하면 상당하다고 자부할 수 있습니다. 석사, 주니어 때(지금도 실력이 전혀 뛰어나진 않지만)부터 지금까지 논문을 작성하거나 기존 ML 프로젝트 진행을 하면서 느꼈던 것들을 서술해보면 다음과 같습니다. - 석사 때(바야흐로 2017년 말) 성능이 가장 좋았던 모델이나 데이터 정보 기억은 나지만 n번째 좋은 모델이나 다른 데이터들을 Tracking하기 어려웠습니다. 또한 수많은 실험을 진행하면서 데이터와 모델 관리가 쉽지 않았습니다. 매일매일 코드를 보면 그러려니 하겠지만, 오랜만에 다시 보려면 기억을 더듬는데 시간 cost가 꽤 컸습니다. - 석사 때 R 코..

article thumbnail
[패스트캠퍼스 챌린지 50일차] Future Works in MLOps
AI/MLOps 2022. 3. 14. 20:59

마지막으로 다룰 내용은 MLOps에 대해 미래의 이야기와 개념을 간단하게 정리해보는 글입니다. 아래는 O'REILLY에서 설문조사한 내용입니다. 데이터 부족 문제가 2위(18%)입니다. 그냥 데이터가 아닌, 쓸 수 있는 데이터가 부족하다는 점입니다. 앤드류 응 교수님 말씀으로는 모델의 중요성 보다는 재료가 되는 데이터의 질과 양이 더욱 중요하다고 강조합니다. 본인 회사에서 데이터를 수집하지만 Quality 측면에서 신뢰성과 정합성도 떨어진다고 생각하고 있는 것이 현실이며 그리고 쌓아뒀던 데이터가 있으면 다행인데, 데이터도 없고, 풀고 싶은 문제도 없으면서 AI를 그냥 적용해보고 싶다는 의견만 제시하는 회사가 많이 존재하는 것이 현실입니다. 즉, MLOps 시스템을 성공적으로 구축하고 운영하고 있는 회사가..

article thumbnail
[패스트캠퍼스 챌린지 49일차] GCP - Feast FastAPI App 배포
AI/MLOps 2022. 3. 13. 21:25

이번 글은 이전에 만든 Feature Store를 활용하여 FastAPI를 어떻게 배포하는지에 대해 다루고자 합니다. 1. GCP에서 Project 설정 이전 글과 마찬가지로 동일한 project에서 할 예정이지만 FastAPI를 수행하기 위해서는 IAM 및 관리자에서 자격 증명을 해야합니다. 권한을 얻어야합니다. 작업 순서 : 서비스 계정 - 작업 - 키 관리 - 키 추가 - 새 키 만들기 json file들이 다운받아지는 것을 알 수 있습니다. 2. Feast FastAPI App 생성 우측 상단 [Cloud shell 활성화]를 클릭합니다. 그 후 여기를 git clone 을 수행합니다. 아래 그림을 참고해주셔야합니다. 시간이 다소 걸립니다. cd gcp-feast-app virtualenv env..

article thumbnail
[패스트캠퍼스 챌린지 48일차] GCP - Feast Feature Store (2)
AI/MLOps 2022. 3. 12. 21:23

이전 글에서는 GCP와 Colab에서 세팅을 하고 FeatureView를 생성해 배포하였습니다. 이제 모델 훈련과 배포를 해보도록 하겠습니다. 3. 모델 훈련과 배포 훈련 데이터를 추출하는 코드는 다음과 같습니다. from datetime import datetime, timedelta from feast import FeatureStore store = FeatureStore(repo_path=".") now = datetime.now() two_days_ago = datetime.now() - timedelta(days=2) training_data = store.get_historical_features( entity_df=f""" select src_account as user_id, timest..

article thumbnail
[패스트캠퍼스 챌린지 47일차] GCP - Feast Feature Store (1)
AI/MLOps 2022. 3. 11. 21:21

이번 글 시리즈에서는 GCP에서 MLOps환경을 어떻게 구성하는지 그리고 Feast Feature Store에 대해 이야기해보려합니다. https://cloud.google.com 에 접속하여 무료로 시작하기 버튼을 눌러 시작합니다. 1. Colab, GCP에서 Feast Feature Store 세팅하기 https://colab.research.google.com/ 에 접속하여 Feature Store 생성합니다. Colab에서 아래 코드를 실행합니다. Feast [GCP]를 설치하고 인증합니다. ## Feast 설치 !pip install feast['gcp'] !feast version ## 반드시 런타임 재시작 하기 ## Colab 인증하기 from google.colab import auth a..

article thumbnail
[패스트캠퍼스 챌린지 46일차] Amazon SageMaker Autopilot 실습
AI/MLOps 2022. 3. 10. 21:17

다른 AutoML에 비해서 SageMaker의 autopilot은 전체 프로세스가 완료될 때까지 많은 시간이 소요됩니다. 1. 실험 데이터 Kaggle에서 mnist data를 다운로드합니다. https://www.kaggle.com/oddrationale/mnist-in-csv MNIST in CSV The MNIST dataset provided in a easy-to-use CSV format www.kaggle.com s3을 aws에서 검색하여 새로운 이름으로 bucket을 만들고, input 폴더를 생성합니다. 그 후 해당 폴더에 mnist_train.csv파일과 mnist_test.csv를 업로드합니다. 또한 output 폴더를 만들어 둡니다. 2. autopilot experiment 실행 ..

article thumbnail
[패스트캠퍼스 챌린지 45일차] Amazon SageMaker 계정 생성 & Amazon SageMaker Autopilot
AI/MLOps 2022. 3. 9. 21:14

1. AWS 계정 생성 계정을 생성하는 방법은 구글링 해보시면 상당히 많습니다. 유튜브에도 많습니다. https://sujinisacat.tistory.com/12 위 주소를 참고하면 될 것 같습니다. 2. Amazon SageMaker 접속하기 Amazon SageMaker 의 요금은 여기를 참고하면 될 것 같습니다. 콘솔에 들어가 보겠습니다. 검색창에 SageMaker를 검색하여 접속합니다. 지역은 우측 상단에 서울로 설정합니다. SageMaker Studio에 접속합니다. SageMaker Studio에 접속합니다. 최초로 SageMaker Studio IAM 을 생성합니다. SageMaker Studio 생성 완료 대기를 합니다. 대략 10분 내외로 소요되었습니다. 완료되면 아래처럼 나타납니다. ..

article thumbnail
[패스트캠퍼스 챌린지 44일차] Python 기반 Jenkins CI Pipeline Build
AI/MLOps 2022. 3. 8. 23:01

이번 글에서는 Python ML backend app이 있다고 가정하고 Jenkins Pipeline을 생성하여 application을 배포해보도록 하겠습니다. jenkins pipeline 하위 폴더에 app폴더를 생성하고 main.py에 아래와 같은 코드를 작성합니다. 이제 Jenkins CI Pipeline 생성을 python application에 적용하기 위해 FastAPI 예제 코드를 생성하여 서버에서 Docker Container를 실행할 것입니다. 아래와 같은 코드를 준비해야 합니다. - app/main.py from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "MLOps"} @..

article thumbnail
[패스트캠퍼스 챌린지 43일차] Jenkins CI Pipeline Build
AI/MLOps 2022. 3. 7. 23:12

Jenkins가 각자의 환경에 맞는 곳에 설치가 되어있다고 가정하고 시작하겠습니다. Jenkinsfile의 기본적인 구조를 알아보고 생성하고 Jenkins에서 Pipeline Job을 생성하고 Build 하는 내용을 다룰 예정입니다. 또한 post, when, 환경변수 설정하는 내용을 다루겠습니다. 1. Jenkinsfile의 코드 기본 구조 - pipeline : 반드시 맨 위에 존재하여야합니다. - agent : 어디에서 실행할 것인지 정의하여야 합니다. - any, none, label, node, docker, dockerfile, kubernetes가 있고, agent가 none인 경우는 stage에 포함시켜야 합니다. 이 예시는 아래와 같습니다. pipeline { agent none stag..

article thumbnail
[패스트캠퍼스 챌린지 42일차] Jenkins
AI/MLOps 2022. 3. 6. 17:03

Jenkins에 대해서 짚어보고 설치하는 내용을 다루고자 합니다. 1. Jenkins 개념 우선 Jenkins가 없는 경우에 대한 Workflow를 보겠습니다. 일반적인 Workflow처럼 코드를 수정한 것을 Commit 하고, 이 변경사항을 확인하고 있으면 서버에도 반영하는 방식입니다. 즉 코드를 바꾸고, 변경 사항이 생기면 수정하였다는 것을 반영해야 하는 Workflow입니다. 하지만 Jenkins가 있는 경우에는 아래와 같습니다. Jenkins가 있으면 코드 수정하고 Commit을 하면 Jenkins가 이를 감지해, 서버에 있는 코드를 반영하고(Commit에 따른 자동빌드), 이 뿐만 아니라 서버 내의 코드의 특정 부분만을 반영하거나 동작(자동 테스팅)하게도 할 수 있습니다. 즉, 작업자가 수정하고..