머신러닝 모델을 개발하는 것은 비즈니스 가치를 창출하는 여정의 시작일 뿐입니다. 실제로 모델을 프로덕션 환경에 배포하고 지속적으로 모니터링하며 필요에 따라 업데이트하는 과정은 더 많은 도전 과제를 수반합니다. 이러한 도전을 해결하기 위해 등장한 것이 바로 MLOps입니다. 이 글에서는 MLOps의 기본 개념과 데이터브릭스 플랫폼에서 MLOps가 어떻게 구성되고 운영되는지 알아보겠습니다.
MLOps(Machine Learning Operations)는 머신러닝(ML)과 운영(Operations)을 결합한 용어로, 프로덕션 환경에서 머신러닝 모델이 지속적이고 안정적으로 배포되도록 하는 일련의 관행과 프로세스를 의미합니다. 간단히 말해 MLOps = DevOps + DataOps + ModelOps라고 볼 수 있습니다.
머신러닝 시스템을 프로덕션 환경에 배포하는 것은 생각보다 복잡합니다. 머신러닝 수명 주기는 데이터 수집, 데이터 준비, 모델 훈련, 모델 조정, 모델 배포, 모델 모니터링, 설명 가능성 등 다양한 구성 요소가 포함되어 있습니다. 또한 데이터 엔지니어링부터 데이터 사이언스, ML 엔지니어링에 이르기까지 여러 팀 간의 협업이 필요합니다.
이러한 복잡한 프로세스를 동기화하고 협력적으로 유지하기 위해서는 엄격한 운영 원칙이 필요하며, MLOps는 이러한 머신러닝 수명 주기의 실험, 반복, 지속적 개선을 포괄합니다.
MLOps의 범위는 프로젝트의 필요에 따라 달라질 수 있지만, 대부분의 기업에서 MLOps 원칙을 활용하는 주요 분야는 다음과 같습니다:
데이터브릭스는 레이크하우스 아키텍처를 기반으로 MLOps를 간소화하는 통합 플랫폼을 제공합니다. 레이크하우스는 데이터 레이크와 데이터 웨어하우스의 기능을 결합한 아키텍처로, MLOps를 위한 이상적인 기반을 제공합니다.
데이터브릭스의 MLOps 아키텍처는 크게 세 가지 환경으로 구분됩니다:
각 환경은 코드, 데이터, 모델에 대한 고유한 의미 체계를 가지고 있으며, 환경 간 전환은 명확하게 정의된 프로세스를 통해 이루어집니다.
개발 단계의 초점은 실험입니다. 데이터 과학자는 다음과 같은 작업을 수행합니다:
데이터브릭스는 AutoML을 통해 기준 모델을 빠르게 생성하고, MLflow를 통해 실험 과정을 추적할 수 있는 기능을 제공합니다.
스테이징 단계의 초점은 ML 파이프라인 코드를 테스트하여 프로덕션 준비가 되었는지 확인하는 것입니다:
데이터브릭스는 이러한 테스트를 자동화하기 위한 CI/CD 통합 기능을 제공합니다.
프로덕션 단계에서는 검증된 모델이 실제 환경에 배포되고 모니터링됩니다:
데이터브릭스의 MLflow Model Registry와 Lakehouse 모니터링은 이러한 프로덕션 프로세스를 간소화합니다.
데이터브릭스 플랫폼은 MLOps를 위한 다음과 같은 핵심 구성 요소를 제공합니다:
MLflow: 모델 실험, 추적, 패키징, 배포를 위한 오픈소스 플랫폼
Delta Lake: 데이터 레이크에 신뢰성, 성능, 품질을 제공하는 오픈소스 스토리지 계층
Unity Catalog: 조직 전체의 데이터, 테이블, 모델, 대시보드에 대한 통합 거버넌스 제공
Feature Store: 피처 개발, 공유, 검색, 관리를 위한 중앙 집중식 저장소
Databricks 워크플로: ML 파이프라인 오케스트레이션 및 자동화를 위한 도구
Model Serving: REST API 엔드포인트를 통한 모델 배포 및 서비스 제공
이러한 구성 요소들은 코드, 데이터, 모델의 공동 관리를 간소화하며, DevOps, DataOps, ModelOps를 통합하는 완전한 MLOps 솔루션을 제공합니다.
최근 대규모 언어 모델(LLM)의 등장으로 MLOps는 새로운 도전에 직면하고 있습니다. 데이터브릭스에서는 기존 MLOps와 다른 LLMOps의 특성을 다음과 같이 제시합니다:
데이터브릭스는 이러한 LLMOps의 특수한 요구사항을 지원하기 위한 LLMOps 워크플로를 함께 제공합니다.
MLOps는 머신러닝 모델의 개발부터 배포, 모니터링, 재훈련까지의 전체 수명주기를 관리하는 필수적인 프레임워크입니다. 데이터브릭스는 레이크하우스 아키텍처를 기반으로 코드, 데이터, 모델의 통합 관리를 제공하여 MLOps 구현을 간소화합니다.
데이터브릭스의 MLOps 솔루션은 개발, 스테이징, 프로덕션의 세 가지 환경으로 구성되며, MLflow, Delta Lake, Unity Catalog 등의 구성 요소를 통해 종합적인 ML 수명주기 관리를 가능하게 합니다. 특히 MLflow를 중심으로 한 모델 관리 및 전체 ML 파이프라인 관리 기능은 기업이 효율적이고 확장 가능한 ML 시스템을 구축하는 데 크게 기여합니다.
데이터브릭스의 이러한 MLOps 접근 방식은 데이터 사이언티스트, ML 엔지니어, 데이터 엔지니어 간의 협업을 촉진하고, 머신러닝 모델이 실제 비즈니스 가치를 창출하는 시간을 단축시키는 데 중요한 역할을 합니다.
참고 자료: