수업계획서#
과정 설명#
이 수업은 실제 운영 환경에서 기계 학습 시스템의 설계, 구현 및 관리에 대한 실질적인 측면을 다룹니다. 본 과정은 학생들에게 기계 학습 워크플로를 기존 소프트웨어 개발 및 운영 프로세스와 원활하게 통합하는 데 필요한 기술을 제공합니다. 이 과정에서는 DevOps, MLOps 및 보안 관행을 강조합니다. 학생들은 실습 프로젝트를 통해 dot 파일, git, Docker, Kubernetes, CI/CD 파이프라인, Weights & Biases 등 첨단 도구와 방법론을 사용하여 강력한 기계 학습 모델을 구축, 배포하고 유지 관리합니다. 또한, 이 과정은 학생들에게 GitOps, DevSecOps 및 LLMOps의 새로운 분야를 소개하여 실제 기계 학습 애플리케이션의 복잡성에 대비합니다.
학습 목표#
이 과정을 성공적으로 마치면 학생들은 다음을 수행할 수 있습니다.
확장성, 효율성 및 보안을 보장하면서 운영 환경에서 고급 기계 학습 시스템을 설계, 구축 및 배포.
기계 학습 프로젝트를 보다 광범위한 소프트웨어 개발 및 IT 운영 (DevOps 및 MLOps)에 통합하는 방법 탐색.
기계 학습 워크플로에서 지속적인 통합/지속적인 배포 (CI/CD), 실험 추적, 모델 버전 관리 및 보안을 위한 필수 도구 및 사례의 사용을 마스터.
컨테이너화, 서버리스 아키텍처 및 클라우드 컴퓨팅을 활용하여 안전하고 재현 가능하며 효율적인 기계 학습 파이프라인 구현.
선수 조건#
Python 프로그래밍 및 기본 머신러닝 개념에 대한 숙련도.
소프트웨어 개발 관행 및 도구에 대한 기본 이해.
과정 개요#
1주차: 머신러닝 시스템 디자인 소개#
개요:
머신러닝 시스템 아키텍처 개요.
운영환경에서 머신러닝 모델을 배포하는 도전 과제.
핵심 학습 성과:
머신러닝 시스템의 구성 요소 및 아키텍처 이해.
운영환경에서 모델을 배포할 때 발생하는 도전 과제 식별.
2주차: MLOps 및 DevOps 소개#
개요:
MLOps의 기초 및 중요성.
머신러닝에 적용된 DevOps 원칙.
핵심 학습 성과:
머신러닝 수명 주기에서 MLOps의 중요성 파악.
머신러닝 프로젝트에 DevOps 원칙 적용.
3주차: 머신러닝을 위한 Git 및 GitOps#
개요:
Git을 사용한 버전 관리 모범 사례.
머신러닝 프로젝트에 GitOps 적용 소개.
핵심 학습 성과:
머신러닝 맥락에서 Git으로 버전 관리 숙달.
머신러닝 워크플로우에서 GitOps 적용 이해.
4주차: 머신러닝에서의 보안 관행(DevSecOps)#
개요:
머신러닝 모델에 대한 보안 고려 사항.
머신러닝 맥락에서 DevSecOps 소개.
핵심 학습 성과:
머신러닝에 특정한 보안 고려 사항 식별.
머신러닝에 적용된 DevSecOps 원칙 이해.
5주차: Dotfiles 및 Dotdrop을 사용한 효율적인 환경 관리#
개요:
dot 파일을 사용한 개발 환경 관리.
dotfiles 관리를 위한 Dotdrop 설정.
핵심 학습 성과:
dot 파일을 사용하여 개발 환경을 효율적으로 관리.
dotfiles 관리를 위한 Dotdrop 구현.
6주차: 개발을 위한 안전한 설정(SSH, GPG, AGE)#
개요:
머신러닝 시스템을 위한 보안 프로토콜.
안전한 개발을 위한 SSH, GPG, AGE 실용적 설정.
핵심 학습 성과:
머신러닝 프로젝트에서 안전한 통신 프로토콜 구현.
개발 보안을 위한 SSH, GPG, AGE 설정.
7주차: 고급 버전 관리 및 프로젝트 관리#
개요:
GitHub 설정 및 워크플로우 최적화.
머신러닝 프로젝트에서 비밀 안전하게 관리를 위한 SOPS, Pass 및 Passage 사용.
핵심 학습 성과:
머신러닝 프로젝트를 위한 GitHub 워크플로우 최적화.
머신러닝 프로젝트에서 비밀을 안전하게 관리.
8주차: ML을 위한 지속적 통합 및 지속적 배포(CI/CD)#
개요:
머신러닝 프로젝트에서 CI/CD 파이프라인 설정.
머신러닝을 위한 Dockerfiles 및 컨테이너 관리.
핵심 학습 성과:
머신러닝 프로젝트를 위한 CI/CD 파이프라인 구축.
머신러닝 배포를 위한 Dockerfiles 및 컨테이너 활용.
9주차: 컨테이너화 및 오케스트레이션#
개요:
ML 애플리케이션을 위한 Docker 및 containerd 심층 탐구.
머신러닝 모델을 위한 Kubernetes 오케스트레이션.
핵심 학습 성과:
머신러닝 애플리케이션을 위한 컨테이너화 기법 숙달.
머신러닝 모델 오케스트레이션을 위한 Kubernetes 구현.
10주차: 재현 가능한 ML 파이프라인 구축#
개요:
데이터 버전 관리를 위한 DVC 소개 및 모범 사례.
Weights & Biases를 사용한 실험 추적 및 모델 버전 관리.
핵심 학습 성과:
데이터 및 모델 버전 관리를 위한 DVC 구현.
실험 추적 및 모델 버전 관리를 위한 Weights & Biases 사용.
11주차: 운영환경에서의 모니터링 및 지속 학습#
개요:
Grafana를 사용한 모니터링 솔루션 구현.
지속적 학습 및 모델 업데이트 전략.
핵심 학습 성과:
머신러닝 모델을 위한 모니터링 솔루션 배포.
지속적 학습 및 모델 개선을 위한 전략 적용.
12주차: 데이터 관리 및 실험#
개요:
효율적인 훈련 데이터 관리 및 주석 기법.
Weights & Biases를 사용한 고급 실험 추적.
핵심 학습 성과:
효과적인 데이터 관리 및 주석 기법 구현.
실험 추적을 위한 Weights & Biases의 고급 활용.
13주차: 서버리스 머신러닝 및 LLMOps#
개요:
ML 배포를 위한 서버리스 컴퓨팅 소개.
가벼운 모델을 배포하기 위한 LLMOps 개요.
핵심 학습 성과:
머신러닝 맥락에서 서버리스 컴퓨팅 이해.
효율적인 모델 배포를 위한 LLMOps 개념 파악.
14주차: 실제 애플리케이션 및 사례 연구#
개요:
LangChain 및 Gradio를 사용한 음성 기반 챗봇 배포.
MLOps 도전 과제 및 해결책에 대한 업계 전문가의 강연.
핵심 학습 성과:
과정 개념을 적용하여 실제 머신러닝 애플리케이션 배포.
업계 전문가로부터 실제 MLOps 도전 과제 및 해결책 학습.
15주차: 최종 프로젝트#
개요:
과정 학습을 통합하여 클라우드 서버에 머신러닝 애플리케이션 개발 및 배포.
핵심 학습 성과:
머신러닝 시스템을 설계, 구축 및 배포하는 능력 시연.
실제 프로젝트에 MLOps, DevOps 및 보안 관행 통합.
평가#
수업 참여: 20%
과제: 30%
학기 프로젝트: 50%
교재 및 자료#
필수 교재는 없습니다. 다음의 자료가 제공됩니다: