머신러닝은 더 이상 일부 전문가들의 영역이 아니며, 머신러닝의 구현과 운영 모두 여러 분야에서 축적된 경험을 바탕으로 생산적으로 발전해왔다. 이 과정에서 MLOps(Machine Learning Operations)는 기존의 소프트웨어와 시스템의 통합 운영 기술을 도입하고, 머신러닝을 위한 표준 프로세스를 적용해서 최적화해왔다. 쿠버네티스를 포함한 오픈소스 도구들을 통해 이 변화를 탐험해보자.
Contents
1부. 머신러닝 도입의 문제점과 MLOps의 이해(정의와 근거)
1장. 머신러닝의 도전 과제
__머신러닝 이해하기
__머신러닝 가치의 실현
__올바른 접근법 선택
____데이터의 중요성
__머신러닝 도입의 도전 과제
____큰 그림에만 집착하기
____사일로(silo) 살펴보기
____빠른 실패(fail fast) 문화
__머신러닝 플랫폼 개요
__요약
__더 알아보기
2장. MLOps 이해하기
__머신러닝과 기존 프로그래밍의 비교
__DevOps의 장점 알아보기
__MLOps 이해하기
____머신러닝
____DevOps
____머신러닝 프로젝트 라이프사이클
____빠른 피드백 루프
____프로젝트 라이프사이클에서의 협업
__머신러닝 프로젝트에서의 OSS 역할
__쿠버네티스에서 머신러닝 프로젝트 운영
__요약
__더 알아보기
3장. 쿠버네티스 탐험
__기술 요구 사항
__쿠버네티스 주요 구성 요소 살펴보기
____제어 영역
____작업자 노드
____앱의 실행을 위한 쿠버네티스 객체
__쿠버네티스로 클라우드 사용자되기
__오퍼레이터 이해하기
__로컬 쿠버네티스 환경 구성하기
____kubectl 설치
____minikube 설치
____OLM 설치
__GCP의 VM 준비
요약
2부. MLOps 플랫폼의 작업 영역과 쿠버네티스로 만드는 방법
4장. 머신러닝 플랫폼의 구조
__기술 요구 사항
__셀프서비스 플랫폼 정의
__데이터 엔지니어링 구성 요소 알아보기
____데이터 엔지니어 워크플로우
__모델 개발 구성 요소 알아보기
____데이터 과학자 워크플로우 이해하기
__보안, 모니터링과 자동화
__ODH 소개
____쿠버네티스에 ODH 오퍼레이터 설치
____쿠버네티스 클러스터에 인그레스 제어기 활성화
____쿠버네티스에 키클록 설치
__요약
__더 알아보기
5장. 데이터 엔지니어링
__기술 요구 사항
__인증을 위한 키클록 설정
____ODH 구성 요소에 대한 키클록 설정 가져오기
____키클록 사용자 생성
__ODH 구성 요소 설정
____ODH 설치
__주피터허브 이해와 활용
____주피터허브 설치 확인하기
____첫 번째 주피터 노트북 실행
__아파치 스파크의 기초 이해
____아파치 스파크 작업 실행 이해하기
__ODH로 아파치 스파크 클러스터를 필요할 때
__제공하는 방법
____스파크 클러스터 생성
____주피터허브로 스파크 클러스터를 생성하는 방법
__주피터 노트북에서 스파크 앱을 만들어서 실행하기
__요약
6장. 머신러닝 엔지니어링
__기술 요구 사항
__머신러닝 엔지니어링 이해
__사용자 노트북 이미지 사용
____사용자 노트북 컨테이너 이미지 만들기
__ML플로 소개
____ML플로 구성 요소 이해
____ML플로 설치 확인하기
__시험 추적 시스템용 ML플로
____시험 실행에 사용자 데이터 추가
__모델 레지스트리 시스템으로서 ML플로
__요약
7장. 모델 배포와 자동화
__기술 요구 사항
__셀돈 코어를 사용한 모델 추론의 이해
____파이썬을 사용한 모델 래핑
____모델을 컨테이너로 만들기
____셀돈 코어 컨트롤러로 모델 배포하기
__셀돈 코어를 사용한 모델의 패키징, 실행, 모니터링
__아파치 에어플로 소개
____DAG 이해
____에어플로 기능 탐험
____에어플로 구성 요소 이해
____에어플로 설치 확인하기
____에어플로 DAG 리포지터리 설정
____에어플로 런타임 이미지 설정
__에어플로에서 머신러닝 모델 배포의 자동화
__파이프라인 편집기로 파이프라인 생성하기
__요약
3부. MLOps와 새로운 플랫폼을 사용한 전체 프로젝트 빌드
8장. 우리의 플랫폼을 사용한 전체 머신러닝 프로젝트 만들기
__머신러닝 플랫폼의 전체 그림 보기
__사업적 과제의 이해
__데이터 수집, 처리, 정제
____데이터 소스, 경로, 형식의 이해
____데이터 처리와 정제의 이해
__예비 데이터 분석 수행
____데이터 샘플 이해
__피처 엔지니어링의 이해
____데이터 증강
__머신러닝 모델의 빌드와 평가
____데이터 평가 기준
____모델 빌드
____모델 배포
__재현 가능성
__요약
9장. 데이터 파이프라인 만들기
__기술 요구 사항
__개발을 위한 스파크 클러스터 자동 제공
__스파크 데이터 파이프라인 작성
____실행 환경 준비
____데이터 이해하기
____파이프라인 설계와 제작
____데이터 파이프라인을 모니터하는 스파크 화면 사용
__에어플로를 사용한 데이터 파이프라인 제작과 실행
____데이터 파이프라인 DAG 이해
____DAG 제작과 실행
__요약
10장. 모델의 제작, 배포와 모니터링
__기술 요구 사항
__주피터허브를 사용한 데이터 시각화와 탐색
__주피터허브로 모델을 만들고 조정하기
__모델 시험 추적과 ML플로를 사용한 버전 관리
____모델 시험 추적
____모델 버전 관리
__모델을 서비스로 배포
____모델 호출하기
__모델 모니터하기
____모니터링 구성 요소의 이해
____그라파나와 대시보드 설정
__요약
11장. 쿠버네티스 기반의 머신러닝
__머신러닝 플랫폼 사례 검토
____AutoML 검토하기
____상업적 플랫폼
____ODH
__머신러닝 운영 최적화
____업무 기대치 설정
____지저분한 실제 데이터 처리
____부정확한 결과 처리
____CD 관리
____보안 관리
____규정 준수
____거버넌스 적용
__쿠버네티스 실행
____벤더 의존성 방지
____다른 쿠버네티스 플랫폼 검토
__로드맵
__요약
__더 알아보기
Author
파이살 마수드,로스 브리골리,최준
레드햇의 수석 설계자다. 지금까지 오픈시프트와 레드햇의 기업용 쿠버네티스 서비스를 활용해 데이터 사이언스, 앱 플랫폼을 설계하고 제작하는 일을 지원했다. 소프트웨어 제작에 20년이 넘는 경험이 있고, 쿠버네티스가 등장하기 전부터 마이크로서비스를 만들었다.
레드햇의 수석 설계자다. 지금까지 오픈시프트와 레드햇의 기업용 쿠버네티스 서비스를 활용해 데이터 사이언스, 앱 플랫폼을 설계하고 제작하는 일을 지원했다. 소프트웨어 제작에 20년이 넘는 경험이 있고, 쿠버네티스가 등장하기 전부터 마이크로서비스를 만들었다.