GitHub Workflow Status Release Roadmap GitHub last commit
<h1 align=center>FuseML</h1>
<h2 align=center>선호하는 AI/ML 도구들을 통합하여 MLOps 오케스트레이션 구현</h2>
<p align="center">
<img src="https://raw.githubusercontent.com/fuseml/fuseml/HEAD/docs/fuseml-logo.png" width="30%" height="30%"></center>
</p>
선호하는 AI/ML 도구들에 맞춰 구성 가능한 자동화 레시피를 통해 자체적인 MLOps 오케스트레이션 워크플로우를 구축하고, ML 코드를 프로덕션 추론 서비스(inference serving)까지 빠르고 쉽게 가져갈 수 있습니다.
개요 (Overview)
FuseML을 사용하여 커뮤니티에서 공유하는 AI/ML 도구들의 일관된 스택을 구축하여 ML 운영 작업을 수행할 수 있습니다. FuseML은 일관된 운영을 위해 설계되었으며, 실제 사용 사례를 반영한 풍부한 통합 공식(integration formulas)들을 갖춘 유연한 프레임워크로 구동됩니다. 이를 통해 기술 부채(technical debt)를 줄이고 벤더 종속성(vendor lock-in)을 피할 수 있도록 돕습니다.
기원 및 로드맵 (Inception and Roadmap)
FuseML은 형제 오픈 소스 프로젝트인 Epinio의 포크(fork)로 시작되었습니다. Epinio는 Kubernetes 기반의 경량 오픈 소스 PaaS였으며, 이후 점진적으로 변형되고 MLOps 개념이 주입되어 오늘날의 AI/ML 오케스트레이션 도구가 되었습니다.
본 프로젝트는 다음 주요 방향을 따라 활발하게 개발되고 있습니다:
- 유연성과 확장성을 개선하기 위한 기능 및 향상 사항 추가
- 커뮤니티에서 공유하는 더 많은 AI/ML 도구 지원 추가
- 기존 및 새로운 AI/ML 도구에 맞춰 구성 가능한 자동화 블록 생성
저희가 어떤 작업을 진행 중인지, 그리고 다음 릴리스에서 무엇이 준비되어 있는지 확인하려면 프로젝트 보드를 참고해 주세요.
기본 워크플로우 (Basic Workflow)
기본 FuseML 워크플로우는 ML 코드를 시작점으로 하여 머신러닝 모델을 구축하고 서비스하는 데 필요한 모든 단계를 자동으로 실행하는 MLOps 유형의 워크플로우로 설명할 수 있습니다. FuseML의 작업은 머신러닝 코드가 실행 준비가 되었을 때 시작됩니다.
- 원하는 쿠버네티스 클러스터에 FuseML 설치 (설치 지침 Installation Instructions 참조)
- 선택한 AI/ML 라이브러리(예: TensorFlow, PyTorch, SKLearn, XGBoost)를 사용하여 코드 작성
- FuseML이 지원하는 규약 및 실험 추적 도구 중 하나를 사용하여 코드 구성
- FuseML CLI를 사용하여 코드를 FuseML Orchestrator 인스턴스로 푸시하고, 선택적으로 엔드투엔드 MLOps 워크플로우를 사용자 정의하기 위한 매개변수 제공
- 이 시점부터 프로세스는 완전히 자동화됩니다: FuseML이 코드 구축 및 패키징, 컨테이너 이미지 생성, 트레이닝 작업 실행, ML 모델을 올바른 형식으로 저장 및 변환, 그리고 최종적으로 해당 모델 서비스에 관련된 모든 측면을 처리합니다.
실험 추적 및 버전 관리 (Experiment Tracking and Versioning)
- MLFlow
- DVC (추후 공지 예정, TBD)
모델 트레이닝 (Model Training)
- MLFlow
- DeterminedAI (추후 공지 예정, TBD)
모델 서비스 및 모니터링 (Model Serving and Monitoring)
- KServe
- Seldon Core (곧 출시 예정, coming soon)
- Knative Serving (곧 출시 예정, coming soon)
프로젝트 레이아웃 (Project Layout)
이 리포지토리는 FuseML 설치기(installer)의 코드를 포함하며 주요 프로젝트 레포지토리입니다. 관심 있을 만한 다른 레포지토리들은 다음과 같습니다: