ML 모델 레지스트리란 무엇입니까?

ML 모델 레지스트리 소개

빠르게 변화하는 머신 러닝 환경에서는 고성능 모델을 대량으로 보유하는 것이 혁신적인 프로덕션 솔루션의 중추이며, ML 팀 의 작업을 관리하고 구성하려면 견고하고 안전하며 접근성이 뛰어난 인프라가 필수적입니다.
ML 모델 레지스트리를 입력하세요 . 모델 레지스트리는 ML 팀이 팀의 모델을 저장, 카탈로그화, 액세스, 배포 및 배포하는 배포 센터이자 중앙 허브이며 프로덕션 모델에 대한 단일 진실의 원천입니다. 효과적인 모델 레지스트리는 모델의 공유, 버전 관리 및 추적을 통해 원활한 모델 관리를 용이하게 합니다. 이를 통해 ML 팀은 보다 효율적으로 협업하고, 더 빠르게 실험하고, 성능이 더 높은 모델을 프로덕션에 자신 있게 배포할 수 있습니다.
모델 개발, 소프트웨어 개발 및 MLOps 팀의 경우 단일 단위와 중앙 협업 저장소를 갖는 것은 ML 활동에 큰 힘을 더합니다. 또한 효과적인 모델 CI/CD (Continuous Integration/Continuous Deployment) 워크플로의 중요한 구성 요소이기도 합니다.
이를 통해 자동화된 ML 모델 테스트, 평가, 배포 및 모니터링이 가능합니다. 또한 모델 레지스트리는 ML 엔지니어링과 DevOps 간의 깨끗한 핸드오프 지점을 용이하게 하고 지속적인 사이클과 프로세스를 만드는 데 중요합니다.

ML에서 모델 레지스트리란 무엇인가요?

ML에서 모델 레지스트리는 라이브러리와 유사한 중앙 저장소 또는 모델 스토어로, 머신 러닝 모델을 효과적으로 관리하고 구성할 수 있게 해줍니다. 모델이 저장되고, 추적되고, 버전이 지정되고, 프로덕션에서 모델을 배포하고 사용하는 회사의 모든 사람이 액세스할 수 있는 곳입니다.
여기에는 ML 실무자, 데이터 과학자, 소프트웨어 개발자, 제품 관리자 등이 포함될 가능성이 높습니다.
 
모델 레지스트리는 실험을 위한 모델 계보, 모델이 프로덕션에 푸시되었을 때의 모델 버전 기록, 협업자의 주석을 제공해야 합니다. 조직 전체에서 액세스할 수 있는 안전하고 체계적인 저장소 역할을 하여 모델 개발, 평가 및 배포를 간소화합니다.
모델 레지스트리는 또한 전체 팀이 조직 내 모든 모델의 라이프사이클을 협업적으로 관리할 수 있도록 합니다. 데이터 과학자는 훈련된 모델을 레지스트리에 푸시할 수 있습니다. 레지스트리에 들어가면 모델을 테스트하고, 검증하고, MLOps에서 프로덕션에 배포하고, 지속적으로 평가할 수 있습니다. 이는 여러 면에서 소프트웨어 DevOps와 매우 유사합니다.
 
혜택을 자세히 살펴보겠습니다.

ML 모델 레지스트리의 이점

생산 모델 배포 간소화

머신 러닝 모델 레지스트리는 복잡한 모델 배포 프로세스를 간소화하고 향상시켜 더 나은 모델을 더 빠르고 쉽게 프로덕션에 도입할 수 있도록 합니다. 다음을 통해 이를 수행합니다.
  • 한곳에서 ML 모델 관리를 중앙화 : 더 이상 필요한 모델을 찾기 위해 주변을 둘러보거나 묻거나 프로덕션을 위한 단일 진실의 원천이 어디인지 궁금해할 필요가 없습니다. 모델 레지스트리를 사용하면 항상 최신의 가장 뛰어난 모델을 손쉽게 배포할 수 있습니다.
  • 배포 프로세스 자동화 : 자동 평가 작업을 트리거하고 모델 레지스트리를 다운스트림 서비스 및 REST 서비스와 통합하여 모델을 사용하고 프로덕션 환경에서 자동으로 제공함으로써 시간을 절약하고 수동 오류를 방지합니다.

생산 모델 모니터링 활성화

