머신러닝 미드레벨 배포·운영 기술면접

머신러닝 미드레벨 (3~7년) 배포 · 운영 7문항 조회수 22 · 2026-09-01 (화) 17:41:29
1 모델 배포 전략
Medium

Q. 프로덕션 환경에서 새로운 머신러닝 모델을 배포할 때 Blue-Green 배포와 Canary 배포 방식의 차이점과 각각의 장단점을 설명하고, 어떤 상황에서 어떤 방식을 선택해야 하는지 설명해주세요.

트래픽 전환 방식과 롤백 속도, 리소스 사용량 측면에서 비교해보세요.

A. 모범답안

Blue-Green 배포는 기존 환경과 새 환경을 동시에 구성하고 트래픽을 한번에 전환하는 방식으로, 롤백이 즉각적이지만 2배의 인프라 비용이 발생합니다. Canary 배포는 소수의 트래픽부터 점진적으로 새 모델에 라우팅하여 리스크를 최소화하며, 리소스 효율적이지만 모니터링 기간이 길어집니다. 모델 추론 비용이 높거나 인프라가 제한적인 경우 Canary 배포가 적합하고, 빠른 롤백이 중요하거나 A/B 테스트가 필요한 경우 Blue-Green이 유리합니다. 실무에서는 모델의 중요도와 변경 범위에 따라 선택하며, 두 방식을 혼합하여 사용하기도 합니다.

핵심 포인트
  • • Blue-Green은 전체 트래픽 즉시 전환, Canary는 점진적 전환
  • • Blue-Green은 2배 리소스 필요, Canary는 리소스 효율적
  • • 상황에 따른 배포 전략 선택 기준 이해
답변에 넣으면 좋은 키워드
Blue-Green Canary 트래픽 라우팅 롤백 무중단 배포 A/B 테스트
실무에서는

추천 시스템이나 검색 랭킹 모델을 업데이트할 때 사용자 영향을 최소화하면서 안전하게 배포하는 상황

Follow-up 질문

Canary 배포 시 새 모델로 전환하는 트래픽 비율을 어떤 기준으로 점진적으로 늘려가나요?

2 컨테이너 환경
Medium

Q. 머신러닝 모델을 Docker 컨테이너로 배포할 때 이미지 크기가 5GB 이상으로 커지는 문제가 발생했습니다. 이미지 크기를 최적화하기 위한 구체적인 방법들을 설명해주세요.

베이스 이미지 선택, 레이어 구조, 의존성 관리 측면에서 고려해보세요.

A. 모범답안

먼저 alpine 또는 slim 베이스 이미지를 사용하여 불필요한 시스템 패키지를 제거합니다. 멀티 스테이지 빌드를 활용해 빌드 도구와 런타임 환경을 분리하고, 최종 이미지에는 실행에 필요한 파일만 포함시킵니다. pip 설치 시 --no-cache-dir 옵션을 사용하고, 불필요한 개발 의존성을 제외한 최소 라이브러리만 설치합니다. 모델 파일은 별도 볼륨으로 마운트하거나 S3 등 외부 스토리지에서 런타임에 로드하는 방식을 고려합니다. .dockerignore 파일을 활용해 불필요한 파일이 빌드 컨텍스트에 포함되지 않도록 합니다.

핵심 포인트
  • • 경량 베이스 이미지와 멀티 스테이지 빌드 활용
  • • 의존성 최소화 및 캐시 제거
  • • 모델 파일 외부화 전략
답변에 넣으면 좋은 키워드
Docker 멀티 스테이지 빌드 alpine dockerignore 레이어 캐싱 볼륨 마운트
실무에서는

딥러닝 모델을 Kubernetes 클러스터에 배포할 때 이미지 풀 시간과 스토리지 비용을 줄여야 하는 상황

Follow-up 질문

멀티 스테이지 빌드에서 빌드 스테이지와 런타임 스테이지를 어떻게 구분하여 구성하나요?

3 모델 모니터링
Hard

Q. 프로덕션 환경에서 머신러닝 모델의 성능이 점진적으로 저하되는 Model Drift를 감지하기 위한 모니터링 전략과 구체적인 메트릭들을 설명해주세요.

데이터 드리프트와 컨셉 드리프트를 구분하고, 각각을 감지할 수 있는 방법을 생각해보세요.

A. 모범답안

Model Drift는 데이터 분포 변화(Data Drift)와 타겟 관계 변화(Concept Drift)로 구분됩니다. Data Drift 감지를 위해 입력 피처의 통계적 분포를 PSI, KL Divergence, Kolmogorov-Smirnov 테스트로 모니터링하고, 학습 데이터와 프로덕션 데이터를 비교합니다. Concept Drift는 예측 정확도, Precision, Recall 등 비즈니스 메트릭의 시계열 추세를 추적하며, 실제 레이블이 지연되는 경우 예측 신뢰도 분포나 프록시 메트릭을 활용합니다. 임계값 기반 알림을 설정하고, 주기적으로 재학습 파이프라인을 트리거하는 자동화 시스템을 구축합니다. Prometheus와 Grafana로 메트릭을 시각화하고, 이상 탐지 알고리즘으로 조기 경보 시스템을 운영합니다.

