AI/MLOps

    [MLflow] MLflow Project와 Model의 차이

    MLflow 에서 제공하는 기능 중 Project와 Model의 정확한 차이를 이해하지 못하는 분들이 간혹 있다. 처음 접하게 되면 차이가 어려울 수 있다. Project와 Model 모두 패키징을 제공하는 방법 같은데 왜 나뉘어져 있는지 의문이 들 수 있을 것 이다. 그래서 간략하게 정리해 보려고 한다. MLflow Project는 재사용 가능한 데이터 사이언스 코드의 패키징을 위한 표준 포맷이다. 이해하기 어려운 설명 같다. 좀 더 상세히 설명해 보면, 각 Project는 단순히 코드 또는 Git repository가 있는 디렉토리이며, 디스크립터 파일 또는 단순한 규칙을 사용하여 종속성과 코드 실행방법을 지정한다. 특정 데이터 과학 또는 기계학습 프로젝트와 관련된 코드를 패키징하는 표준화된 방법이다..

    [MLflow] #5. MLflow Model Registry

    [MLflow] #5. MLflow Model Registry

    MLflow 플랫폼은 크게 MLflow Tracking, MLflow Projects, MLflow Models, MLflow Model Registry의 컴포넌트로 구성된다. 이 글에서는 그 중 MLflow Tracking 기능에 대해서 정리한다. MLflow Model Registry의 기본적인 기능은 아래와 같다. MLflow Model Registry MLflow 모델의 전체 수명 주기를 공동으로 관리하기 위한 중앙 집중식 모델 스토어, API 및 UI 모음 모델 계보(MLflow 실험 및 실행이 모델을 생성함), 모델 버전 관리, 단계 전환(예: 스테이징에서 프로덕션으로) 및 주석을 제공. 단순하게 설명하면 $Model Registry$ 는 이름에서 파악이 되듯 모델의 저장소 역할을 한다. 모델..

    [MLflow] #4. MLflow Projects 정리하기

    [MLflow] #4. MLflow Projects 정리하기

    MLflow 플랫폼은 크게 MLflow Tracking, MLflow Projects, MLflow Models, MLflow Model Registry의 컴포넌트로 구성된다. 이 글에서는 그 중 MLflow Projects 기능에 대해서 정리한다. MLflow Projects 의 기본적인 기능은 아래와 같다. MLflow Projects 머신러닝 코드를 재사용 가능하고 재현 가능한 형태로 패키징 -> 어떤 플랫폼에서도 재현가능하도록 지원 포장된 형태를 다른 데이터 사이언티스트와 공유하거나 프러덕션에 반영 프로젝트를 실행하기 위한 API와 명령줄 도구가 포함되어 있어 프로젝트를 워크플로우로 연결할 수 있는 기능 제공 기업에서는 다양한 머신러닝 학습 도구 세트를 활용하고 있고 이러한 학습도구를 다양한 환경..

    [MLflow] #3. MLflow Model 정리하기

    [MLflow] #3. MLflow Model 정리하기

    MLflow 플랫폼은 크게 MLflow Tracking, MLflow Projects, MLflow Model, MLflow Model Registry의 컴포넌트로 구성된다. 이 글에서는 그 중 MLflow Models 기능에 대해서 정리한다. MLflow Models 의 기본적인 기능은 아래와 같다. MLflow Model 머신러닝 모델을 패키징하고 서빙할 수 있는 표준화 방법 제공 동일한 모델을 AWS, Apache Spark 등 으로 쉽게 배치할 수 있도록 지원 다양한 다운스트림 도구(예: REST API를 통한 실시간 제공 또는 Apache Spark의 추론)에서 사용할 수 있는 기계 학습 모델을 패키징하기 위한 표준 형식 이 형식은 모델을 다른 하위 도구에서 이해할 수 있는 다양한 "flavor..

    [MLflow] #2. Tracking 기능 사용해보기

    [MLflow] #2. Tracking 기능 사용해보기

    MLflow 플랫폼은 크게 MLflow Tracking, MLflow Projects, MLflow Models, MLflow Model Registry의 컴포넌트로 구성된다. 이 글에서는 그 중 MLflow Tracking 기능에 대해서 정리한다. MLflow Tracking의 기본적인 기능은 아래와 같다. 기계 학습 코드를 실행할 때 파라미터, 코드 버전, 메트릭 및 결과 파일을 기록 나중에 결과를 시각화하기 위한 API 및 UI를 제공한다 MLflow Tracking의 컨셉 MLflow Tracking은 `runs(실행)` 의 개념을 사용한다. 각 실행은 아래와 같은 정보를 기록한다. Code Version 실행에 사용된 Git commit hash 값. (MLflow Project에 의해 실행 시..

    [MLflow] #1. MLflow 개요 정리

    [MLflow] #1. MLflow 개요 정리

    최근 시스템 프로그래머 직무에서 AI / 데이터 분석 쪽으로 직무를 변경하면서 새로운 지식들을 쌓아가고 있다. 그 중 팀 내에 MLflow를 적용하려는 움직임이 있어서 공부 겸 MLflow 정리를 진행한다. 시작하기 전에 머신러닝 프로젝트를 진행하다보면 많은 어려움이 많다. 머신러닝 프로젝트는 관리가 필요한 요소가 너무나 많다. 학습에 사용된 데이터 모델에 사용된 파라미터 모델에 사용된 Feature 실험 결과 저장 장소 및 히스토리 학습된 모델의 버전 관리 학습에 사용된 코드 버전 위 요소 외에도 관리해야 할 요소들이 매우 많다. 이러한 요소들을 로컬환경에서 개인별로 관리하는 것이 아닌 중앙 서버에서 관리해준다면 매우 편리할 것이다. 그리고 모델을 배포하는 것에도 난이도가 있다. 머신러닝 개발자마다 k..