배포된 모델의 성능을 실시간으로 추적하고, 레지스트리는 프로덕션 모델에서 실시간 및 집계된 메트릭을 수집합니다. 정확도, 지연 시간, 리소스 활용과 같은 중요한 메트릭을 주시하여 최적화 결정을 더 빠르게 내립니다. 모델 정확도를 개선하고, 데이터 드리프트를 줄이고, 편향을 피하여 프로덕션에서 공정성과 품질을 보장합니다.

지속적인 워크플로 생성

매끄럽고 자동화된 모델 CI/CD 워크플로를 가능하게 하기 위해 모델 레지스트리는 모든 것의 핵심에서 중요한 역할을 합니다. 레지스트리를 다른 도구, 서비스 및 자동화와 통합하여 평가 및 배포의 지속적인 흐름을 유지하고 프로덕션에서 최고의 모델을 지속적으로 내놓을 수 있도록 합니다.

협업 및 중앙 집중화 개선

프로덕션 환경에서 ML 모델을 배포할 때는 원활하고 효율적인 협업이 필수적입니다. 잘못되거나 오래된 모델을 배포하는 실수는 복합적이고 공개적으로 두드러질 수 있습니다. 모델 레지스트리는 공유 액세스와 피드백을 통합하고 프로젝트를 함께 작업할 수 있는 기능을 제공하여 팀워크를 용이하게 하며, 이 모든 것이 통제되고 조직된 환경 내에서 이루어집니다.

거버넌스와 보안을 보장하세요

보안 및 거버넌스는 ML 워크플로 전반, 특히 프로덕션에서 중요합니다. 모델 레지스트리는 모델을 보호하기 위한 강력한 보안 조치와 팀 전체에서 권한을 정의하기 위한 세분화된 역할 기반 액세스 제어를 제공합니다.
모델 레지스트리는 또한 모델의 문서화 및 보고를 시행하여 특히 감사 사용자가 결과를 반복하고 재현할 수 있도록 해야 합니다. 이러한 모든 요소는 데이터 개인 정보 보호 규정 및 내부 거버넌스 정책 준수를 촉진합니다.

모델 레지스트리는 MLOps 스택의 어떤 위치에 있나요?

모델 레지스트리는 MLOps 에 들어가 프로덕션 환경에 배포하기 직전 머신 러닝 워크플로의 마지막 부분에 있다고 생각할 수 있습니다 .
모델 실험 단계 의 출력은 모델 레지스트리에 입력되고, 이는 모델을 프로덕션에 제공할 수 있습니다. 레지스트리의 모든 모델은 적절한 상태(프로덕션 또는 챌린저)로 태그가 지정되고 전체 데이터와 모델 계보가 포함됩니다.
여기에서 사용자는 모델 작업과 모델 수명 주기를 관리하고( 버전 제어를 통해 ) 자동화를 설정하여 모델을 프로덕션에 푸시할 수 있습니다.
모델 레지스트리는 또한 배포 파이프라인과 완벽하게 통합되어 개발 환경에서 프로덕션 환경으로 모델을 빠르고 정확하게 전환할 수 있습니다. 프로덕션 모델은 데이터 드리프트 및 감소를 모니터링할 수 있으며, 필요한 경우 추가 테스트 및 평가를 위해 모델 레지스트리로 롤백하거나 데이터 세트를 업데이트할 수 있습니다.
저하된 모델이 자동으로 롤백될 때 모델 레지스트리에서 변경 작업을 쉽게 수행할 수 있으므로 항상 최고 품질의 모델만 프로덕션에 사용됩니다.

가중치 및 편향 모델 레지스트리

Weights & Biases는 AI 개발 및 ML 관찰 플랫폼입니다. 최첨단 AI 및 LLM 조직의 ML 실무자, MLOps 팀 및 ML 리더는 W&B를 확정적인 기록 시스템으로 사용하여 개인 생산성을 높이고, 프로덕션 ML을 확장하고, 간소화된 CI/CD ML 워크플로를 구현합니다.
효과적인 모델 레지스트리는 팀의 실험 추적 시스템과 잘 통합되어야 합니다. Weights & Biases를 사용하면 동일한 플랫폼에서 두 가지를 모두 원활하게 수행할 수 있습니다! W&B는 이미 다양한 매개변수 구성으로 실험 실행을 추적하고 모델 개발을 광범위하게 지원하는 기록 시스템 역할을 합니다.
W&B 레지스트리는 성공적인 실험을 수행하고 팀이 개발한 훈련되고 프로덕션에 적합한 모델을 이 중앙 저장소에 저장하여 다음 단계로 나아가는 데 도움이 됩니다. 모든 데이터와 모델 계보, 기타 모델 활동 세부 정보가 이미 기록되어 있으므로 사용자는 언제든지 원하는 것을 정확히 찾을 수 있습니다.

