티스토리 뷰

5월 리뷰어 신청을 했을 때 많은 고민을 한 것 중 하나가 머신러닝 시스템 설계를 받게 되면 잘할 수 있을까 하는 고민이 먼저 되었는데 해당 도서를 받게 되어 정독을 한 도서입니다.

머신러닝이란 주제는 몇 년 전부터 관심이 있었지만 실무에서는 다른 업무를 담당하고 있어 잘 모르는 영역이지만  Iot 프로젝트를 수행하면서 수집 테이터를 통해 머신러닝의 기초가 되는 데이터를 모으고 분류하는 전처리 단계 프로세스의 다음 단계에 대한 관심으로 이 도서를 읽게 되었습니다.  다음은 머신러닝 시스템 설계의 구성입니다.

Chapter 1: 머신러닝 시스템 개요 : 머신러닝을 왜 사용해야 하는지 유스케이스틀 통해서 이야기하고 있으며 연구용과 프로덕션용 머신러닝 및 전통적인 소프트웨어 설계와 머신러닝 시스템 설계의 차이점을 초보자도 쉽게 이해할 수 있도록 설명하고 있습니다.

Chapter 2: 머신러닝 시스템 설계 소개 : 머신러닝 설계 시 고려 사항에 대해서 이야기하고 있는데 전통적인 소프트웨어 설계에서도 가장 중요한 요구사항을 어떻게 충족을 해야 하는지에 대해서 여러 관점으로 살펴보고 있으며 데이터의 역할에 대해서 다양한 접근 방법을 이야기하고 있습니다. 머신러닝의 기초는 어떻게 데이터를 보유하는 것인데 이 부분에서 아이디어를 얻을 수 있을 것입니다.

Chapter 3: 데이터 엔지니어링 기초 :  머신러닝에서 사용할 데이터를 어떻게 분류하고 어떤 포맷으로 저장할 것인가에 대해 설명한 부분으로 실무에서 많이 고민한 부분에 논하고 있어서 많은 부분이 적립된 곳입니다. 관계형 모델, 문서 모델, 그래프 모델에 대한 설명부터 트랜젹션 처리, 분석 처리. 실시간 처리를 위한 메시지 큐 그리고 배치 처리, 스트림 처리 등 데이터를 어떻게 처리하는 방법에 대한 아이디어를 얻을 수 있습니다.

Chapter 4: 훈련 데이터 : 머신 러닝 알고리즘에서 수집된 데이터를 요구 사항에 충족하는 데이터를 샘플링하는 방법에 대해서 설명하고 있고 레이블을 부족에 대한 지도 학습, 준지도 학습, 전이 학습,  능동적 학습등에 대해서 설명하고 있습니다,

Chapter 5: 피처 엔지니어링 : 머신 러닝에서 가장 중요한 피처에 대한 설명으로 피처 엔지니어링 관련 기법과 고려사항과 좋은 피처를 설계하는 방법에 대해서 설염 하고 있습니다.

Chapter 6: 모델 개발과 오프라인 평가 : 모신 러닝에서 모델을 선택하는 병법에 대해서 개별 모델 아키덱쳐의 장단점과 모델 앙상블을 설명하고 있으며 요구 사항에 적합한 모델을 생성하기 위한 고려 사항에 대해서 이야기하고 있습니다. 또한 모델 생성과정의 버전관리가 왜 필요한지, 많은 데이터를 처리하기 위한 분산 훈련 기술에 대한 방법 또한 설명하고 있습니다. 마지막으로 선택한 모델에 대한 다양한 평가 기술을 설명하고 있습니다.

Chapter 7: 모델 배포와 예측 서비스 : 머신러닝 엔지니어링의 배포를 온라인, 베치 , 클라우드에서 배포하는 방법에 대해서 네트워크 레이턴시와 클라우드비용, 엣지의 리소스에 따른 프로덕션 배포 전략에 대한 아이디어를 얻을 수 있습니다.
 
Chapter 8: 데이터 분포 시프트와 모니터링 : 배포 아후 프로덕션 환경에서 시스템 장애와 머신러닝 관련 장애애 중 머신 러닝 장애에 대한 장애를 시스템 설계 측면과 연결해서 설명하고 있으며 머신러닝 모니터링의 어려움을 설명하고 있으면 어떤 지표로 모니터링을 해야 할지 아디디어를 얻을 수 있습니다.

Chapter 9: 연속 학습과 프로덕션 테스트 : 프로덕션 환경에서 변하는 데이터에 대해서 지속적으로 모델에 반영하는 방법과 실시간 기술과의 병합에 대한 아이디어 및 솔류션을 확인할 수 있습니다.

Chapter 10: MLOps를 위한 인프라와 도구 : 머신러닝 시스템에 필요한 인프라 영역의 리소스에 대한 설명과  모신러닝 시스템의 인프라 구성을 어떤 관점에서 해야 할지 가이드를 제공합니다.

Chapter 11: 머신러닝의 인간적 측면 : 머신러닝 시스템을 조직과 연관되고 각 기술과 조직이 융합되어야 하는지 사례 연구를 통해서 살펴볼 수 있습니다.

머신러닝 시스템 설계 도서는 데이터 수집 및 전처리, 훈련데이터 생성, 피치 엔지니어링, 모델 및 평가, 배포, 모니터링등 머신 러닝 시스템의 전체 적인 개념을 익힐 수 있습니다. 또한 머신러닝을 담당하고 있는 현업 담당 관리자가 이 도서를 통해서 머신러닝에 대한 전반적은 개념을 습득하여 실무에 적용할 수 있는 지침서로 활용할 수 있으며, 인프라 담당자에게 어떤 도구를 사용할지 가이드로, 머신러닝 기획자에게는 어떤 뷰로 대시보드를 작성하고 활용할 수 있는 지침이 될 수 있어 머신러닝을 학습하는 학생과 실무에 적용하는 모든 관련 분들에게 추천합니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."