패스잇
AI / 데이터 · 기초

MLOps에서 '재현성(Reproducibility)'이 의미하는 바는 무엇이며, 재현성을 확보하기 위해 어떤 요소들을 관리해야 하나요?

힌트 · 재현성은 동일한 데이터, 코드, 환경 설정을 사용했을 때 항상 동일한 모델을 얻거나 동일한 결과를 재현할 수 있음을 의미합니다. 데이터, 코드, 환경, 모델 파라미터 등을 버전 관리하고 추적해야 합니다.

데이터 버전 관리코드 버전 관리환경 격리실험 추적모델 레지스트리

모범답안

MLOps에서 재현성이란, 모델 개발 및 배포 과정을 처음부터 다시 실행했을 때, 동일한 결과(모델 성능, 예측 등)를 얻을 수 있도록 보장하는 것을 의미합니다. 즉, '똑같은 레시피로 똑같은 음식을 만들 수 있는가'와 같습니다.

재현성을 확보하기 위해서는 크게 네 가지 요소를 관리해야 합니다. 첫째, 데이터 버전 관리입니다. 모델 학습에 사용된 데이터셋을 버전별로 관리하여 어떤 데이터가 사용되었는지 추적해야 합니다. 둘째, 코드 버전 관리입니다. Git과 같은 도구를 사용하여 모델 학습, 전처리, 평가 등 모든 코드 변경 이력을 관리해야 합니다. 셋째, 환경 격리입니다. Docker나 Conda를 사용하여 모델 개발 및 배포 환경을 동일하게 유지해야 합니다. 마지막으로, 실험 추적입니다. 모델 파라미터, 학습 메트릭, 사용된 데이터 버전을 기록하여 어떤 실험이 어떤 결과를 냈는지 추적해야 합니다. 이러한 요소들을 체계적으로 관리하면 모델의 재현성을 높이고, 문제 발생 시 디버깅을 용이하게 할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 MLOps 면접 질문

← MLOps 면접 질문 전체 보기