InfoGrab DocsInfoGrab Docs

모델 레지스트리

요약

머신 러닝 모델 레지스트리는 머신 러닝 모델을 수명 주기 전반에 걸쳐 관리하는 중앙 집중식 리포지터리입니다. GitLab 모델 레지스트리로 다음을 수행합니다. 모델 레지스트리의 기능과 역량에 대한 자세한 내용은 에픽 9423을 참고합니다.

히스토리

머신 러닝 모델 레지스트리는 머신 러닝 모델을 수명 주기 전반에 걸쳐 관리하는 중앙 집중식 리포지터리입니다. 성능 지표, 검증 결과, 데이터 계보 정보 같은 필수 메타데이터와 함께 모델 버전을 저장하는 전용 데이터베이스처럼 동작합니다.

GitLab 모델 레지스트리로 다음을 수행합니다.

  • 머신 러닝 모델을 체계적으로 등록하고 버전 관리
  • 성능 지표, 매개변수, 데이터 계보를 포함한 메타데이터 전반 추적
  • 모델 버전 비교 및 시간에 따른 변화 모니터링
  • 모델 동작과 요구 사항에 대한 명확한 문서화 유지

모델 레지스트리의 기능과 역량에 대한 자세한 내용은 에픽 9423을 참고합니다.

모델 레지스트리 접근#

모델 레지스트리는 패키지 레지스트리 설정으로 제어됩니다. 모델 레지스트리를 사용하기 전에 패키지 레지스트리가 활성화되어 있는지 확인합니다.

모델 레지스트리에 접근하려면 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.

Model registry를 사용할 수 없다면 해당 기능이 활성화되어 있는지 확인합니다.

모델 레지스트리를 활성화하거나 공개 수준을 public 또는 private으로 설정하려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Visibility, project features, permissions를 확장합니다.
  4. Model registry 아래에서 토글이 켜져 있는지 확인하고 접근을 허용할 대상을 선택합니다. 모델과 모델 버전을 수정하거나 삭제하려면 최소 Reporter 권한이 필요합니다.

UI를 사용하여 머신 러닝 모델 생성#

GitLab UI로 새 머신 러닝 모델을 생성하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. Model registry 페이지에서 다음 중 하나를 수행합니다.
    • 아직 모델이 없다면 Create model을 선택합니다.
    • 오른쪽 상단에서 Create/Import model을 선택한 다음 드롭다운 목록에서 Create new model을 선택합니다.
  3. 다음 필드를 입력합니다.
    • 모델의 고유한 이름을 입력합니다.
    • 선택 사항. 모델 설명을 입력합니다.
  4. Create를 선택합니다.

이제 모델 레지스트리에서 새로 생성한 모델을 확인할 수 있습니다.

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

새 모델 버전을 생성하려면 다음 단계를 따릅니다.

  1. 모델 상세 페이지에서 Create new version을 선택합니다.
  2. 다음 필드를 입력합니다.
    • 시맨틱 버전 관리를 따르는 고유한 버전 번호를 입력합니다.
    • 선택 사항. 모델 버전 설명을 입력합니다.
    • 모델 버전과 연관된 파일, 로그, 지표, 매개변수를 업로드합니다.
  3. Create & import를 선택합니다.

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

모델 삭제#

모델과 그에 연결된 모든 버전을 삭제하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 모델을 찾습니다.
  3. 가장 오른쪽 칼럼에서 세로 줄임표(⋮)를 선택한 다음 Delete model을 선택합니다.

또는 모델 상세 페이지에서 모델을 삭제할 수 있습니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. 세로 줄임표(⋮)를 선택한 다음 Delete model을 선택합니다.
  5. 삭제를 확인합니다.

모델 버전 삭제#

모델 버전을 삭제하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 버전이 있는 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 삭제하려는 모델 버전을 찾습니다.
  6. 가장 오른쪽 칼럼에서 세로 줄임표(⋮)를 선택한 다음 Delete version을 선택합니다.

또는 모델 버전 상세 페이지에서 모델을 삭제할 수 있습니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 버전이 있는 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 버전 이름을 선택해 상세 정보를 확인합니다.
  6. 세로 줄임표(⋮)를 선택한 다음 Delete version을 선택합니다.
  7. 삭제를 확인합니다.

모델 버전에 아티팩트 추가#

모델 버전에 아티팩트를 추가하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 버전 이름을 선택해 상세 정보를 확인합니다.
  6. Artifacts 탭을 선택합니다.
  7. 선택 사항. 파일을 업로드할 하위 폴더 경로를 지정합니다. 예를 들어 config 입니다.
  8. select로 업로드할 파일을 고릅니다.
  9. Upload를 선택합니다.

또는 드롭 영역에 파일을 끌어다 놓을 수 있습니다. 아티팩트가 자동으로 업로드됩니다.

