MLOps

· MLOps
지난번에 airflow를 실습해 본 것처럼 젠킨스 CI/CD도 도커 기반으로 실습해 보자.젠킨스 환경 구축docker-compose.yml 파일을 다음과 같이 만들어보자.version: '3.8'services: jenkins: image: jenkins/jenkins:latest ports: - "8080:8080" - "50000:50000" volumes: - jenkins_home:/var/jenkinshome environment: - JENKINS_OPTS=--httpPort=8080 restart: unless-stoppedvolumes: jenkins_home:이렇게 만들어주고 컨테이너를 백그라운드로 띄워보자docker-co..
· MLOps
MLOps에서 중요한 workflow management 중에서 Airflow를 실습해 보자.Airflow 실습 환경 구축실습을 할 수 있는 환경을 구축할 수 있는 두 가지 방법이 있다.pip install을 통해 local에 설정하기Docker container를 사용해서 docker image로 실행하기 (독립적인 공간에서 수행)여기서 당연히 더 확장성이 좋은 docker container기반 환경에서 실습해보려고 한다. Dockerfile로 Airflow 실행우선 도커 이미지를 생성하고, 해당 컨테이너를 실행시켜 보자.도커 파일은 다음과 같다.FROM python:3.8-slim# 환경 변수 설정ENV AIRFLOW_HOME=/usr/local/airflow# 필요한 시스템 라이브러리 설치RUN a..
· MLOps
1. 환경 구축쿠버네티스를 실습할 때 직접 install 하지 않고 온라인 테스트 환경에서 진행해보려고 한다.https://labs.play-with-k8s.com/ Play with KubernetesPlay with Kubernetes is a labs site provided by Docker and created by Tutorius. Play with Kubernetes is a playground which allows users to run K8s clusters in a matter of seconds. It gives the experience of having a free Alpine Linux Virtual Machine in brolabs.play-with-k8s.com (나는 도..
· MLOps
문제 발생현재 우리는 경진대회에서 제공해 주는 서버에서 MLflow를 연동해 실험 기록을 남기려 하고 있다. tracking_uri를 다음과 같이 설정해서 서버 내부 파일 경로에 데이터를 기록하려고 했다.mlflow.set_tracking_uri("/data/ephemeral/home/exp/mlruns")mlflow.set_experiment("Image Classification")그리고 mlflow ui 명령어로 MLflow UI를 실행했는데 화면에 실험 기록이 보이지 않았다..이유를 찾아보니 MLflow UI가 해당 경로를 직접 참조하지 않기 때문에 발생한 문제라고 한다. MLflow UI에서 실험 데이터를 확인하려면 tracking_uri가 서버에 올바르게 연결되어야 한다.tracking uri..
· MLOps
프로젝트 간단 개요이번 프로젝트는 2024년 9월 26일부터 2024년 10월 11일까지 약 2주간 다섯 명이 함께 진행한 MLOps 프로젝트다. 목표는 모델링뿐만 아니라 MLflow와 Airflow를 활용해 자동화된 플로우를 구축하는 것이었다.데이터 설명우리가 사용한 데이터는 Kaggle에서 제공하는 spotify_songs.csv 파일로, 약 30,000곡의 데이터와 음악의 다양한 피처가 포함된 데이터셋이다. 이 데이터를 기반으로 최초 모델을 학습시켜, 군집화(clustering) 알고리즘을 통해 유사한 음악을 추천하는 모델을 개발하기로 했다.Clustering Algorithm 사용추천 시스템에서 보편적으로 사용하는 알고리즘에는 필터링(Filtering)과 군집화(Clustering)가 있는데, 우..
· MLOps
문제 발생mlflow를 로컬에서 실행하려고 mlflow ui 명령어를 치는데 계속[ERROR] Worker (pid:3034) was sent SIGSEGV! 이런 에러가 나와서 port도 변경하고 컴퓨터도 재부팅해봤는데 같은 에러가 발생해서 아예 mlflow를 도커로 띄우려고 했다. 도커로 mlflow를 띄우고 ui 접속까지는 성공했는데 모델을 저장하려고 log_artifact() 함수를 사용하면 해당 코드에서 계속OSError: [Errno 30] Read-only file system: '/mlflow'이런 파일 권한 에러가 발생했다. 기존 코드내가 사용한 Dockerfile은 다음과 같다.FROM continuumio/miniconda3# MLflow 설치RUN pip install mlflow#..
· MLOps
📌 서론이번 글에서는 간단하게 Airflow의 DAGs를 테스트해 보자. Dockerfile과 docker-compose.yml 파일을 이용해서 실행해 보는 걸로 시작해 보자Airflow란?Apache Airflow는 워크플로우 관리 플랫폼이다. 이를 통해 다양한 작업(task)을 자동화하고 관리할 수 있다. 복잡한 데이터 파이프라인, ETL 작업, 머신러닝 모델 학습 및 배포와 같은 반복적인 작업을 자동으로 실행하고 모니터링하는 데 사용된다. Airflow 주요 기능:DAG라는 개념을 통해 작업들을 정의한다.스케줄링: 특정 시간이나 주기에 맞춰 작업을 자동으로 실행한다.의존성 관리: 작업 간의 의존성을 정의하여 특정 작업이 완료된 후에 다른 작업이 실행되도록 한다.모니터링: 각 작업의 상태, 성공 ..
· MLOps
📌 서론지난 글에서 파인튜닝한 모델을 S3에 업로드하는 것까지 진행했었다. 이제는 S3에서 모델을 다운로드하고, FAST API를 이용해서 모델을 배포하는 과정을 진행해 보자! 그리고 도커로 build 해서 컨테이너형으로 배포까지 해보자!이전글 링크:  TinyBERT로 감정 분석 모델 학습부터 AWS S3에 모델 업로드📌 서론이번 글에서는 사전 학습된 모델(TinyBERT)을 허깅페이스에서 가져와서 IMDB 영화 리뷰 데이터셋으로 파인튜닝을 하고, 새로 학습된 모델을 AWS S3에 업로드하는 과정을 정리해볼것이다.IMDByijoon009.tistory.com  지금 진행할 프로젝트의 트리 구조는 다음과 같다. FastAPI 적용모델을 서빙하기 위해 Fast API를 적용해보자. app > app.p..
평양냉면7
'MLOps' 카테고리의 글 목록