모델 레지스트리
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
머신 러닝 모델 레지스트리는 머신 러닝 모델을 라이프사이클 전반에 걸쳐 관리하기 위한 중앙 집중식 저장소 역할을 합니다. GitLab 모델 레지스트리를 사용하면 다음을 수행할 수 있습니다: 모델 레지스트리 기능과 기능에 대한 자세한 내용은 에픽 9423을 참조하세요.
히스토리
머신 러닝 모델 레지스트리는 머신 러닝 모델을 라이프사이클 전반에 걸쳐 관리하기 위한 중앙 집중식 저장소 역할을 합니다. 성능 지표, 검증 결과, 데이터 계보 정보를 포함한 필수 메타데이터와 함께 모델 버전을 저장하는 특수 데이터베이스처럼 기능합니다.
GitLab 모델 레지스트리를 사용하면 다음을 수행할 수 있습니다:
- 머신 러닝 모델을 체계적으로 등록하고 버전 관리합니다
- 성능 지표, 매개변수, 데이터 계보를 포함한 포괄적인 메타데이터를 추적합니다
- 모델 버전을 비교하고 시간에 따른 발전을 모니터링합니다
- 모델 동작 및 요구사항에 대한 명확한 문서를 유지합니다
모델 레지스트리 기능과 기능에 대한 자세한 내용은 에픽 9423을 참조하세요.
모델 레지스트리 접근#
모델 레지스트리는 패키지 레지스트리 설정에 의해 제어됩니다. 모델 레지스트리를 사용하기 전에 패키지 레지스트리가 활성화되어 있는지 확인하세요.
모델 레지스트리에 접근하려면 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
Model registry를 사용할 수 없는 경우 활성화되어 있는지 확인하세요.
모델 레지스트리를 활성화하거나 가시성 수준을 공개 또는 비공개로 설정하려면:
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- Visibility, project features, permissions를 펼칩니다.
- Model registry 아래에서 토글이 켜져 있는지 확인하고 접근 권한을 부여할 사용자를 선택합니다. 사용자는 모델 및 모델 버전을 수정하거나 삭제하려면 최소한 Reporter 역할이 있어야 합니다.
UI를 사용하여 머신 러닝 모델 생성#
GitLab UI를 사용하여 새 머신 러닝 모델을 생성하려면:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- Model registry 페이지에서 다음 중 하나를 수행합니다:
- 모델이 없는 경우 Create model을 선택합니다.
- 오른쪽 상단 모서리에서 Create/Import model을 선택한 다음 드롭다운 목록에서 Create new model을 선택합니다.
- 필드를 작성합니다:
- 모델 이름에 고유한 이름을 입력합니다.
- 선택 사항. 모델에 대한 설명을 제공합니다.
- Create를 선택합니다.
모델 레지스트리에서 새로 생성된 모델을 볼 수 있습니다.
UI를 사용하여 모델 버전 생성#
새 모델 버전을 생성하려면:
- 모델 세부 정보 페이지에서 Create new version을 선택합니다.
- 필드를 작성합니다:
- 시맨틱 버전 관리를 따르는 고유한 버전 번호를 입력합니다.
- 선택 사항. 모델 버전에 대한 설명을 제공합니다.
- 모델 버전과 관련된 파일, 로그, 지표 또는 매개변수를 업로드합니다.
- Create & import를 선택합니다.
새 모델 버전이 이제 모델 레지스트리에서 사용 가능합니다.
모델 삭제#
모델과 관련된 모든 버전을 삭제하려면:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- 삭제할 모델을 찾습니다.
- 가장 오른쪽 열에서 세로 줄임표 (⋮)를 선택하고 Delete model을 선택합니다.
또는 모델 세부 정보 페이지에서 모델을 삭제할 수 있습니다:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- 삭제할 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- 세로 줄임표 (⋮)를 선택하고 Delete model을 선택합니다.
- 삭제를 확인합니다.
모델 버전 삭제#
모델 버전을 삭제하려면:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- 삭제할 버전이 있는 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- Versions 탭을 선택합니다.
- 삭제할 모델 버전을 찾습니다.
- 가장 오른쪽 열에서 세로 줄임표 (⋮)를 선택하고 Delete version을 선택합니다.
또는 모델 버전 세부 정보 페이지에서 모델을 삭제할 수 있습니다:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- 삭제할 버전이 있는 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- Versions 탭을 선택합니다.
- 버전 이름을 선택하여 세부 정보를 봅니다.
- 세로 줄임표 (⋮)를 선택하고 Delete version을 선택합니다.
- 삭제를 확인합니다.
모델 버전에 아티팩트 추가#
모델 버전에 아티팩트를 추가하려면:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- Versions 탭을 선택합니다.
- 버전 이름을 선택하여 세부 정보를 봅니다.
- Artifacts 탭을 선택합니다.
- 선택 사항. 파일을 업로드할 하위 폴더 경로를 지정합니다. 예를 들어
config. - select를 사용하여 업로드할 파일을 선택합니다.
- Upload를 선택합니다.
또는 드롭 영역에 파일을 드래그 앤 드롭할 수 있습니다. 아티팩트가 자동으로 업로드됩니다.
각 파일의 크기 제한은 5 GB이므로 더 큰 모델은 분할해야 합니다.
모델 버전에서 아티팩트 삭제#
버전의 아티팩트를 삭제하려면:
- 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
- 모델을 찾습니다.
- 모델 이름을 선택하여 세부 정보를 봅니다.
- Versions 탭을 선택합니다.
- 버전 이름을 선택하여 세부 정보를 봅니다.
- Artifacts 탭을 선택합니다.
- 삭제할 각 아티팩트 옆의 상자를 선택합니다.
- Delete를 선택합니다.
- 삭제를 확인합니다.
MLflow를 사용하여 머신 러닝 모델 및 모델 버전 생성#
MLflow 클라이언트 호환성을 사용하여 모델과 모델 버전을 생성할 수 있습니다. 모델과 모델 버전을 생성하고 관리하는 방법에 대한 자세한 내용은 MLflow 클라이언트 호환성을 참조하세요. Model registry 페이지에서 Create model을 선택하여 GitLab에서 직접 모델을 생성할 수도 있습니다.
MLflow를 사용하여 모델 버전에 아티팩트, 지표, 매개변수 추가#
파일은 다음 방법으로 모델 버전에 업로드할 수 있습니다:
- 모델 버전이
<model_name>/<model_version>이름의 패키지와 연결되는 패키지 레지스트리. - MLflow 클라이언트 호환성. 세부 정보 보기.
사용자는 MLflow 클라이언트 호환성을 통해 모델 버전의 지표와 매개변수를 기록할 수 있습니다. 세부 정보 참조
모델 버전을 CI/CD 작업에 연결#
GitLab CI/CD 작업을 통해 모델 버전을 생성할 때 모델 버전을 해당 작업에 연결하여 작업의 로그, 머지 리퀘스트 및 파이프라인에 편리하게 접근할 수 있습니다. MLflow 클라이언트 호환성을 통해 이 작업을 수행할 수 있습니다. 세부 정보 보기.
모델 버전과 시맨틱 버전 관리#
GitLab의 모델 버전 버전은 시맨틱 버전 사양을 따라야 합니다. 시맨틱 버전 관리를 사용하면 새 버전을 애플리케이션 변경 없이 배포할 수 있는지 전달하여 모델 배포를 용이하게 합니다:
-
Major (정수): 주 구성 요소의 변경은 모델의 호환성이 깨지는 변경 사항을 나타내며, 모델을 소비하는 애플리케이션이 이 새 버전을 올바르게 사용하기 위해 업데이트되어야 합니다. 새 알고리즘이나 필수 특성 열 추가는 주 구성 요소 버전 업을 필요로 하는 호환성이 깨지는 변경의 예시입니다.
-
Minor (정수): 부 구성 요소의 변경은 호환성이 깨지지 않는 변경 사항을 나타내며, 소비자가 중단 없이 새 버전을 안전하게 사용할 수 있지만 새 기능을 사용하기 위해 소비자를 업데이트해야 할 수 있습니다. 예를 들어, 기본값이 있는 비필수 특성 열을 모델에 추가하는 것은 부 버전 업입니다. 추가된 열의 값이 전달되지 않을 때 추론이 계속 작동하기 때문입니다.
-
Patch (정수): 패치 구성 요소의 변경은 애플리케이션의 조치가 필요 없는 새 버전이 출시되었음을 의미합니다. 예를 들어, 모델의 일일 재훈련은 특성 집합이나 애플리케이션이 모델 버전을 소비하는 방식을 변경하지 않습니다. 새 패치로 자동 업데이트는 안전한 업데이트입니다.
-
Prerelease (텍스트): 프로덕션 사용 준비가 되지 않은 버전을 나타냅니다. 모델의 알파, 베타 또는 릴리스 후보 버전을 식별하는 데 사용됩니다.
모델 버전 예시#
- 최초 릴리스: 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 - 모델에 새 기능이 추가되어 부 버전이 증가.
