호돌찌의 AI 연구소
article thumbnail

이번 글은 이전에 만든 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
source env/bin/activate
pip install -r requirements.txt

 

설치가 다 된것을 알 수 있습니다.

 

[편집기 열기] 를 누릅니다.

 

 

[env 폴더에 json key 파일 생성] 합니다. 저장했던 json file이름대로 밀어넣고 내용물을 채우시면 됩니다. 

 

main.py 로 들어갑니다. 그 후 아래 요소들을 수정합니다. 

  • PROJECT ID, BUCKETNAME, BIGQUERY_DATASET_NAME > 이전 Colab에서 수정했던 부분을 기입합니다. 
  • AI_PLATFORM_MODEL_NAME 변경
  • feature_store.yaml 내 registry 변경
  • 다운을 받았던 JSON 파일 이름 변경

 

app.yaml 을 추가합니다. 우클릭 후 새 파일을 만들어서 아래 내용을 채워 넣습니다. 

runtime: python37
entrypoint: gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app
instance_class: F2

 

" gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app " 이 부분이 entry point인데, 터미널에 가서 확인할 수 있습니다. 동그라미 친 4개 worker들이 수행되면 정상적으로 동작하는 것 입니다. 

 

[포트 변경 - 8000] - [변경 및 미리보기] 를 수행합니다. 

 

 

웹 확인을 하면 됩니다. "Fraud Dectection !"이 뜨면 application이 다 준비 되었다는 뜻입니다. 

 

 

 

 

 

 

 

 

 

 

3. GCP App 생성

 

  • Cloud Build API 사용 설정
  • "gcloud app create"

  • 5번 선택
  • "gcloud app deploy app.yaml" > y 누릅니다. 상당히 오랜 시간이 걸립니다. 

  • gcloud app browse
  • target url 접속 테스트 : https://gcp-mlops-feast-project.du.r.appspot.com 을 복사하여 접속해봅니다. 

 

FastAPI를 수행하였기 때문에 docs가 따라오게 되어있습니다. (https://gcp-mlops-feast-project.du.r.appspot.com/docs)

 

이전 글에서 테스트를 했었던 predict.py 함수 부분을 복사해서 entity id에 넣어 실행해봅니다. 큰 따옴표는 들어가서는 안됩니다. 

 

 

 

즉, 앞에서 예약작업을 해두었고, 하루마다 갱신되는 feature store가 있는데 거기서 api를 통해 추출할 수 있기 때문에 mlops 환경에서 feature store가 이미 구축되어있었다고 가정되어있다고 하면 Feature를 추출할 수 있다는 뜻 입니다. 

 

다음글에서는 MLOps를 정리하는 글로 찾아뵙겠습니다. 


https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 


 

profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!