"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
들어가기 전
만약 당신이 ML 팀을 운영하거나 ML 프로젝트를 진행하면서 왜 이렇게 힘든지, 기술적인 부분 외에 뭔가 놓치고 있는 게 있는지 고민하고 있다면 이 책을 추천합니다. 하지만 단순히 ML 알고리즘이나 데이터 분석 기법을 배우고 싶다면 다른 책을 보시길 권합니다. 이 책은 ML 팀 운영과 제품 개발에 대한 기초적인 지식이 있을 때 더 도움이 될 것 같습니다.
소개
이 책의 구성
이 책은 머신러닝을 활용하는 팀을 위한 실무 가이드로, 3개의 핵심 섹션으로 구성되어 있습니다:
- 파트1: 제품과 전달
- 파트2: 엔지니어링
- 파트3: 팀
요약
핵심 메시지: ML은 단순한 기술 문제가 아니다
책의 소개에서 ML 제품을 만드는 것이 단순히 ML 알고리즘이나 데이터 문제가 아니라고 명확하게 말합니다. 좀 더 전체적인 관점에서 '팀'이라는 개념을 중심으로 해결법을 찾고, 이에 도움이 되는 원칙과 관행들을 탐구하는 데 초점을 맞추고 있습니다.
파트1: 제품과 전달
ML을 사용한 서비스 개발의 시작 단계부터 차근차근 다룹니다. 아이디어 수집, 검증, 전달 계획(delivery planning), 그리고 실행까지의 전 과정에서 무엇이 중요한지 체계적으로 설명합니다.
파트2: 엔지니어링
Docker에 대한 실용적 설명부터 시작해서 테스트의 중요성을 강조합니다. 일반적인 소프트웨어 테스트는 물론이고, ML 모델만의 특별한 테스트 방법까지 포괄적으로 다룹니다.
리팩토링을 통한 기술부채 해결 방안을 보여주는데, 특히 현실적인 기술부채 관리 기법에 대한 접근이 인상적이었습니다. 이론적인 얘기가 아니라 정말 현장에서 써먹을 수 있는 내용들입니다.
인간이 가진 현상유지 편향을 극복하고 ML 서비스를 건강한 상태로 유지하기 위한 전략을 소개하는 부분이 특히 흥미로웠습니다. 기술적인 문제만이 아니라 인간의 심리적 특성까지 고려한 접근이 현실적입니다.
자동테스트, 보안, 페어프로그래밍, 버전관리, 트렁크 기반 개발, 설정 및 배포 자동화, 모니터링 등... 일반적인 소프트웨어 개발에서 이미 검증된 전략들을 ML 환경에 어떻게 적용할지 구체적으로 알려줍니다.
파트3: 팀
팀 관련 파트는 어느 팀에서 적용해도 도움이 될 정도로 일반적인 정보를 담고 있습니다. 하지만 이를 ML 팀을 기준으로 설명하다 보니 중간중간 ML팀에 특화된 내용들이 나오는데, 이 부분들을 정말 흥미롭게 읽었습니다.
마치며
ML 프로젝트를 진행하면서 기술적인 부분만 신경 쓰느라 정작 중요한 팀 운영이나 제품 전달 과정에서 놓치는 것들이 많았는데, 이 책이 그 빈 공간을 잘 채워주는 것 같습니다.
특히 이론보다는 실무에 바로 적용할 수 있는 구체적인 방법들이 많아서 당장 우리 팀에서도 써볼 만한 내용들이 가득합니다.