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