convin***
2024-12-26

이제는 단순히 데이터를 적재하는 시기에서 벗어나 많은 곳에서 머신러닝을 여러 비즈니스 모델에 적용하고 있다. 이러한 상황에서 무엇보다 중요한 것은 증가하는 수요에 맞게 확장 가능하면서 보안까지 보장되는 시스템의 필요성이다. 이를 위해서 모델을 개발하는 엔지니어는 안정적인 확장에 대하여 고민해야 할 필요성이 커졌고, 시도해볼 수 있는 것이 바로 이 책에서 다루고 있는 분산 머신러닝 시스템이다.
분산 머신러닝 시스템이란 데이터의 수집과 학습, 서빙 등 애플리케이션의 각 단계를 수행하는 다양한 구성 요소와 파이프라인으로 이루어진 분산 시스템을 의미한다. 일반적인 분산 시스템 방법론을 이용하면서도 머신러닝에 최적화될 수 있는 설계가 요구된다는 점이 특징이다. 이 책에서는 텐서플로, 쿠버네티스, 쿠브플로, 도커, 아르고 워크플로와 같은 많이 사용되는 최신 프레임워크를 사용하여 분산 머신러닝 시스템의 다양한 구성 요소를 구축하는 방법에 대해서 알아보고, 엔드투엔드 파이프라인을 구축하는 실습 프로젝트까지 진행해볼 수 있다.
이 책에서는 분산 머신러닝 시스템을 총 14개의 패턴으로 나누어 설명한다. 예를 들면, 제한된 메모리로 무거운 연산을 실행해야할 때 사용할 수 있는 배치 처리 패턴, 매우 큰 데이터셋을 여러 워커에 분산시키는 샤딩 패턴, 효율적인 학습을 위해 데이터를 재활용하는 캐싱 패턴 등이 있다. 또한 각 패턴마다 예제라는 항목하에 3가지씩 해당 패턴에 대해 다시 생각해볼 수 있는 질문을 던진다. 이 질문을 통해 단순히 패턴을 인식하고 지나가는 것이 아닌, 언제 어떻게 활용할 수 있고 효율적인지를 다시금 인지하고 넘어갈 수 있게 되어 있다.
예상 독자가 머신러닝 애플리케이션을 실제 사용자가 사용하는 환경에 배포해본 경험이 있고, 파이썬과 배시를 1년 이상 사용한 사람인 만큼 책의 내용이 완전한 입문 레벨의 수준은 아니다. 하지만 그렇기에 어느정도 기본적인 부분들은 사용해 본 경험이 있으면서 분산 환경을 사용해야 하는 실무자에게는 무척이나 유용할 것으로 생각된다.
한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다