모델 레지스트리

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated Status: Beta
  • GitLab 16.8실험으로 model_registry란 플래그로 출시되었습니다. 기본적으로 비활성화됨. 기능을 활성화하려면 관리자가 model_registry란 플래그를 활성화할 수 있습니다.
  • GitLab 17.1에서 베타로 변경되었습니다.
note
모델 레지스트리는 베타 단계에 있습니다. 피드백을 제공하세요.

모델 레지스트리를 통해 데이터 과학자와 개발자는 기계 학습 모델을 관리하고, 생성된 모든 메타데이터와 함께 매개변수, 성능 메트릭, 아티팩트, 로그 등을 포함하여 관리할 수 있습니다. 지원되는 기능의 전체 목록은 epic 9423을 참조하세요.

모델 레지스트리에 액세스

모델 레지스트리에 액세스하려면 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하세요.

모델 레지스트리가 표시되지 않는 경우 활성화되었는지 확인하세요.

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

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

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

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

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

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

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

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

  1. 모델 상세 페이지에서 모델 버전 생성을 선택하세요.
  2. 필드를 완성하세요:
    • 시맨틱 버전을 따라 고유한 버전 번호를 입력하세요.
    • 모델 버전에 대한 설명을 제공하세요(선택 사항).
    • 모델 버전과 관련된 파일, 로그, 메트릭 또는 매개변수를 업로드하세요.
  3. 생성 및 가져오기을 선택하세요.

새로운 모델 버전은 이제 모델 레지스트리에서 사용할 수 있습니다.

모델 삭제

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

  1. 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하세요.
  2. 삭제하려는 모델을 찾으세요.
  3. 모델 이름을 선택하여 세부 정보를 보세요.
  4. 수직 줄기호()와 모델 삭제를 선택하세요.
  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 클라이언트 호환성을 통해 수행할 수 있습니다. 세부 사항 보기.

모델 버전 및 의미론적 버전

모델 버전의 버전은 의미론적 버전 규격을 따라야합니다. 의미론적 버전을 사용하면 새 버전이 응용 프로그램의 변경 없이 배포될 수 있는지를 전달하여 모델 배포를 용이하게합니다.

  • 주요 (정수): 주요 구성 요소의 변경은 모델에서 파괴적인 변경을 나타내며, 모델을 소비하는 응용 프로그램이 이 새 버전을 올바르게 사용하려면 업데이트되어야 함을 나타냅니다. 새 알고리즘 또는 필수 기능 열이 추가되는 것은 주요 변경의 예시입니다.

  • 부수적(정수): 부수 구성 요소의 변경은 업데이트되어도 응용 프로그램이 파산하지 않는 비파괴적인 변경을 나타내며, 소비자가 새 기능을 사용하기 위해 업데이트 해야 할 수도 있음을 의미합니다. 예를 들어, 기본값이 있는 비필수 기능 열을 추가하는 것은 부수적인 업데이트입니다. 새로 추가된 열에 값이 전달되지 않으면 추론은 여전히 작동합니다.

  • 패치(정수): 패치 구성 요소의 변경은 응용 프로그램으로 인한 조치가 필요 없는 새 버전이 나옴을 의미합니다. 예를 들어, 모델의 일일 다시 교육은 기능 집합이나 응용 프로그램이 모델 버전을 소비하는 방식을 변경하지 않습니다. 새로운 패치로 자동 업데이트 하는 것은 안전한 업데이트입니다.

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

모델 버전 예시

  • 초기 릴리스: 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 - 모델에 새 기능이 추가되어 마이너 버전이 증가함.

관련 주제

  • epic 9423의 개발 세부 정보, 피드백 및 기능 요청