GN⁺: 생산 환경에서의 Machine Learning (CMU 강좌)
(mlip-cmu.github.io)카네기 멜론 대학교의 머신러닝 생산 과정
-
과정 개요
- 이 과정은 머신러닝 모델을 소프트웨어 제품으로 구축, 배포, 유지하는 방법을 다루는 과정임.
- 책임 있는 AI, MLOps, 안전성, 보안, 공정성, 설명 가능성 등을 포함하여 전체 수명 주기를 다룸.
- 데이터 과학 경험과 기본 프로그래밍 기술이 있는 학생을 대상으로 함.
-
과정 목표
- 머신러닝 모델을 제품으로 전환하고, 품질을 보장하며, 대규모로 운영 및 유지하는 방법을 학습함.
- 소프트웨어 엔지니어와 데이터 과학자 간의 협력을 촉진하여 ML 시스템을 구축하는 데 필요한 상호 이해를 구축함.
- ML 엔지니어로서의 경력을 고려하는 학생에게 적합함.
-
주요 주제
- 잘못된 예측을 위한 설계, 안전 및 보안 보장 방법.
- 실제 환경에서 작동할 수 있는 사용자 인터페이스 및 시스템 설계.
- 모델의 신뢰성 있는 배포 및 업데이트 방법.
- 데이터 품질 문제, 개념 드리프트, 피드백 루프 감지 방법.
- 대규모 ML 시스템 설계 및 테스트 방법.
- 공정성, 설명 가능성, 프라이버시, 견고성, 안전성 등 모델의 예측 정확도 외의 중요한 품질 요구 사항 식별 및 측정 방법.
-
학습 결과
- ML 구성 요소를 포함한 생산 시스템 설계 시 트레이드오프 분석.
- ML 구성 요소의 실수를 계획하고 견고한 시스템 구현.
- 데이터 인프라 설계 및 실험을 위한 시스템 설계.
- 전체 ML 파이프라인의 품질 보장.
- 복잡한 ML 제품을 구축할 때 시스템 수준 요구 사항 고려.
- 다학제 팀에서 효과적으로 커뮤니케이션.
-
실습 및 프로젝트
- 학생들은 1백만 명의 사용자를 대상으로 하는 영화 추천 서비스를 구축, 배포, 평가, 유지하는 프로젝트에 참여함.
-
수업 및 실습
- 강의는 월요일과 수요일에 진행되며, 실습은 금요일에 다양한 시간대에 진행됨.
- Slack을 통해 수업 중 활동에 참여할 수 있으며, 강의 녹화는 Canvas에서 제공됨.
-
평가 및 과제
- 개인 과제, 그룹 프로젝트, 중간고사, 참여도, 실습, 독서 퀴즈로 평가됨.
- 각 과제는 명확한 사양과 점수 분포를 제공하여 학생들이 명확한 기대치를 설정할 수 있도록 함.
-
팀워크 및 협업
- 팀 프로젝트는 3-5명의 학생으로 구성된 팀으로 진행되며, 팀워크는 필수적임.
- 팀은 독립적으로 작업하며, 팀 내에서의 협업은 권장됨.
-
기타 정보
- Slack을 통해 중요한 공지가 전달되며, 이메일과 Slack을 통해 질문 가능.
- 수업 자료는 GitHub에 공개되어 있으며, 자가 학습을 원하는 학생에게도 제공됨.
이 과정은 머신러닝을 활용한 소프트웨어 제품 개발에 관심 있는 학생들에게 필수적인 기술과 지식을 제공하며, 다양한 실제 사례와 프로젝트를 통해 실무 경험을 쌓을 수 있는 기회를 제공함.
Hacker News 의견
-
Kafka, Docker, Kubernetes, Jenkins는 업계 표준 도구이며, MLOps에 중점을 두는 것이 신선함. 모델 구축에 그치지 않고 실제 프로덕션 시스템과의 연결을 다루는 과정이 좋음. 설명 가능성, 공정성, 모니터링도 다루고 있음이 인상적임
- 초급 수준일까? 실습을 보면 중급 소프트웨어 엔지니어나 동기 부여된 초보자도 튜토리얼로 배울 수 있는 내용이 많음. Git, Flask, 컨테이너 오케스트레이션은 유용하지만, 이미 프로덕션 환경에서 일한 사람에게는 기본적임. 분산 학습을 위한 네트워킹 최적화나 대규모 추론 관리 같은 깊이 있는 도전 과제는 덜 다루어지는 것 같음. 그룹 프로젝트에서 다루어질지도 궁금함
- 사용하는 도구의 장기적인 관련성도 궁금함. Jenkins는 어디에나 있지만, CI/CD를 위해 GitHub Actions나 ArgoCD 같은 더 현대적인 것을 소개하는 것이 합리적이지 않을까? Kubernetes는 당연히 알아야 하지만, 엣지 배포나 서버리스 시스템을 위한 대안이나 보조 도구는 어떨까? 미래로 조금 더 나아갈 기회가 있는 것 같음
-
데이터 품질에 대한 내용이 거의 없고 16장에 있음... 저자들이 산업에서 얼마나 실무 경험이 있는지 궁금함. 데이터 품질과 데이터 정리에 90%의 시간이 소요됨
-
머신러닝 클러스터 인프라 구축에 관한 문헌이나 강좌를 아는 사람 있음? 주로 스토리지 인프라 구축 및 확장, 네트워킹 및 스케줄링 접근 방식에 관심이 있음
-
학생이 아닌 다른 사람들과 함께 따라갈 수 있는 곳이 있는지 궁금함
-
누구나 등록할 수 있는지 아니면 국가의 상위 컴퓨터 과학 프로그램에 입학해야 하는지 궁금함
-
이 과정을 여기서 볼 수 있어 좋음. Christian은 훌륭한 사람이며 훌륭한 작업을 함. 이 과정과 책의 시작을 알고 있으며 강력히 추천할 수 있음
-
ML 플랫폼과 시스템에서 9.5년 동안 모든 규모에서 일했음. 자료가 훌륭해 보임
-
흥미로움; 실습을 살펴보았는데, LLM에 대한 경험이 많지 않은 풀스택 개발자로서 이미 절반은 익숙함 (git, flask, kafka, kubernetes) 나머지는 그냥 코드임. ML과 관련된 복잡한 수학이 없음
- ML ops가 PhD 없이도 일반 개발자가 접근하기에 그리 어렵지 않은 분야라는 의미일까?
-
단일 "Kubernetis"를 배우는 아이디어가 마음에 듦
-
코스의 복잡성을 과소평가하고 있을지도 모르지만, 이건 초급 과정처럼 들림. 모델 설명 도구까지 대부분의 내용이 솔직히 꽤 간단해 보임. 대부분의 사용 사례에 대해 업계 표준 도구를 사용하고 있다는 점은 좋다고 생각함