리뷰/IT_책소개 / / 2023. 5. 29. 11:45

O'REILLY 머신러닝 시스템 설계 : 한빛미디어

반응형

O'REILLY

머신러닝 시스템 설계

  칩 후옌 지음

  김대근, 김영민 옮김

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

이 책은 ML에 대한 개념이나 ML 알고리즘 등에 대한 책은 아닙니다.

책 제목에서와 같이 ML 시스템 설계를 위한 지침서 입니다.

일반적인 ML 시스템 개발 관련 책과는 다르게 ML 시스템 개발을 위한 처음부터 배포까지에 대한 최대한 실무적인 부분을 느끼고 학습할 수 있도록 도움을 주고자하는 책 입니다.

그렇기에, 책에서 제시하는 대상 독자 또한 제한적 입니다.

 

[ 대상 독자 ]

책에서 필자가 바라보는 대상 독자는 아래와 같습니다.

 * 도구 개발자 : ML 프로덕션에서 서비스가 부족한 영역을 찾아내 생태계에 맞는 도구를 만들어 넣을 방안을 파악하려는 경우

* 구직자 : ML 관련 직무로 취업하려는 경우

* 기술 및 비즈니스 리더 : 제품 및 비즈니스 프로세스를 개선하기 위해 ML 솔루션 채택을 고려하는 경우

 

ML 개론서가 아니기에 ML 개론에 대해서 대략적으로 이해하고 있다는 가정에서 집필된 책이라고 명시하고 있습니다.

그래서, 아래의 내용들에 대해서 먼저 학습하기를 권하고 있습니다.

하지만, 1장과 2장의 경우에는 ML 시스템 개요와 ML 시스템 설계에 대해서 다루고 있는데,  상기 내용에 대해서 선행 학습이 없이도 어느정도 이해하는데 큰 무리는 없습니다.

하지만 4장 부터는 ML에 대해 최소 용어등에 대한 기본 개념이 있어야 좀더 쉽게 접근 가능합니다.

 

[ 책 구성 ]

이 책은 총 11개의 장으로 구성되어 있습니다.

 

1장, 머신러닝 시스템 개요

   머신러닝을 사용해야 하는 경우에 대해서 머신러닝은 무엇을 해결할 수 있을까요? 라는 질문으로 9가지로 나뉘어 정리하고 있으며, Use Case 예시를 통하여 머신러닝을 사용해야 하는 경우가 어떤게 있는지 보여주고 있습니다.

머신러닝 시스템 이해하기에서는 연구용 머신러닝과 프로덕션용 머신러닝을 비교하여 설명하고 있는 것은 신선하였으며 다양한 이해관계자와의 요구사항 부분은 전체 시스템을 바라보는 경우에는 한번즈음 고려해볼만한 부분인것 같습니다.

2장, 머신러닝 시스템 설계 소개

    이 장에서는 머신러닝 시스템 설계에 대해서 소개하고 있습니다.

머신러닝 시스템을 개발하기 전 어떤 요구사항을 충족 하여야 하는지, 케이스 마다 어떠한 것이 다른지부터 머신러닝 시스템에서의 데이터에 대한 철학적 논쟁까지 학습할 수 있습니다.

3장, 데이터 엔지니어링 기초

    데이터 소스, 데이터 포맷, 데이터 모델, 데이터 스토리지 엔진 및 처리, 데이터플로 모드, 배치처리 vs. 스트림처리 에 대해서 논의하고 있으며, 머신러닝에서 데이터에 대해서 그 종류 및 여러 처리 방법에 대해서 학습할 수 있습니다.

개론 및 소개이며 각각에 대한 자세한 부분들은 구글 또는 다른 책들을 참고 하여야 합니다.

4장, 훈련 데이터

    3장에서 소개한 데이터에 대해서 ML 모델을 개발하고 개선하는데 필요한 훈련 데이터에 대해서 설명하고 있습니다.

샘플링, 레이블링, 클래스 불균형 문제, 데이터 증강에 대해서 알 수 있습니다.

5장, 피처 엔지니어링 (Feature Engineering)

    피처 엔지니어링이란, 원시 데이터로 부터 피처 (Feature)를 추출하고 이를 머신러닝 모델에 적합한 형식으로 변환하는 작업입니다.

이 장에서는 피처 엔지니어링 관련 기법과 중요한 고려 사항에 대해서, 그리고 데이터 누수를 감지하고 방지하는 방법에 대해서, 그리고 피처 중요도와 피처 일반화를 함께 고려해 좋은 피처를 설계하는 방법에 대해서 알 수 있습니다.

