요즘 대기업에서는 A.I 및 IoT를 위해 머신러닝에 대해 개발을 추진하는 추세입니다. 머신러닝이란 기술은 인간의 뇌구조를 묘사한 뉴럴 네트웍에 기반한 기술이고 굉장히 다양한 일들을 하고 있는데 예전에는 단순히 로봇에 학습을 시켜서 사람을 따라하게 만들었지만 이제는 로봇뿐만 아니라 스피커, 청소기등등이 자신들이 가지고 있는 학습 데이터에 기반해서 판단을 내리고 행동하는 초연결시대로 나아가기 위한 기술이기 때문입니다. 그래서 구글, 삼성같은 IT관련 대기업들은 이미 머신러닝에 관련된 기술자들을 교육해서 키워내는 등 첫번째 선두로 등장하기 위해 엄청난 경쟁을 벌이고 있을 정도로 21세기의 핵심 기술중 하나입니다.
제가 이 책을 선택한 이유는 저자 분이 인공지능 관련 이론 지식에서 나아가 어떻게 하면 서비스를 효율적으로 배포할 수 있을지에 대해 심도있게 고민한 내용을 담고 있고 원시 데이터부터 인공지능 결과물을 사용하게 될 사용자 입장까지 고려하며, 데이터에서 찾은 가치를 사용자에게 효과적으로 전달하기 위한 머신러닝 시스템 설계 방법을 설명하고 있기 때문입니다.
이 책의 특성은 머신러닝 시스템을 만들 때 고려해야 하는 모든 요소를 저자 분이 스탠퍼드 강의에서부터 축적해온 연구 및 다양하게 경험한 내용으로 이해하기 쉽게 설명할 뿐 아니라 그동안 업계에 공유된 유용한 자료들을 언급해 독자가 더 넓은 시야를 가질 수 있도록 도와주고 산업계에 꼭 필요한 여러 기술들과 꿀팁들을 머신러닝의 End-to-End 개발 플로와 함께 이해하기 쉽게 모든 과정을 실무적인 관점에서 다루기 때문에 빠르게 실무에 적용할 수 있다는 점입니다.
구성
Chapter 1: 머신러닝 시스템 개요
Chapter 2: 머신러닝 시스템 설계 소개
Chapter 3: 데이터 엔지니어링 기초
Chapter 4: 훈련 데이터
Chapter 5: 피처 엔지니어링
Chapter 6: 모델 개발과 오프라인 평가
Chapter 7: 모델 배포와 예측 서비스
Chapter 8: 데이터 분포 시프트와 모니터링
Chapter 9: 연속 학습과 프로덕션 테스트
Chapter 10: MLOps를 위한 인프라와 도구
Chapter 11: 머신러닝의 인간적 측면
파트별로 나누어 봤을때 1~3장은 프로젝트 목표를 잘 선택하고 간결한 솔루션에 도달하기 위해 문제를 구성하는 방법에 대해 설명하고 있고, 4~6장은 학습 데이터를 생성하고 피처 엔지니어링을 수행하는 일부터 개발 환경에서 모델을 개발하고 평가하는 과정에 대해, 7~9장은 배포한 모델을 지속적으로 모니터링하면서 변화하는 환경과 비즈니스 요구 사항에 맞춰서 업데이트 하는 방법에 대해, 10~11장은 MLOps를 위한 개발환경 및 도구, 저자분의 협업했었던 사례와 실제로 있었던 사례에 대해 설명하고 있습니다.
개인적인 생각으로 학습은 머신러닝 프로그래밍을 처음 배우는 초보자, ML 엔지니어, 데이터 과학자, 데이터 엔지니어, ML 플랫폼 엔지니어, 엔지니어링 관리자 등 ML 관련 직무로 취업 및 이직을 희망하시는 분들께서는 우선 ML 모델, 신경망 아키텍쳐, 지표, 통계 같은 기초 개념과 기본 ML 기술, 일반적인 ML 작업 등 기술적인 요소에 대해 학습하신 다음에 1장부터 시작하시면 좋을 것 같고 어느정도 경험이 있으신 분들(2년차~ 또는 ML 플랫폼 및 ML 서비스를 구축 및 관리한 경험이 있음)부터는 2장까지는 쭉 훓으시면서 머신러닝 시스템에 대해 파악한다는 방식으로 보시고 3장부터 학습하시는 것이 좋을것 같습니다.
개인적으로 약간의 단점이 어쩌면 욕심일수도 있는게 좀더 많은 실습 예제 및 비즈니스 케이스가 담겨있으면 더 좋았지 않았을까라는 아쉬움이 있습니다.
저의 리뷰를 읽어주셔서 감사합니다. 다음에는 좀더 유용하고 좋은 책으로 더 나은 리뷰를 통해 여러분께 책을 소개시켜드릴 수 있도록 더 노력하겠습니다.
감사합니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."