fmind/mlops-python-package

A comprehensive Python package template to kickstart and standardize your MLOps initiatives and data pipelines.

해결하는 문제

이 프로젝트는 MLOps의 최선의 실천 방법을 구현한 표준화된 Python 코드베이스와 일련의 최선의 실천 방법을 제공하여, 모델 레지스트리, 실험 추적 시스템, 실시간 추론 플랫폼을 구축할 때 처음부터 시작하는 것을 피할 수 있도록 도와줍니다. 포괄적인 전문 소프트웨어 엔지니어링 도구 세트를 통합함으로써 실험 코드에서 프로덕션 준비된 소프트웨어로의 전환을 원활하게 합니다.

작동 방식

이 패키지는 프로그램 동작을 YAML 구성 파일로 제어하는 모듈식 프레임워크로 구조화되어 있습니다. 사용자는 src/[package]/jobs/*.py에 특정 작업(예: 학습, 튜닝, 추론)을 정의하고, 구성 파일을 병합하는 CLI를 사용하여 실행할 수 있습니다. uv를 통한 종속성 관리, Pydantic을 통한 구성 검증, MLflow를 통한 모델 추적, 레지스트리 및 관찰성 기능을 활용하는 현대적인 Python 도구 체인을 사용합니다.

대상 사용자

프로덕션 수준의 MLOps 툴킷 또는 플랫폼을 구현하고자 하며, 소프트웨어 엔지니어링 및 AI/ML 라이프사이클 관리 분야의 업계 최선의 실천 방법을 따르고자 하는 머신러닝 엔지니어 및 데이터 과학자에게 적합합니다.

주요 특징

  • 통합된 MLOps 스택: MLflow(추적, 레지스트리, 프로젝트) 및 SHAP을 통한 설명 가능성에 대한 내장 지원.
  • 포괄적인 자동화: mise를 사용하여 설치, 테스트, 린트, 빌드를 위한 통합된 작업 어휘 제공.
  • 프로덕션 준비 도구: Ruff를 통한 린트/포맷팅, Pytest를 통한 테스트, Docker를 통한 런타임 패키징을 통합.
  • 유연한 구성: OmegaConf와 Pydantic Discriminated Unions를 활용하여 구성 파일에 따라 자동으로 다양한 작업 유형을 선택하고 실행.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트