모델 레지스트리

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
Status: Beta
note
모델 레지스트리는 베타입니다. 피드백 제공하기.

모델 레지스트리는 데이터 과학자 및 개발자가 기계 학습 모델과 이들의 생성에 관련된 모든 메타데이터(매개변수, 성능 메트릭, 아티팩트, 로그 등)를 관리할 수 있도록 합니다. 지원되는 기능의 전체 목록은 epic 9423를 참조하십시오.

모델 레지스트리에 접근하기

모델 레지스트리에 접근하려면, 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하십시오.

모델 레지스트리가 사용 불가능한 경우, 기능이 활성화되었는지 확인하십시오.

모델 레지스트리를 활성화하거나 가시성 수준을 공개 또는 비공개로 설정하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 설정 > 일반을 선택하십시오.
  3. 가시성, 프로젝트 기능, 권한을 확장하십시오.
  4. 모델 레지스트리에서 토글이 켜져 있는지 확인하고 접근할 사용자를 선택하십시오.
    사용자는 모델 및 모델 버전을 수정하거나 삭제하려면 적어도 리포터 역할을 가져야 합니다.

UI를 사용하여 기계 학습 모델 생성하기

GitLab UI를 사용하여 새로운 기계 학습 모델 및 모델 버전을 생성하려면:

  1. 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하십시오.
  2. 모델 레지스트리 페이지에서 모델 생성을 선택하십시오.
  3. 필드를 작성하십시오:
    • 모델의 고유한 이름을 입력하십시오.
    • 선택 사항. 모델에 대한 설명을 제공하십시오.
    • 선택 사항. 모델의 버전 및 버전 설명을 생성하십시오.
    • 모델과 관련된 파일, 로그, 메트릭 또는 매개변수를 업로드하십시오.
  4. 생성을 선택하십시오.

이제 새로 생성된 모델을 모델 레지스트리에서 볼 수 있습니다.

UI를 사용하여 모델 버전 생성하기

새로운 모델 버전을 생성하려면:

  1. 모델 세부정보 페이지에서 모델 버전 생성을 선택합니다.
  2. 필드를 작성하십시오:
    • 의미론적 버전 관리를 따르는 고유한 버전 번호를 입력하십시오.
    • 선택 사항. 모델 버전에 대한 설명을 제공하십시오.
    • 모델 버전과 관련된 파일, 로그, 메트릭 또는 매개변수를 업로드하십시오.
  3. 생성 및 가져오기를 선택하십시오.

새로운 모델 버전이 이제 모델 레지스트리에 사용 가능하게 됩니다.

모델 삭제하기

모델 및 모든 관련 버전을 삭제하려면:

  1. 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하십시오.
  2. 삭제하려는 모델을 찾습니다.
  3. 모델 이름을 선택하여 세부정보를 보십시오.
  4. 수직 점 3개 ( )를 선택하고 모델 삭제를 선택하십시오.
  5. 삭제를 확인하십시오.

모델 버전 삭제

모델 버전을 삭제하려면:

  1. 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택합니다.
  2. 삭제할 버전이 있는 모델을 찾습니다.
  3. 모델 이름을 선택하여 세부 정보를 봅니다.
  4. 버전 탭을 선택합니다.
  5. 세부 정보를 보려면 버전 이름을 선택합니다.
  6. 수직 생략 부호( )를 선택하고 모델 버전 삭제를 선택합니다.
  7. 삭제를 확인합니다.

모델 버전에 아티팩트 추가

모델 버전에 아티팩트를 추가하려면:

  1. 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택합니다.
  2. 모델을 찾습니다.
  3. 모델 이름을 선택하여 세부 정보를 봅니다.
  4. 버전 탭을 선택합니다.
  5. 버전 이름을 선택하여 세부 정보를 봅니다.
  6. 선택 사항. 업로드할 파일의 경로를 지정합니다. 예: config.
  7. 선택을 사용하여 업로드할 파일을 선택합니다.
  8. 업로드를 선택합니다.

또는 드래그 앤 드롭으로 파일을 드롭 영역에 놓을 수도 있습니다. 아티팩트는 자동으로 업로드됩니다.

모델 버전에서 아티팩트 삭제

버전의 아티팩트를 삭제하려면:

  1. 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택합니다.
  2. 모델을 찾습니다.
  3. 모델 이름을 선택하여 세부 정보를 봅니다.
  4. 버전 탭을 선택합니다.
  5. 버전 이름을 선택하여 세부 정보를 봅니다.
  6. 삭제할 각 아티팩트 옆의 상자를 선택합니다.
  7. 삭제를 선택합니다.
  8. 삭제를 확인합니다.

