MLOps 프로젝트#
MLOps 팀 프로젝트: 베어메탈부터 시작하는 엔드-투-엔드 머신러닝 파이프라인
목표#
이 프로젝트는 학생들에게 베어메탈 시스템에서부터 엔드-투-엔드 머신러닝 파이프라인을 구축하는 과정을 가르치는 것을 목표로 합니다. 프로젝트는 운영 체제 설정, 머신러닝 프레임워크 구성 및 머신러닝 모델 학습을 다룰 것입니다. 최종 결과물은 GitHub 저장소를 통해 클래스와 공유될 것입니다.
요구사항#
Linux 운영 체제에 대한 기본 지식
머신러닝 개념 및 프레임워크에 대한 이해
버전 관리 및 협업을 위한 Git 및 GitHub
컨테이너화 및 오케스트레이션을 위한 Docker 및 Kubernetes 경험 (선택 사항이지만 권장됨)
프로젝트 개요#
1. 프로젝트 기획 및 팀 구성#
프로젝트 범위 및 목표 정의
클래스를 하위 팀으로 나누기: OS 설정, ML 프레임워크 설정, 모델 개발 및 MLOps 설정
프로젝트 관리 도구(예: Trello) 설정하여 진행 상황 추적 및 작업 할당
2. 운영 체제 설정#
Linux 배포판 선택(예: Ubuntu, CentOS)
베어메탈 서버에 운영 체제 설치 및 구성
사용자 계정 및 권한 설정
필수 도구 설치 및 구성(예: SSH, Git)
3. 머신러닝 프레임워크 설정#
ML 프레임워크 선택(예: TensorFlow, PyTorch)
서버에 ML 프레임워크 설치 및 구성
종속성 및 라이브러리 설정
샘플 ML 모델로 프레임워크 테스트
4. 모델 개발#
문제 및 데이터셋 선택(예: 이미지 분류, 감성 분석)
데이터 전처리 및 특성 엔지니어링 수행
모델 학습 및 평가
하이퍼파라미터 최적화를 통한 모델 미세 조정
5. MLOps 설정#
Docker를 사용하여 ML 모델 컨테이너화
Jenkins 또는 GitHub Actions와 같은 도구를 사용하여 CI/CD 파이프라인 설정
Kubernetes 클러스터에 모델 배포(선택 사항)
모델 성능 모니터링 및 관련 메트릭 로깅
자동화된 테스트 및 검증 구현
6. 최종 마무리 및 문서화#
각 하위 팀의 작업 통합
설치 가이드, 모델 개발 및 배포를 포함한 프로젝트에 대한 포괄적인 문서 작성
GitHub에 최종 프로젝트 공유, 모든 팀원이 저장소에 기여했는지 확인
주요 단계, 과제 및 결과를 강조하는 클래스 프로젝트 발표 준비
결과#
학생들은 엔드-투-엔드 머신러닝 파이프라인 설정에 대한 실습 경험을 쌓을 수 있습니다.
학생들은 팀원 간에 효과적으로 협업하고 작업을 분담하는 방법을 배울 것입니다.
학생들은 MLOps에서 버전 관리 및 문서화의 중요성을 이해하게 될 것입니다.
최종 GitHub 저장소는 클래스 및 미래 학생들을 위한 리소스 역할을 할 것입니다.