W&B 모델 레지스트리의 이점 탐색

Weights & Biases 사용자는 프로덕션 모델에 대한 진실의 단일 소스로 W&B 레지스트리를 구축하고 모델 핸드오프 및 CI/CD를 용이하게 하는 데 엄청난 가치를 발견했습니다. 많은 사용자가 조직과 명확성에서 엄청난 개선을 언급했습니다. 그 이유는 W&B 레지스트리를 사용하기 전에 이러한 팀 중 다수가 머릿속이나 스프레드시트 또는 노트북으로 프로덕션 모델을 관리했기 때문입니다. 이러한 문서 또는 계보의 부족은 지저분하고 편향되거나 성능이 떨어지는 모델을 포함하여 거친 결과로 이어질 수 있습니다.
 
W&B 레지스트리의 한 가지 핵심 측면은 모델을 연결하는 기능입니다. 이는 등록된 모델 버전과 소스 아티팩트 간에 명확한 연결을 제공하며 그 반대의 경우도 마찬가지입니다.
W&B 사용자는 다음을 포함하여 모델 연결에서 많은 가치를 얻습니다.

생산 준비 모델 게시

사용자는 성공적인 실험에서 훈련된 ML 모델을 팀 레지스트리에 등록하거나 업로드할 수 있습니다. 이를 통해 모델을 W&B 레지스트리에 저장하고 추적하여 실험과 생산 활동 간의 격차를 메울 수 있습니다.

Lifecycle ML 모델 관리

사용자는 등록된 모델의 다양한 버전을 보고 모든 모델 반복의 기록된 기록을 유지하는 동안 변경 사항을 추적할 수 있습니다. 사용자 정의(예: “후보”, “스테이징” 및 “생산”)를 사용하여 모델 버전에 별칭을 추가하거나 제거하면 새 실험을 실행하거나 기존 실험을 업데이트하거나 오래된 모델을 사용하지 않도록 설정한 후 찾고 있는 후보 버전을 쉽게 찾을 수 있습니다.

재사용성 및 협업

모델이 레지스트리에 게시되면 모델을 프로덕션에 배포하려는 MLOps 엔지니어나 다운스트림 파이프라인에서 이 모델을 사용하려는 다른 ML 실무자가 쉽게 사용할 수 있습니다. W&B 레지스트리는 run.use_artifact(model)을 통해 다운스트림 실행에서 모델을 사용하기 쉽게 만듭니다 .

거버넌스 및 액세스 제어

W&B 레지스트리는 개발, 스테이징, 프로덕션에서 보관으로의 상태 전환에 대한 전체 기록과 함께 레지스트리에 연결된 모델 버전에서 수행된 모든 작업에 대한 전체 감사 기능을 제공합니다. 역할 기반 액세스 제어는 적절한 액세스 수준을 가진 사람만 모델을 프로덕션을 포함한 새로운 파이프라인 단계로 옮길 수 있도록 보장합니다.

다운스트림 작업 자동화

등록된 모델에 새 버전을 추가하거나 새 별칭을 추가할 때 워크플로 단계를 쉽게 트리거하기 위한 자동화를 추가합니다. Webhook 자동화를 통해 사용자는 W&B Launch 와 같은 가벼운 커넥터를 사용하여 자체 인프라에서 모델 테스트 및 배포와 같은 다운스트림 작업을 시작할 수 있습니다 .

Slack 또는 Teams 알림을 통한 알림

사용자는 등록된 모델을 구성하여 새로운 모델 버전이 연결될 때 이를 수신하고 Slack 또는 Teams 채널에서 자동으로 알림을 받도록 할 수도 있습니다.

W&B 모델 레지스트리를 시작하는 방법

W&B 레지스트리를 시작하는 것은 쉽습니다! Weights & Biases 계정에 가입 하면 다음 단계에 따라 ML 모델 관리를 위해 W&B 레지스트리를 사용할 수 있습니다.

1) 신규 등록 모델 생성

모델링 작업을 위한 모든 후보 모델을 보관하기 위해 등록된 모델을 만들어야 합니다. W&B 앱(Model Registry 탭 또는 Artifact Browser 탭 중 하나를 클릭)을 통해 대화형으로 등록된 모델을 만들거나 W&B Python SDK를 사용하여 프로그래밍 방식으로 등록된 모델을 만들 수 있습니다.
엔터티를 선택하고 세부 정보와 적절한 태그를 입력하면 첫 번째 등록 모델이 완성됩니다!

