책 리뷰

가상 면접 사례로 배우는 머신러닝 시스템 설계 기초 - 알렉스 쉬

융무 2025. 7. 6. 23:08

이 책은 모델러에서 시스템 빌더로 성장하고 싶은 모든 이들을 위한 책입니다. 머신러닝 프로젝트의 방향을 잡아야 하는 주니어 엔지니어부터, 더 큰 그림을 보고 싶은 시니어 엔지니어, 심지어 머신러닝 기반 제품을 기획하는 PM에게도 많은 도움이 될 거 같습니다.

이 책의 가장 큰 장점은 머신러닝 시스템 설계를 일관되고 체계적인 프로세스로 구조화한다는 점입니다. 모든 사례는 요구사항 명확화 → 문제 구조화 → 데이터 준비 → 모델 개발 → 평가 → 서빙 및 모니터링이라는 명확한 파이프라인을 따라 진행됩니다. 독자는 이 흐름을 반복적으로 따라가며, 복잡하게만 보였던 머신러닝 시스템 설계의 전체 그림을 자연스럽게 머릿속에 그리게 되는 거 같습니다.

 

1. End-to-End 파이프라인 설계 능력

이 책은 모델의 정확도에만 매몰되지 않고, 데이터 파이프라인, 피처 엔지니어링, 모델 서빙, 지속적인 모니터링까지 아우르는 전체론적 시각을 끊임없이 요구합니다. 실제 시스템은 여러 구성요소가 유기적으로 연결되어 있으며, 이 전체를 설계하고 이해하는 능력이 뛰어난 머신러닝 엔지니어의 핵심 역량임을 명확히 알려줍니다.

2. 현실적인 Trade-off 의사결정 훈련

모든 설계에는 정답이 없으며, 수많은 선택지 사이의 Trade-off를 이해하고 결정하는 것이 핵심입니다. 이 책은 다음과 같은 현실적인 고민들을 각 사례에 녹여냈습니다.

  • 성능 vs. 비용: 클라우드의 강력한 성능을 쓸 것인가, 온디바이스 배포로 비용과 지연 시간을 줄일 것인가?
  • 정확도 vs. 속도: 복잡한 딥러닝 모델로 정확도를 높일 것인가, 로지스틱 회귀 같은 단순한 모델로 빠른 서빙과 해석 가능성을 확보할 것인가?
  • 온라인 지표 vs. 오프라인 지표: 비즈니스 목표와 직결되는 온라인 지표(ex: 클릭률)와 모델 자체의 성능을 보여주는 오프라인 지표(ex: mAP) 사이에서 어떻게 균형을 맞출 것인가?

3. 실제 데이터를 다루는 현실적인 노하우

현실의 데이터는 결코 깨끗하지 않습니다. 이 책은 다음과 같이 실제 서비스에서 부딪히는 데이터 문제들을 해결하는 구체적인 팁을 제공합니다.

  • 데이터 불균형: 소수 클래스를 오버샘플링하거나 손실 함수에 가중치를 부여해 해결합니다.
  • 데이터 부족: 데이터 증강(Data Augmentation) 기법으로 데이터세트를 늘려 모델의 강건함을 높입니다.
  • 데이터 편향 및 개인 정보 보호: 데이터가 특정 그룹에 편향되지 않았는지, 사용자 개인정보를 어떻게 보호할지 항상 고민해야 함을 강조합니다.

동영상 추천 시스템사례에서는 ‘사용자 참여도 증가’라는 막연한 비즈니스 목표를 시청 시간 극대화와 같은 구체적인 머신러닝 목표로 정의하는 과정부터 시작합니다. 이어 콘텐츠 기반 필터링과 협업 필터링의 장단점을 비교하고, 후보 생성과 재순위화(Re-ranking)라는 2단계 서빙 아키텍처를 설계하며, 클릭률(온라인)과 Precision@k(오프라인) 같은 상충할 수 있는 지표들을 어떻게 균형 맞출지 고민하게 합니다. 이러한 과정은 실제 현업에서 마주하는 문제와 너무나도 닮아 있어 깊은 공감과 통찰을 줍니다.