liminfo

MLOps Pipeline Reference

MLOps 도구 비교 - MLflow, Kubeflow, W&B, DVC

14개 결과

MLOps Pipeline Reference 소개

MLOps 도구 레퍼런스는 머신러닝 운영 생태계에서 가장 널리 사용되는 도구들을 검색할 수 있는 가이드로, 다섯 가지 실용적인 카테고리로 구성됩니다: 실험 추적(MLflow, Weights & Biases, TensorBoard), 파이프라인 오케스트레이션(Kubeflow, Apache Airflow, Prefect), 모델 서빙(BentoML, Seldon Core, Ray Serve), 데이터 관리(DVC, Feast, Great Expectations), 데이터 레이블링(Label Studio, CVAT). 각 도구 항목에는 도구명, 기능 설명, 동작하는 코드 예제가 포함됩니다.

머신러닝 엔지니어, 데이터 과학자, 플랫폼 엔지니어들은 MLOps 도구를 사용해 모델 개발과 프로덕션 배포 사이의 격차를 해소합니다. MLflow와 W&B 같은 실험 추적 도구는 수백 번의 학습 실행 전반에 걸쳐 하이퍼파라미터, 지표, 모델 아티팩트를 로깅할 수 있게 해줍니다. Kubeflow와 Airflow 같은 파이프라인 오케스트레이션 도구는 데이터 전처리, 모델 학습, 평가, 배포 단계를 자동화합니다. BentoML과 Seldon Core 같은 모델 서빙 프레임워크는 훈련된 모델의 컨테이너화, REST API 생성, Kubernetes 배포를 처리합니다.

이 레퍼런스는 MLOps 스택을 구축하거나 평가하는 팀을 위해 설계되었습니다. DVC를 이용한 데이터 버전 관리는 데이터셋과 모델 파일을 Git 저장소의 코드처럼 관리함으로써 재현성 문제를 해결합니다. Feast 같은 피처 스토어는 학습과 온라인 추론 사이에서 일관된 피처 연산을 제공하여 학습-서빙 스큐를 제거합니다. Great Expectations 같은 데이터 품질 도구는 수신 데이터 파이프라인에 대한 검증 체크를 자동화합니다.

주요 기능

  • 5개 카테고리: 실험 추적, 파이프라인 오케스트레이션, 모델 서빙, 데이터 관리, 레이블링
  • 실험 추적 도구: MLflow(log_param, log_metric), W&B(wandb.init, wandb.log), TensorBoard(SummaryWriter)
  • 파이프라인 오케스트레이션: Kubeflow(@dsl.pipeline), Airflow(DAG 시프트 연산자), Prefect(@task/@flow)
  • 모델 서빙: BentoML(@bentoml.service), Seldon Core(SeldonDeployment YAML), Ray Serve(@serve.deployment)
  • DVC를 이용한 데이터 버전 관리: dvc init, dvc add, dvc push/pull로 Git 기반 데이터셋 관리
  • Feast 피처 스토어: feast init, feast apply, 온라인 피처 검색
  • Great Expectations로 데이터 품질 검증 체크포인트 실행
  • 어노테이션 도구: Label Studio(웹 UI + ML 백엔드)와 CVAT(바운딩박스, 세그먼테이션, 키포인트)

자주 묻는 질문

MLflow란 무엇이고 실험 추적에 어떻게 사용하나요?

MLflow는 머신러닝 실험 추적, 모델 패키징, 배포를 위한 오픈소스 플랫폼입니다. mlflow.start_run()으로 실행을 시작하고, mlflow.log_param("lr", 0.01)으로 하이퍼파라미터를 기록하며, mlflow.log_metric("accuracy", 0.95)으로 지표를 기록하고, mlflow.end_run()으로 실행을 종료합니다. MLflow UI에서 실행 결과를 비교하고 실험 전반의 지표 추이를 시각화할 수 있습니다.

MLflow와 Weights & Biases(W&B)의 차이는 무엇인가요?

두 도구 모두 실험을 추적하지만, W&B는 클라우드 호스팅 SaaS로 더 풍부한 시각화, Sweeps(하이퍼파라미터 검색), 팀 협업 기능을 제공합니다. MLflow는 오픈소스로 자체 호스팅이 가능하여 데이터 프라이버시 요구 사항이 있거나 온프레미스 인프라를 사용하는 조직에 적합합니다. 많은 팀이 두 도구를 함께 사용합니다.

DVC란 무엇이고 데이터 버전 관리 문제를 어떻게 해결하나요?

DVC(Data Version Control)는 Git을 확장하여 대용량 데이터 파일과 ML 모델을 처리합니다. Git 저장소에서 dvc init을 실행하고, dvc add data/train.csv로 데이터셋을 추적합니다. 팀은 dvc push로 원격 스토리지(S3, GCS, Azure Blob)에 데이터셋을 공유하고, dvc pull로 동일한 데이터를 받아 학습에 사용합니다.

Kubeflow란 무엇이고 Airflow와 언제 각각 사용해야 하나요?

Kubeflow는 쿠버네티스 네이티브 ML 플랫폼으로 각 파이프라인 단계를 K8s 클러스터의 컨테이너로 실행합니다. 이미 Kubernetes를 사용하고 있고 GPU 스케줄링, 분산 학습, 모델 서빙을 하나의 플랫폼에서 원하는 조직에 적합합니다. Airflow는 범용 워크플로우 오케스트레이터로 더 유연하지만 ML 특화 기능 설정에 더 많은 노력이 필요합니다.

피처 스토어란 무엇이고 Feast가 왜 중요한가요?

피처 스토어는 머신러닝 피처를 저장, 공유, 제공하는 중앙화된 저장소입니다. Feast는 학습-서빙 스큐 문제를 해결합니다. Feast를 사용하면 피처 뷰를 한 번 정의하고 feast apply로 적용한 뒤, 학습 배치 작업과 온라인 추론에서 store.get_online_features()로 동일한 피처를 검색할 수 있습니다.

BentoML과 Seldon Core의 차이는 무엇인가요?

BentoML은 파이썬 우선 프레임워크로 개발자 경험에 집중합니다. bentoml.sklearn.save_model()로 모델을 저장하고 @bentoml.service 클래스를 정의하면 BentoML이 컨테이너화를 자동으로 처리합니다. Seldon Core는 쿠버네티스 네이티브 오퍼레이터로 SeldonDeployment YAML 매니페스트를 작성해 모델을 배포합니다. 대규모 카나리 배포와 A/B 테스트가 필요한 엔터프라이즈 환경에 적합합니다.

Great Expectations는 MLOps 파이프라인에서 무엇을 하나요?

Great Expectations(GX)는 데이터를 자동으로 기대값과 비교하여 검증하는 데이터 품질 프레임워크입니다. 컬럼에 null이 없는지, 값이 예상 범위 내에 있는지, 스키마가 정의된 타입과 일치하는지 등을 확인합니다. 파이프라인에서 체크포인트를 실행하면 데이터 드리프트와 품질 문제를 프로덕션의 모델 성능 저하 전에 잡을 수 있습니다.

Label Studio와 CVAT은 언제 각각 사용해야 하나요?

Label Studio는 텍스트, 오디오, 이미지, 비디오, 시계열 데이터를 지원하는 범용 오픈소스 어노테이션 도구입니다. ML 백엔드를 통한 자동 사전 어노테이션도 지원합니다. CVAT는 컴퓨터 비전 작업에 특화되어 있으며, 객체 탐지와 포즈 추정 데이터셋을 위한 바운딩 박스 어노테이션, 폴리곤 세그먼테이션, 키포인트 레이블링에 탁월합니다.