Community

실용적인 MLOps - MLflow

MLflow는 MLOps를 구현하는 데 핵심적인 역할을 하는 인기 있는 오픈 소스 도구이다. MLOps는 본질적으로 머신 러닝 라이프사이클에 데브옵스 관행을 적용하는 것입니다. 간단히 말해, 머신 러닝 모델을 개발, 배포 및 관리하는 프로세스를 간소화하는 것입니다. 이와 관련하여 개발 라이프사이클 전반에 걸쳐 머신러닝 실무자에게 지침을 제공하기 위한 품질 보증 방법론(CRISP-ML(Q))과 MLflow를 정리해봅니다. 1. 비즈니스 이해 및 데이터 이해 * 이 초기 단계에서는 비즈니스 문제와 사용 가능한 데이터에 대한 이해를 결합 * 비즈니스 목표를 정의하고, 성공 지표를 식별하고, 데이터를 탐색하여 데이터의 특성과 머신 러닝의 잠재력을 이해 2. 데이터 준비 * 기존 수명 주기와 마찬가지로, 이 단계에서는 모델링을 위해 데이터를 정리하고 준비하는 데 중점 * 여기에는 누락된 값 처리, 불일치 처리, 잠재적으로 데이터를 적합한 형식으로 변환하는 작업 포함 3. 모델링 및 조정 * 이 단계에서는 다양한 머신러닝 알고리즘을 선택하고 실험 * 준비된 데이터로 모델을 학습시키고 하이퍼파라미터 튜닝과 같은 기술을 사용하여 성능을 최적화 4. 평가 * 이 단계는 학습된 모델의 효과를 평가하는 데 매우 중요 * 다양한 평가 지표를 사용하여 보이지 않는 데이터에 대한 모델의 성능을 판단하고 여러 모델을 비교하여 가장 적합한 모델 선택 5. 배포 * 모델의 성능이 우수하다면 이제 프로덕션에 배포 * 여기에는 모델을 패키징하고, 시스템과 통합하고, 예측을 제공하기 위한 인프라를 설정하는 작업 포함됨 6. 모니터링 및 유지 관리 * 기존 라이프사이클과 마찬가지로 시간이 지남에 따라 모델의 성능을 모니터링하는 것은 필수 * 정확도를 추적하고, 성능 저하를 해결하고, 필요에 따라 새로운 데이터로 모델을 재학습하여 효율성을 유지 * 표준화: 머신 러닝 프로젝트를 위한 공통 언어와 프레임워크를 제공하여 팀 간의 협업과 지식 공유 활성화 * 구조화된 접근 방식: 단계를 따르면 포괄적이고 체계적인 개발 프로세스를 보장하여 중요한 단계를 간과할 위험을 최소화 * 커뮤니케이션 개선: CRISP-ML 용어는 데이터 과학자, 비즈니스 이해관계자, 기타 프로젝트 구성원 간의 의사소통을 용이하게 1. MLflow 추적 * 기능 * 머신 러닝 수명 주기 전반에 걸쳐 실험을 추적 * 트레이닝 실행에 대한 정보를 기록하는 중앙 허브 역할 * 주요 특징: * 학습 중에 사용된 매개변수(예: 학습 속도, 에포크 수) 기록 * 모델 성능을 평가하기 위한 메트릭(예: 정확도, 손실) 캡처 * 실행 중에 생성된 아티팩트(예: 학습된 모델 파일, 코드 버전) 추적 * 이렇게 기록된 정보와 상호 작용하기 위한 API 및 UI 제공 2. MLflow 프로젝트 * 기능 * 머신 러닝 프로젝트의 재현성 보장 * 주요 특징 * 코드, 환경 및 종속성을 재사용 가능한 구조로 패키징 * 동일한 프로젝트를 다른 머신이나 환경에서 일관된 결과로 실행 * 팀원 간에 프로젝트를 쉽게 공유하여 협업 촉진 3. MLflow 모델 * 기능 * 학습된 머신 러닝 모델의 관리를 간소화 * 주요 특징 * 유연성을 위해 플랫폼에 구애받지 않는 형식으로 모델 저장 * 변경 사항 및 롤백 추적을 위한 모델 버전 관리 용이 * 다양한 서비스 환경에 모델 배포 * 학습된 모델에서 예측 간소화 4. MLflow 모델 레지스트리(선택 사항) * 기능 * 고급 모델 거버넌스를 위한 중앙 집중식 리포지토리 제공 * 주요 기능 * 학습된 모델의 다양한 버전을 저장하고 관리 * 모델에 대한 단계 전환(예: 개발, 스테이징, 프로덕션) 제공 * 제어된 배포를 위한 모델 승인 워크플로 구현 * 프로덕션 환경의 거버넌스 및 책임성 강화 >> 실제 MLflow를 셋업하고, 모델 실험하는 세부 내용은 원문을 참고해주세요. * source: https://oleg-dubetcky.medium.com/practical-mlops-mlflow-78ff9dd7eb2d

알림

알림이 없습니다