파일 하나의 크기 제한은 5GB 이므로, 더 큰 모델은 분할해야 합니다.

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

버전의 아티팩트를 삭제하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 버전 이름을 선택해 상세 정보를 확인합니다.
  6. Artifacts 탭을 선택합니다.
  7. 삭제하려는 각 아티팩트 옆의 상자를 선택합니다.
  8. Delete를 선택합니다.
  9. 삭제를 확인합니다.

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

MLflow 클라이언트 호환성을 사용해 모델과 모델 버전을 생성할 수 있습니다. 모델과 모델 버전을 생성하고 관리하는 방법은 MLflow 클라이언트 호환성을 참고합니다. Model registry 페이지에서 Create model을 선택해 GitLab에서 직접 모델을 생성할 수도 있습니다.

MLflow를 사용하여 모델 버전에 아티팩트, 지표, 매개변수 추가#

모델 버전에 파일을 업로드하는 방법은 다음과 같습니다.

  • 패키지 레지스트리. 이때 모델 버전은 <model_name>/<model_version> 이름의 패키지에 연결됩니다.
  • MLflow 클라이언트 호환성. 상세 정보 보기.

MLflow 클라이언트 호환성을 통해 모델 버전의 지표와 매개변수를 기록할 수 있습니다. 상세 정보 보기.

모델 버전을 CI/CD job에 연결#

GitLab CI/CD job으로 모델 버전을 생성할 때 모델 버전을 해당 job에 연결하면 job의 로그, 머지 리퀘스트, 파이프라인에 간편하게 접근할 수 있습니다. 이 작업은 MLflow 클라이언트 호환성으로 수행합니다. 상세 정보 보기.

모델 버전과 시맨틱 버전 관리#

GitLab의 모델 버전은 시맨틱 버전 사양을 따라야 합니다. 시맨틱 버전 관리를 사용하면 애플리케이션을 변경하지 않고도 새 버전을 배포할 수 있는지 알 수 있어 모델 배포가 수월해집니다.

  • Major(정수): major 구성 요소가 바뀌면 모델에 브레이킹 체인지가 있다는 뜻이며, 해당 모델을 사용하는 애플리케이션을 새 버전에 맞게 업데이트해야 합니다. 새로운 알고리즘이나 필수 피처 칼럼 추가가 major 구성 요소를 올려야 하는 브레이킹 체인지의 예입니다.

  • Minor(정수): minor 구성 요소가 바뀌면 브레이킹 체인지가 아니라는 뜻이며, 소비자는 문제 없이 새 버전을 사용할 수 있습니다. 다만 새 기능을 사용하려면 소비자를 업데이트해야 할 수 있습니다. 예를 들어 기본값이 있는 비필수 피처 칼럼을 모델에 추가하는 것은 minor를 올리는 변경입니다. 추가된 칼럼의 값을 전달하지 않아도 추론이 그대로 동작하기 때문입니다.

  • Patch(정수): patch 구성 요소가 바뀌면 애플리케이션에서 별도 조치가 필요 없는 새 버전이 나왔다는 뜻입니다. 예를 들어 모델을 매일 재학습해도 피처 집합이나 애플리케이션이 모델 버전을 사용하는 방식은 바뀌지 않습니다. 새 patch로 자동 업데이트하는 것은 안전한 업데이트입니다.

  • Prerelease(텍스트): 아직 프로덕션에서 사용할 준비가 되지 않은 버전을 나타냅니다. 모델의 알파, 베타, 릴리스 후보 버전을 구분하는 데 사용합니다.

모델 버전 예시#

  • 최초 릴리스: 1.0.0 - 변경이나 패치가 없는 모델의 첫 릴리스입니다.
  • 신규 기능: 1.1.0 - 브레이킹 체인지가 아닌 새 기능이 모델에 추가되어 minor 버전이 올라갔습니다.
  • 버그 수정: 1.1.1 - 모델의 버그가 수정되어 patch 버전이 올라갔습니다.
  • 브레이킹 체인지: 2.0.0 - 모델에 브레이킹 체인지가 생겨 major 버전이 올라갔습니다.
  • 패치 릴리스: 2.0.1 - 모델의 버그가 수정되어 patch 버전이 올라갔습니다.
  • 프리릴리스: 2.0.1-alpha1 - 알파 릴리스가 포함된 모델의 프리릴리스 버전입니다.
  • 프리릴리스: 2.0.1-rc2 - 모델의 릴리스 후보 버전입니다.
  • 신규 기능: 2.1.0 - 모델에 새 기능이 추가되어 minor 버전이 올라갔습니다.

모델 레지스트리

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