핵심 포인트
  • • Data Drift와 Concept Drift 구분 및 각각의 감지 방법
  • • 통계적 메트릭과 비즈니스 메트릭 복합 모니터링
  • • 자동화된 재학습 트리거 시스템 구축
답변에 넣으면 좋은 키워드
Model Drift PSI KL Divergence Data Drift Concept Drift Prometheus 재학습 파이프라인
실무에서는

신용 평가 모델이나 수요 예측 모델에서 시간이 지나며 실제 환경 변화로 정확도가 떨어지는 것을 감지하고 대응하는 상황

Follow-up 질문

실제 레이블이 며칠 후에야 확인되는 상황에서 Concept Drift를 조기에 감지하려면 어떤 프록시 메트릭을 사용할 수 있나요?

4 CI/CD 파이프라인
Medium

Q. 머신러닝 모델의 CI/CD 파이프라인을 구성할 때 일반 소프트웨어 개발과 다른 점은 무엇이며, 모델 학습부터 배포까지 자동화 파이프라인에 반드시 포함되어야 할 단계들을 설명해주세요.

코드뿐만 아니라 데이터와 모델 아티팩트도 버전 관리되어야 한다는 점을 고려하세요.

A. 모범답안

머신러닝 CI/CD는 코드뿐 아니라 데이터, 모델, 하이퍼파라미터도 버전 관리해야 하며, 재현성이 핵심입니다. 파이프라인은 데이터 검증 단계에서 스키마와 분포를 체크하고, 모델 학습 후 성능 메트릭이 임계값을 통과하는지 자동 테스트합니다. 모델 아티팩트는 MLflow나 DVC로 버전 관리하며, 학습 환경과 배포 환경의 일관성을 위해 컨테이너를 사용합니다. 스테이징 환경에서 A/B 테스트나 섀도우 모드로 검증한 후 프로덕션 배포를 진행하며, 롤백 계획과 모니터링 대시보드 설정도 자동화합니다. GitHub Actions, Jenkins, Kubeflow Pipelines 등의 도구를 활용하여 전체 워크플로우를 오케스트레이션합니다.

핵심 포인트
  • • 데이터, 모델, 코드의 통합 버전 관리
  • • 자동화된 모델 검증 및 성능 테스트
  • • 스테이징 환경 검증 후 점진적 배포
답변에 넣으면 좋은 키워드
MLOps MLflow DVC 모델 버저닝 자동화 테스트 Kubeflow 재현성
실무에서는

여러 데이터 사이언티스트가 협업하며 모델을 지속적으로 개선하고 안전하게 배포해야 하는 상황

Follow-up 질문

모델 학습 파이프라인에서 데이터 버전과 코드 버전이 일치하지 않아 재현이 불가능한 상황을 방지하려면 어떻게 해야 하나요?

5 롤백 전략
Medium

Q. 프로덕션에서 새로 배포한 머신러닝 모델이 예상치 못한 예측 오류를 발생시켜 긴급하게 이전 버전으로 롤백해야 하는 상황입니다. 안전하고 빠른 롤백을 위한 전략과 사전에 준비해야 할 사항들을 설명해주세요.

모델 아티팩트 관리, 트래픽 라우팅, 모니터링 측면에서 준비사항을 생각해보세요.

A. 모범답안

롤백을 위해 사전에 이전 버전의 모델 아티팩트와 컨테이너 이미지를 보관하고, 버전별 태그를 명확히 관리해야 합니다. Kubernetes의 경우 이전 Deployment를 유지하거나 Helm의 rollback 기능을 활용하며, 로드밸런서나 서비스 메시에서 트래픽을 즉시 이전 버전으로 전환합니다. Feature Flag나 라우팅 규칙을 사용하면 코드 배포 없이 모델 버전을 전환할 수 있습니다. 롤백 후에는 새 모델의 오류 원인을 분석하기 위해 예측 로그와 입력 데이터를 보존하고, 모니터링 대시보드에서 메트릭 복구를 확인합니다. 롤백 절차는 Runbook으로 문서화하고 정기적으로 롤백 훈련을 실시하여 비상 상황 대응력을 높입니다.

핵심 포인트
  • • 이전 버전 모델 아티팩트 및 이미지 보관
  • • 트래픽 라우팅 기반 즉시 전환 메커니즘
  • • 롤백 절차 문서화 및 정기 훈련