MLflow를 사용하여 머신러닝 모델 및 모델 버전 생성

모델 및 모델 버전은 MLflow 클라이언트 호환성을 사용하여 생성할 수 있습니다.

모델 및 모델 버전을 생성하고 관리하는 방법에 대한 자세한 내용은 MLflow 클라이언트 호환성을 참조하세요.

GitLab에서 모델 생성을 선택하여 모델을 직접 생성할 수도 있습니다.

MLflow를 사용하여 모델 버전에 아티팩트, 메트릭 및 매개변수 추가

파일은 다음을 사용하여 모델 버전에 업로드할 수 있습니다:

  • 모델 버전이 <model_name>/<model_version> 이름의 패키지와 연결된 패키지 레지스트리.
  • MLflow 클라이언트 호환성. 자세히 보기.

사용자는 MLflow 클라이언트 호환성을 통해 모델 버전의 메트릭과 매개변수를 기록할 수 있습니다. 자세히 보기.

모델 버전을 CI/CD 작업에 연결

GitLab CI/CD 작업을 통해 모델 버전을 생성할 때 모델 버전을 작업에 연결할 수 있으며, 작업의 로그, 병합 요청 및 파이프라인에 편리하게 접근할 수 있습니다.

이는 MLflow 클라이언트 호환성을 통해 수행할 수 있습니다. 자세히 보기.

모델 버전 및 시맨틱 버전 관리

GitLab의 모델 버전은 시맨틱 버전 사양을 따라야 합니다.

시맨틱 버전 관리를 사용하면 새로운 버전을 애플리케이션에 대한 변경 없이 배포할 수 있는지를 전달하여 모델 배포를 용이하게 합니다:

  • 주요 (정수): 주요 구성 요소의 변경은 모델의 브레이킹 변경을 의미하며, 이 모델을 사용하는 애플리케이션이 새 버전을 제대로 사용하려면 업데이트되어야 합니다. 새로운 알고리즘이나 필수 기능 열 추가는 주요 구성 요소를 증가시켜야 하는 브레이킹 변경의 예입니다.

  • 부 (정수): 부 구성 요소의 변경은 비브레이킹 변경을 의미하며 소비자는 새 버전을 안전하게 사용할 수 있지만, 소비자는 새 기능을 사용하기 위해 업데이트되어야 할 수 있습니다. 예를 들어, 기본값을 가진 비필수 기능 열을 모델에 추가하는 것은 부 변경으로, 추가된 열에 대한 값이 전달되지 않더라도 추론이 계속 작동합니다.

  • 패치 (정수): 패치 구성 요소의 변경은 애플리케이션에서 아무런 조치가 필요 없는 새 버전이 나왔음을 의미합니다. 예를 들어 모델을 매일 재훈련하는 것은 기능 집합이나 애플리케이션이 모델 버전을 사용하는 방식에 변화를 주지 않습니다. 새로운 패치로 자동 업데이트하는 것은 안전한 업데이트입니다.

  • 프리릴리스 (텍스트): 아직 생산 사용을 위한 준비가 되지 않은 버전을 나타냅니다. 모델의 알파, 베타 또는 릴리스 후보 버전을 식별하는 데 사용됩니다.

모델 버전 예제

  • 초기 릴리스: 1.0.0 - 변경 사항이나 패치가 없는 모델의 첫 번째 릴리스입니다.
  • 새로운 기능: 1.1.0 - 모델에 새 비파괴 기능이 추가되어 마이너 버전이 증가했습니다.
  • 버그 수정: 1.1.1 - 모델의 버그가 수정되어 패치 버전이 증가했습니다.
  • 파괴적 변경: 2.0.0 - 모델에 파괴적 변경이 이루어져 메이저 버전이 증가했습니다.
  • 패치 릴리스: 2.0.1 - 모델의 버그가 수정되어 패치 버전이 증가했습니다.
  • 프리릴리스: 2.0.1-alpha1 - 알파 릴리스를 포함한 모델의 프리릴리스 버전입니다.
  • 프리릴리스: 2.0.1-rc2 - 모델의 릴리스 후보 버전입니다.
  • 새로운 기능: 2.1.0 - 모델에 새로운 기능이 추가되어 마이너 버전이 증가했습니다.

관련 주제

  • 에픽 9423에서 개발 세부정보, 피드백 및 기능 요청.