머신 러닝 모델 레지스트리는 머신 러닝 모델을 수명 주기 전반에 걸쳐 관리하는 중앙 집중식 리포지터리입니다. GitLab 모델 레지스트리로 다음을 수행합니다. 모델 레지스트리의 기능과 역량에 대한 자세한 내용은 에픽 9423을 참고합니다.

히스토리

머신 러닝 모델 레지스트리는 머신 러닝 모델을 수명 주기 전반에 걸쳐 관리하는 중앙 집중식 리포지터리입니다. 성능 지표, 검증 결과, 데이터 계보 정보 같은 필수 메타데이터와 함께 모델 버전을 저장하는 전용 데이터베이스처럼 동작합니다.

GitLab 모델 레지스트리로 다음을 수행합니다.

  • 머신 러닝 모델을 체계적으로 등록하고 버전 관리
  • 성능 지표, 매개변수, 데이터 계보를 포함한 메타데이터 전반 추적
  • 모델 버전 비교 및 시간에 따른 변화 모니터링
  • 모델 동작과 요구 사항에 대한 명확한 문서화 유지

모델 레지스트리의 기능과 역량에 대한 자세한 내용은 에픽 9423을 참고합니다.

모델 레지스트리 접근#

모델 레지스트리는 패키지 레지스트리 설정으로 제어됩니다. 모델 레지스트리를 사용하기 전에 패키지 레지스트리가 활성화되어 있는지 확인합니다.

모델 레지스트리에 접근하려면 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.

Model registry를 사용할 수 없다면 해당 기능이 활성화되어 있는지 확인합니다.

모델 레지스트리를 활성화하거나 공개 수준을 public 또는 private으로 설정하려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Visibility, project features, permissions를 확장합니다.
  4. Model registry 아래에서 토글이 켜져 있는지 확인하고 접근을 허용할 대상을 선택합니다. 모델과 모델 버전을 수정하거나 삭제하려면 최소 Reporter 권한이 필요합니다.

UI를 사용하여 머신 러닝 모델 생성#

GitLab UI로 새 머신 러닝 모델을 생성하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. Model registry 페이지에서 다음 중 하나를 수행합니다.
    • 아직 모델이 없다면 Create model을 선택합니다.
    • 오른쪽 상단에서 Create/Import model을 선택한 다음 드롭다운 목록에서 Create new model을 선택합니다.
  3. 다음 필드를 입력합니다.
    • 모델의 고유한 이름을 입력합니다.
    • 선택 사항. 모델 설명을 입력합니다.
  4. Create를 선택합니다.

이제 모델 레지스트리에서 새로 생성한 모델을 확인할 수 있습니다.

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

새 모델 버전을 생성하려면 다음 단계를 따릅니다.

  1. 모델 상세 페이지에서 Create new version을 선택합니다.
  2. 다음 필드를 입력합니다.
    • 시맨틱 버전 관리를 따르는 고유한 버전 번호를 입력합니다.
    • 선택 사항. 모델 버전 설명을 입력합니다.
    • 모델 버전과 연관된 파일, 로그, 지표, 매개변수를 업로드합니다.
  3. Create & import를 선택합니다.

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

모델 삭제#

모델과 그에 연결된 모든 버전을 삭제하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 모델을 찾습니다.
  3. 가장 오른쪽 칼럼에서 세로 줄임표(⋮)를 선택한 다음 Delete model을 선택합니다.

또는 모델 상세 페이지에서 모델을 삭제할 수 있습니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. 세로 줄임표(⋮)를 선택한 다음 Delete model을 선택합니다.
  5. 삭제를 확인합니다.

모델 버전 삭제#

모델 버전을 삭제하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 버전이 있는 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 삭제하려는 모델 버전을 찾습니다.
  6. 가장 오른쪽 칼럼에서 세로 줄임표(⋮)를 선택한 다음 Delete version을 선택합니다.

또는 모델 버전 상세 페이지에서 모델을 삭제할 수 있습니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 삭제하려는 버전이 있는 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 버전 이름을 선택해 상세 정보를 확인합니다.
  6. 세로 줄임표(⋮)를 선택한 다음 Delete version을 선택합니다.
  7. 삭제를 확인합니다.

모델 버전에 아티팩트 추가#

모델 버전에 아티팩트를 추가하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 버전 이름을 선택해 상세 정보를 확인합니다.
  6. Artifacts 탭을 선택합니다.
  7. 선택 사항. 파일을 업로드할 하위 폴더 경로를 지정합니다. 예를 들어 config 입니다.
  8. select로 업로드할 파일을 고릅니다.
  9. Upload를 선택합니다.

또는 드롭 영역에 파일을 끌어다 놓을 수 있습니다. 아티팩트가 자동으로 업로드됩니다.

파일 하나의 크기 제한은 5GB 이므로, 더 큰 모델은 분할해야 합니다.

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