답변에 넣으면 좋은 키워드
롤백 버전 관리 Feature Flag Kubernetes 트래픽 라우팅 Runbook
실무에서는

실시간 추천 시스템에서 새 모델이 부적절한 콘텐츠를 추천하여 즉시 이전 버전으로 되돌려야 하는 긴급 상황

Follow-up 질문

롤백 후 새 모델의 문제를 분석하고 수정하여 재배포하기까지의 프로세스는 어떻게 구성하나요?

6 인프라 스케일링
Hard

Q. 머신러닝 모델 서빙 서버의 트래픽이 평소 대비 10배 급증하는 이벤트 상황을 대비해야 합니다. Auto Scaling 전략과 함께 모델 추론 성능을 유지하면서 비용 효율적으로 대응하는 방법을 설명해주세요.

수평 확장뿐 아니라 모델 최적화, 캐싱, 비동기 처리 등 다양한 레벨의 최적화를 고려하세요.

A. 모범답안

Kubernetes HPA를 사용해 CPU/메모리 사용률 기반으로 Pod를 자동 확장하되, 커스텀 메트릭으로 요청 큐 길이나 응답 지연을 모니터링하여 더 정확한 스케일링을 구현합니다. 모델 추론 성능 향상을 위해 TensorRT, ONNX Runtime 등으로 모델을 최적화하고, 배치 추론을 통해 처리량을 높입니다. 동일 요청에 대한 결과는 Redis 같은 인메모리 캐시에 저장하여 중복 추론을 방지하고, 비동기 처리가 가능한 경우 메시지 큐를 활용합니다. Spot Instance나 Preemptible VM을 활용해 비용을 절감하되, 가용성을 위해 일부 On-Demand 인스턴스와 혼용합니다. 예측 가능한 이벤트는 사전에 Warm-up하고, Cloud Provider의 예약 용량을 미리 확보하여 스케일링 지연을 방지합니다.

핵심 포인트
  • • 메트릭 기반 자동 스케일링과 사전 용량 확보
  • • 모델 최적화 및 배치 추론으로 처리량 향상
  • • 캐싱과 비동기 처리로 부하 분산
답변에 넣으면 좋은 키워드
HPA Auto Scaling 모델 최적화 배치 추론 캐싱 Spot Instance 메시지 큐
실무에서는

이커머스 플랫폼의 블랙프라이데이 같은 대규모 이벤트에서 상품 추천 모델이 폭증하는 트래픽을 안정적으로 처리해야 하는 상황

Follow-up 질문

배치 추론을 적용할 때 지연 시간과 처리량 사이의 트레이드오프를 어떻게 조절하나요?

7 배포 테스트 전략
Medium

Q. 머신러닝 모델을 프로덕션에 배포하기 전에 수행해야 할 테스트 종류와 각 테스트의 목적, 그리고 실패 시 대응 방안을 설명해주세요.

성능 테스트, 데이터 검증, 통합 테스트 등 다양한 레벨의 테스트를 고려하세요.

A. 모범답안

먼저 단위 테스트로 전처리 로직과 후처리 함수의 정확성을 검증하고, 통합 테스트로 API 엔드포인트와 의존 서비스 간 연동을 확인합니다. 모델 성능 테스트는 홀드아웃 데이터셋에서 정확도, Precision, Recall 등이 기준치를 충족하는지 검증하고, 편향성과 공정성도 평가합니다. 부하 테스트로 목표 TPS와 응답 지연 시간을 만족하는지 확인하며, 섀도우 모드에서 실제 트래픽을 복제하여 프로덕션 환경과 동일한 조건에서 검증합니다. 입력 데이터 검증 테스트로 스키마, 범위, 결측치 처리를 확인하고, 예상치 못한 입력에 대한 모델의 견고성을 테스트합니다. 테스트 실패 시 원인을 분석하고, 임계값 조정이나 모델 재학습을 거쳐 다시 검증 프로세스를 진행합니다.

핵심 포인트
  • • 단위/통합/성능 테스트의 다층 검증 체계
  • • 섀도우 모드를 통한 실제 환경 검증
  • • 데이터 검증 및 모델 견고성 테스트
답변에 넣으면 좋은 키워드
단위 테스트 통합 테스트 부하 테스트 섀도우 모드 데이터 검증 모델 평가
실무에서는

금융 사기 탐지 모델처럼 오탐과 미탐이 모두 큰 영향을 미치는 시스템에서 안전하게 배포를 검증하는 상황

Follow-up 질문

섀도우 모드 테스트에서 새 모델과 기존 모델의 예측 결과가 크게 다를 때 어떤 기준으로 배포 여부를 결정하나요?

댓글 0

로그인 후 댓글을 작성할 수 있습니다.

아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!