ZenML 모델과 모델 버전
ZenML 모델과 모델 버전
ZenML은 ML 모델을 추적·관리하기 위해 모델(Model) 과 모델 버전(model version) 이라는 개념을 제공해요. 모델 버전은 한 ZenML 프로젝트 안에서 만들고 추적하고 관리하는 ML 모델의 통합된 관점이에요. 파이프라인·데이터·아티팩트 같은 여러 엔티티를 모델 버전 하나로 묶어서 볼 수 있게 해주죠.
출처: ZenML Models
모델과 모델 버전의 관계
모델은 여러 개의 모델 버전으로 구성돼요. 예를 들어 같은 분류 모델을 여러 하이퍼파라미터로 훈련했다면, 그 모델 아래에 실험마다 다른 버전이 쌓이는 방식이에요. 버전이 다르면 파이프라인 실행·데이터·아티팩트도 그 버전에 맞춰 추적되므로, 나중에 「v3가 어떤 데이터로 학습됐는지」를 정확히 재현할 수 있어요.
모델 버전이 연결하는 것
모델 버전은 여러 엔티티를 중앙에서 바라보는 역할을 해요.
- 파이프라인 실행 — 그 버전을 만들 때 실행된 파이프라인 런
- 데이터 — 학습에 쓰인 데이터셋
- 아티팩트 — 훈련 중 생긴 메트릭·모델 파일·평가 결과
이렇게 한 버전에 묶여 있기 때문에, 모델 하나를 중심으로 실험 이력을 통째로 되짚어볼 수 있어요.
실무에서 쓰는 모습
개발 실무에서는 대개 이렇게 활용해요. 스텝에서 모델 참조(reference)를 지정하면, ZenML이 그 모델 버전에 해당하는 아티팩트를 자동으로 등록해요. 그리고 스텝에서 모델을 사용할 때 Model 오브젝트를 주입받아 학습 데이터나 모델 파라미터를 꺼내 쓸 수 있어요. 이를 통해 실험 간 상태 관리가 훨씬 깔끔해져요.
모델 버전은 ZenML 대시보드에서도 확인할 수 있고, 여러 파이프라인이 같은 모델 버전을 공유하면서 각자 다른 단계(훈련·평가·배포)를 처리할 수도 있어요.
더 알아보기
- 모델 개념 상세: Models
- ZenML 전체 개념: Core Concepts