버전의 아티팩트를 삭제하려면 다음 단계를 따릅니다.

  1. 왼쪽 사이드바에서 Deploy > Model registry를 선택합니다.
  2. 모델을 찾습니다.
  3. 모델 이름을 선택해 상세 정보를 확인합니다.
  4. Versions 탭을 선택합니다.
  5. 버전 이름을 선택해 상세 정보를 확인합니다.
  6. Artifacts 탭을 선택합니다.
  7. 삭제하려는 각 아티팩트 옆의 상자를 선택합니다.
  8. Delete를 선택합니다.
  9. 삭제를 확인합니다.

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

MLflow 클라이언트 호환성을 사용해 모델과 모델 버전을 생성할 수 있습니다. 모델과 모델 버전을 생성하고 관리하는 방법은 MLflow 클라이언트 호환성을 참고합니다. Model registry 페이지에서 Create model을 선택해 GitLab에서 직접 모델을 생성할 수도 있습니다.

MLflow를 사용하여 모델 버전에 아티팩트, 지표, 매개변수 추가#

모델 버전에 파일을 업로드하는 방법은 다음과 같습니다.

  • 패키지 레지스트리. 이때 모델 버전은 <model_name>/<model_version> 이름의 패키지에 연결됩니다.
  • MLflow 클라이언트 호환성. 상세 정보 보기.

MLflow 클라이언트 호환성을 통해 모델 버전의 지표와 매개변수를 기록할 수 있습니다. 상세 정보 보기.

모델 버전을 CI/CD job에 연결#

GitLab CI/CD job으로 모델 버전을 생성할 때 모델 버전을 해당 job에 연결하면 job의 로그, 머지 리퀘스트, 파이프라인에 간편하게 접근할 수 있습니다. 이 작업은 MLflow 클라이언트 호환성으로 수행합니다. 상세 정보 보기.

모델 버전과 시맨틱 버전 관리#

GitLab의 모델 버전은 시맨틱 버전 사양을 따라야 합니다. 시맨틱 버전 관리를 사용하면 애플리케이션을 변경하지 않고도 새 버전을 배포할 수 있는지 알 수 있어 모델 배포가 수월해집니다.

  • Major(정수): major 구성 요소가 바뀌면 모델에 브레이킹 체인지가 있다는 뜻이며, 해당 모델을 사용하는 애플리케이션을 새 버전에 맞게 업데이트해야 합니다. 새로운 알고리즘이나 필수 피처 칼럼 추가가 major 구성 요소를 올려야 하는 브레이킹 체인지의 예입니다.

  • Minor(정수): minor 구성 요소가 바뀌면 브레이킹 체인지가 아니라는 뜻이며, 소비자는 문제 없이 새 버전을 사용할 수 있습니다. 다만 새 기능을 사용하려면 소비자를 업데이트해야 할 수 있습니다. 예를 들어 기본값이 있는 비필수 피처 칼럼을 모델에 추가하는 것은 minor를 올리는 변경입니다. 추가된 칼럼의 값을 전달하지 않아도 추론이 그대로 동작하기 때문입니다.

  • Patch(정수): patch 구성 요소가 바뀌면 애플리케이션에서 별도 조치가 필요 없는 새 버전이 나왔다는 뜻입니다. 예를 들어 모델을 매일 재학습해도 피처 집합이나 애플리케이션이 모델 버전을 사용하는 방식은 바뀌지 않습니다. 새 patch로 자동 업데이트하는 것은 안전한 업데이트입니다.

  • Prerelease(텍스트): 아직 프로덕션에서 사용할 준비가 되지 않은 버전을 나타냅니다. 모델의 알파, 베타, 릴리스 후보 버전을 구분하는 데 사용합니다.

모델 버전 예시#

  • 최초 릴리스: 1.0.0 - 변경이나 패치가 없는 모델의 첫 릴리스입니다.
  • 신규 기능: 1.1.0 - 브레이킹 체인지가 아닌 새 기능이 모델에 추가되어 minor 버전이 올라갔습니다.
  • 버그 수정: 1.1.1 - 모델의 버그가 수정되어 patch 버전이 올라갔습니다.
  • 브레이킹 체인지: 2.0.0 - 모델에 브레이킹 체인지가 생겨 major 버전이 올라갔습니다.
  • 패치 릴리스: 2.0.1 - 모델의 버그가 수정되어 patch 버전이 올라갔습니다.
  • 프리릴리스: 2.0.1-alpha1 - 알파 릴리스가 포함된 모델의 프리릴리스 버전입니다.
  • 프리릴리스: 2.0.1-rc2 - 모델의 릴리스 후보 버전입니다.
  • 신규 기능: 2.1.0 - 모델에 새 기능이 추가되어 minor 버전이 올라갔습니다.