6장, 모델 개발과 오프라인 평가

    작업에 가장 적합한 알고리즘을 선택할 때 유용한 여섯가지 팁에 대해서, 그리고 디버깅, 시스템 추적과 버전 관리, 분산 학습, 오토ML 모델 등의 모델 개발에 대해서, 그리고 모델 성능을 비교 및 평가 하는 방법에 대해서 설명하고 있습니다.

이 장을 통해서 ML 시스템의 ML 알고리즘에 대해서 알아보고 여러 가설에 대해서 평가하고 가장 적합한 ML 모델을 선택하는 방법에 대해서 알 수 있습니다.

7장, 모델 배포와 예측 서비스

   온라인 예측과 배치 예측, 에지에서의 ML과 클라우드에서의 ML을 비교해 모델을 배포하는 다양한 방법에 대해서 설명하고 있습니다.

8장, 데이터 분포 시프트와 모니터링

   모델이 언제 프로덕션에서 실패하는지, 모델을 지속적으로 모니터링 하여 문제를 감지하고 신속하게 해결하는 방법이 무엇인지에 대해서 설명하고 있습니다.

특히, 장애 유형인 데이터 분포 시프트를 다루면서 공변량 시프트, 레이블 시프트, 개념 드리프트라는 세 가지 시프트 유형에 대해서 알 수 있습니다.

9장, 연속 학습과 프로덕션 테스트

   연속 학습이 무엇이며, 어떤 난제가 있는지 알아보고, 연속 학습을 현실화 하기 위한 4단계 계획(수동 훈련, 자동 재훈련, 자동 상태 유지 훈련, 무상태 연속 학습)을 세웁니다.

그리고, 모델을 얼마나 자주 재 훈련 해야 하는지 알아 봅니다.

10장, MLOps를 위한 인프라와 도구

   이 장에서는 ML 시스템에 필요한 다양한 인프라 레이어를 다루고 있습니다.

스토리지와 컴퓨팅 레이어, 데이터 과학자가 코드를 작성하고 프로덕션 환경과 상호 작용하는 개발 환경, 자원관리에 대해서 논의 합니다.

11장, 머신러닝의 인간적 측면

    1장과 2장에서 이해관계자와 그들의 목표에 대해서 논의했다면, 이 장에서는 사용자와 시스템 개발자가 ML 시스템과 상호 작용하는 방법에 대해서 알아 봅니다.

이전 까지는 기술적 주제에 대해서 다루었다면, 이 장에서는 인간적 측면에서의 ML에 대해서 다루고 있습니다.

그리고, "11.3의 책임 있는 AI" 에서는 사례를 통하여 "무책임한 AI" 와 "책임있는 AI" 라는 주제를 통해 무책임한 AI의 사례로 ML시스템을 공정하고 윤리적으로 만들지 못하면 치명적인 결과를 얻을 수 있다는 것을 알리고, 데이터 과학자와 ML 엔지니어가 ML 시스템을 책임 있게 만드는데 가장 유용한 도구와 지침을 선택할 수 있는 예비 프레임 워크를 소개하고 있습니다. 

 

책 내용 중간중간에 박스 메모를 통해 알아두면 좋을 내용들에 대해서 정리하고 있습니다.

 그리고, 부연 설명이 필요한 경우 "Note" 를 통해서 정리하고 있습니다.

각 장마다 마지막에는 정리를 통하여 해당 장에서 알려주고자한 내용에 대해 간략하게 보여주고 있습니다.

 

[ 결론 ]

머신러닝 시스템 설계 책은 머신러닝에 대한 학습을 위한 책은 아닙니다.

머신러닝에 대해 용어나 알고리즘등에 대해 어느 정도 알고 있어야 학습이 가능합니다.

아쉬운 점은 대상 독자를 머신러닝에 대해서 기본 적인 것은 알고 있는 사람을 대상으로 하고 있다고 하여도 각 장에서 기본 용어나 필요한 부분들에 대해서 간략하게 나마 정리를 해주었으면 좀 더 좋았을 것 같다는 생각이 듭니다.

머신러닝에 대해서 모르는 상태에서 학습 하여도 전체는 다 알기는 힘들지만 어느정도는 이해 할 수 있도록 설명 되어있긴 하지만, 기본적인 내용들에 대해서는 우선 학습하고 본 책을 학습하면 좋을 것 같습니다.

그리고 일부 장들은 (1, 2, 3, 11장) 머신러닝을 처음 접하더라도 읽어보면 좋을 내용 인것 같습니다.

 

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

https://www.hanbit.co.kr/store/books/look.php?p_code=B1811121220 

 

머신러닝 시스템 설계

프로덕션 환경에서 머신러닝을 다룰 때 무수히 생겨나는 물음표를 해결해줄 MLOps 지침서

www.hanbit.co.kr

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유