수업계획서#

과정 설명#

이 수업은 실제 운영 환경에서 기계 학습 시스템의 설계, 구현 및 관리에 대한 실질적인 측면을 다룹니다. 본 과정은 학생들에게 기계 학습 워크플로를 기존 소프트웨어 개발 및 운영 프로세스와 원활하게 통합하는 데 필요한 기술을 제공합니다. 이 과정에서는 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%

교재 및 자료#

필수 교재는 없습니다. 다음의 자료가 제공됩니다: