InfoGrab DocsInfoGrab Docs

Model Registry

MLOps 라이프사이클에서 모델 버전을 관리하는 Model Registry의 데이터 토폴로지와 MLflow 호환 레이어에 대해 설명합니다.

Model Registry는 모델 버전 관리를 담당하는 MLOps 라이프사이클의 구성 요소입니다. 아티팩트 추적에 그치지 않고, 각 모델과 관련된 메타데이터도 추적하는 역할을 합니다. 예를 들면 다음과 같습니다: 성능(Performance) 파라미터(Parameters) 데이터 계보(Data lineage) 데이터 토폴로지 # 모든 엔티티는 프로젝트에 속하며, 해당 프로젝트에 접근 권한이 있는 사용자만 엔티티와 상호 작용할 수 있습니다. Ml::Model # 이름 및 설명과 같이 모델에 대한 일반 정보를 보유합니다. 각 모델에는 동일한 이름을 가진 기본 Ml::Experiment 가 있으며, 이 실험에 candidates가 기록됩니다. 여러 개의 Ml::ModelVersion 을 가집니다. Ml::ModelVersion # 모델의 버전입니다. 동일한 프로젝트, 이름, 버전을 가진 Packages::Package 와 연결됩니다. 버전은 시맨틱 버저닝(semantic versioning)을 사용해야 합니다. Ml::Experiment # 비교 가능한 Ml::Candidates 의 컬렉션입니다. Ml::Candidate # 모델 버전의 후보(candidate)입니다. 여러 파라미터( Ml::CandidateParams )를 가질 수 있으며, 이는 일반적으로 훈련 코드에 전달되는 구성 변수입니다. 여러 성능 지표( Ml::CandidateMetrics )를 가질 수 있습니다. 여러 사용자 정의 메타데이터( Ml::CandidateMetadata )를 가질 수 있습니다. MLflow 호환 레이어 # 데이터 사이언티스트가 GitLab Model Registry를 더 쉽게 사용할 수 있도록, MLflow 클라이언트 와의 호환 레이어를 제공합니다. GitLab은 별도의 MLflow 인스턴스를 제공하지 않습니다. 대신, GitLab 자체가 MLflow의 인스턴스로 동작합니다. 이 방식은 데이터를 GitLab 데이터베이스에 저장하여 사용자의 신뢰성과 기능성을 향상시킵니다. 호환 레이어에 관한 사용자 문서 를 참조하세요. 호환 레이어는 lib/api/ml/mlflow 에서 MLflow REST API 를 복제하는 방식으로 구현되어 있습니다. MLflow의 일부 용어는 GitLab에서 다르게 명명됩니다: MLflow의 Run 은 GitLab에서 Candidate 입니다. MLflow의 Registered model 은 GitLab에서 Model 입니다. 테스트 환경 설정 # GitLab을 백엔드로 사용하여 MLflow 스크립트를 테스트하려면: MLflow를 설치합니다: mkdir mlflow-compatibility cd mlflow-compatibility pip install mlflow jupyterlab 해당 디렉터리에 mlflow_test.py 라는 이름의 Python 파일을 만들고 다음 코드를 작성합니다: import mlflow import os from mlflow.tracking import MlflowClient os.environ["MLF