2) 모델 버전 학습 및 기록

이제 훈련 스크립트에서 모델을 기록합니다. 모델을 주기적으로 디스크에 직렬화할 수 있습니다(및/또는 모델링 라이브러리에서 제공하는 직렬화 프로세스를 사용하여 훈련이 끝날 때(예: PyTorch 또는 Keras )).
 
다음으로, 모델 파일을 아티팩트 유형의 모델에 추가합니다. 정리된 상태를 유지하려면 아티팩트에 연관된 실행 ID를 사용하여 이름 간격을 지정하는 것이 좋습니다. 또한 데이터 세트를 종속성으로 선언하여 재현성과 감사 가능성을 추적할 수 있습니다.

 
하나 이상의 모델 버전을 로깅한 후, Artifact 브라우저에서 새로운 모델 Artifact를 볼 수 있습니다. 이 예에서, 당신은 아티팩트의 로깅 버전 결과를 볼 수 있습니다.
이제 방금 훈련하고 기록한 다양한 모델 버전을 처음에 만든 등록 모델에 연결합니다.

W&B 앱에서 또는 Python SDK를 통해 프로그래밍 방식으로 이 작업을 수행할 수 있습니다. 앱에서 이 작업을 수행하려면 연결하려는 모델 버전으로 이동하여 링크 아이콘을 클릭합니다. 그런 다음 이 버전을 연결하려는 대상 등록 모델을 선택할 수 있습니다.
 
추가 별칭을 추가하는 옵션도 있습니다.
 

4) 모델 버전을 사용하세요

이제 모델을 사용할 시간입니다. 아마도 모델의 성능을 평가하고, 데이터 세트에 대한 예측을 하거나, 심지어 라이브 프로덕션 컨텍스트에서 사용하고 싶을 것입니다. 다음 코드 조각을 사용하여 Python SDK로 모델을 사용하세요.

5) 모델 성능 평가

학습한 모든 모델의 성능을 평가하고 싶을 수 있는데, 학습이나 검증에 사용되지 않은 테스트 데이터 세트와 비교해서 평가하는 것이 좋습니다.
이전 단계를 완료한 후에는 평가 데이터에 대한 데이터 종속성을 선언하고 평가에 유용한 메트릭, 미디어, 테이블 및 기타 모든 항목을 기록할 수 있습니다.

6) 모델 버전을 프로덕션으로 승격

모델 평가에 만족하면 별칭을 사용하여 프로덕션에 사용할 버전을 지정하고 홍보할 수 있습니다. 등록된 각 모델은 두 개 이상의 별칭을 가질 수 있지만, 각각은 한 번에 하나의 버전에만 할당될 수 있습니다. 다시 말하지만, W&B 앱 내에서 대화형으로 별칭을 추가하거나 Python SDK를 통해 프로그래밍 방식으로 별칭을 추가할 수 있습니다.

7) 생산 모델 소비

마지막으로 추론을 위해 프로덕션 모델을 사용합니다. 라이브 프로덕션 컨텍스트에서 모델을 사용하는 방법은 위의 4단계를 참조하세요. 등록된 모델 내에서 다른 별칭 전략을 사용하여 버전을 참조할 수 있습니다. 예를 들어 “latest”, “v3” 또는 “production”을 사용합니다.

8) 보고 대시보드 구축

W&B Weave 패널을 사용하면 보고서 내에서 모델 레지스트리 또는 아티팩트 뷰를 표시할 수 있습니다 ! 메타데이터, 사용, 파일, 계보, 작업 기록 감사 또는 버전 기록 분석을 표시하는 보고서를 작성하세요. 무엇이든 파헤쳐 분석하고 싶은 대로 하세요.
 
모델 대시보드의 다음 예를 확인해 보세요.

결론

지금까지 우리는 모델 레지스트리가 ML 워크플로 및 프로젝트의 효율적이고 정교한 운영에 필수적이라는 것을 확립했습니다. 잘 정리된 모델 레지스트리는 모든 모델 상태의 중앙 허브이자 단일 소스 역할을 하며, MLOps와 프로덕션으로의 최종 핸드오프 지점 역할을 하며, 원활한 자동화 전환을 보장하고, 프로덕션에서 오류나 품질이 낮은 모델이 발생할 가능성을 줄이며, ML 팀에 마음의 평화를 제공합니다.