- 모델 레지스트리에 접근하기
- UI를 사용하여 기계 학습 모델 생성하기
- UI를 사용하여 모델 버전 생성하기
- MLflow를 사용하여 머신러닝 모델 및 모델 버전 생성
- 모델 버전을 CI/CD 작업에 연결
- 모델 버전 및 시맨틱 버전 관리
- 관련 주제
모델 레지스트리
Status: Beta
- GitLab 16.8에서 실험 릴리즈로 도입됨 플래그에 이름이
model_registry
로 지정됨. 기본적으로 비활성화됨. 기능을 활성화하려면 관리자가 기능 플래그를 활성화할 수 있음model_registry
라는 이름의.- GitLab 17.1에서 베타로 변경됨.
모델 레지스트리는 데이터 과학자 및 개발자가 기계 학습 모델과 이들의 생성에 관련된 모든 메타데이터(매개변수, 성능 메트릭, 아티팩트, 로그 등)를 관리할 수 있도록 합니다. 지원되는 기능의 전체 목록은 epic 9423를 참조하십시오.
모델 레지스트리에 접근하기
모델 레지스트리에 접근하려면, 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하십시오.
모델 레지스트리가 사용 불가능한 경우, 기능이 활성화되었는지 확인하십시오.
모델 레지스트리를 활성화하거나 가시성 수준을 공개 또는 비공개로 설정하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 일반을 선택하십시오.
- 가시성, 프로젝트 기능, 권한을 확장하십시오.
-
모델 레지스트리에서 토글이 켜져 있는지 확인하고 접근할 사용자를 선택하십시오.
사용자는 모델 및 모델 버전을 수정하거나 삭제하려면 적어도 리포터 역할을 가져야 합니다.
UI를 사용하여 기계 학습 모델 생성하기
GitLab UI를 사용하여 새로운 기계 학습 모델 및 모델 버전을 생성하려면:
- 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하십시오.
- 모델 레지스트리 페이지에서 모델 생성을 선택하십시오.
- 필드를 작성하십시오:
- 모델의 고유한 이름을 입력하십시오.
- 선택 사항. 모델에 대한 설명을 제공하십시오.
- 선택 사항. 모델의 버전 및 버전 설명을 생성하십시오.
- 모델과 관련된 파일, 로그, 메트릭 또는 매개변수를 업로드하십시오.
- 생성을 선택하십시오.
이제 새로 생성된 모델을 모델 레지스트리에서 볼 수 있습니다.
UI를 사용하여 모델 버전 생성하기
새로운 모델 버전을 생성하려면:
- 모델 세부정보 페이지에서 모델 버전 생성을 선택합니다.
- 필드를 작성하십시오:
- 의미론적 버전 관리를 따르는 고유한 버전 번호를 입력하십시오.
- 선택 사항. 모델 버전에 대한 설명을 제공하십시오.
- 모델 버전과 관련된 파일, 로그, 메트릭 또는 매개변수를 업로드하십시오.
- 생성 및 가져오기를 선택하십시오.
새로운 모델 버전이 이제 모델 레지스트리에 사용 가능하게 됩니다.
모델 삭제하기
모델 및 모든 관련 버전을 삭제하려면:
- 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택하십시오.
- 삭제하려는 모델을 찾습니다.
- 모델 이름을 선택하여 세부정보를 보십시오.
- 수직 점 3개 ()를 선택하고 모델 삭제를 선택하십시오.
- 삭제를 확인하십시오.
모델 버전 삭제
모델 버전을 삭제하려면:
- 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택합니다.
- 삭제할 버전이 있는 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- 버전 탭을 선택합니다.
- 세부 정보를 보려면 버전 이름을 선택합니다.
- 수직 생략 부호()를 선택하고 모델 버전 삭제를 선택합니다.
- 삭제를 확인합니다.
모델 버전에 아티팩트 추가
모델 버전에 아티팩트를 추가하려면:
- 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택합니다.
- 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- 버전 탭을 선택합니다.
- 버전 이름을 선택하여 세부 정보를 봅니다.
- 선택 사항. 업로드할 파일의 경로를 지정합니다. 예:
config
. - 선택을 사용하여 업로드할 파일을 선택합니다.
- 업로드를 선택합니다.
또는 드래그 앤 드롭으로 파일을 드롭 영역에 놓을 수도 있습니다. 아티팩트는 자동으로 업로드됩니다.
모델 버전에서 아티팩트 삭제
버전의 아티팩트를 삭제하려면:
- 왼쪽 사이드바에서 배포 > 모델 레지스트리를 선택합니다.
- 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- 버전 탭을 선택합니다.
- 버전 이름을 선택하여 세부 정보를 봅니다.
- 삭제할 각 아티팩트 옆의 상자를 선택합니다.
- 삭제를 선택합니다.
- 삭제를 확인합니다.
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에서 개발 세부정보, 피드백 및 기능 요청.