대규모 머신러닝 시스템 디자인 패턴 - 한빛미디어
초심으로 돌아가 Hello, World 를 화면에 찍고, 익숙해 질 즈음 구구단과 * 을 이용한 피라미드를 화면에 찍었던 시절을 생각해본다. 객체지향을 공부하고 메소드와 클래스를 배우고 어느 덧 객체라는 것을 어렴풋이 어쩌면 알 것도 같다는 느낌이 들 즈음, 디자인 패턴이라는 것을 배워야 한다고 누군가 알려주었다.
데이터를 저장하는 것도 대용량으로 차차 확장되다 보면 다양한 테크닉들이 등장하고 샤딩과 파티셔닝이라는 용어를 만나게 된다. 네트워크도 대역폭을 넓히기 위해서는 단순히 스위칭 장비를 넘어서 Managed Switching 장비를 통해 다양한 기법으로 대용량에 대응한다.
데이터 수집 후 데이터 셋이 대용량인 경우, 스토리지 확장은 비용으로, 순차 학습이나 모델링은 시간으로 해결할 수 있지만, 예측해야 하는 시스템이라면? 시스템의 성격과 구성이 완전히 달라져아 한다. 꼭 머신러닝이 아니더라도 대량의 요청에 의한 처리 결과를 빠르게 응답한다던지, 트래픽을 감당하기 위해서 분산 시스템으로 대응하는 것은 이 분야 종사자의 오래된 과제이면서 도전의 영역이다.
이 책은 단일 서버 ( 혹은 개인 PC ) 에서 머신러닝을 학습 또는 구성하는 단계를 막 넘어 효율성과 확장성을 고려 하면서도 중복 요청을 방지하는 로드 밸런서라든가, 전통적인 기법인 캐싱, 시스템(혹은 처리 노드) 간 메시징 관련 기술과 같이 대용량으로 데이터를 수집, 모델 학습, 선정하고 서빙하는 단계까지 고려한 과정을 담고 있다.
분산 시스템에서는 필연적으로 각각의 워커(또는 노드?) 가 필요하고 이를 가장 잘 다루는 것은 컨테이너 기술이 기반인 도커, 쿠버네티스 기술 이기에 이 책에서도 소개되며, 온라인강의로 접한 MLOps 내용과 상통하는 내용이 있어서 어렵지 않게 보완해가면서 읽을 수 있었다.
책을 읽는 내내 유투브에서 내가 클릭하는 내용을 기반으로 어떻게 데이터가 수집되는지, 어떻게 모델링을 통해 추천 영상이 노출되는지, 전세계를 상대하는 유투브가 ‘나’라는 인지능력이 있는 존재를 어떻게 조정 하는지에 대한 (음모론) 가정을 설정하고 패턴들을 접했다.
예전에 객체지향 디자인패턴을 학습할 때는 스타크래프트의 유닛을 예시로 들면서 학습 하면서 재미있었던 기억이 있다. 이 책은 그런 즐거움은 조금 부족하지만, 클라우드 환경에서 분산 시스템을 구축 하면서 만나게 되는 문제를 해결하는 과정을 통해 상황제시 > 문제발견 > 해결책의 순서대로 구성되어 진행한다. 머신러닝 워크플로우에 관심있으면서 자동화까지 관심있는 개발자라면 읽어보자.
"한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'BOOKS BOOKS BOOKS' 카테고리의 다른 글
시작! AWS - 한빛미디어 (4) | 2024.11.26 |
---|---|
테라폼으로 시작하는 IaC - 한빛미디어 (3) | 2024.10.27 |
코드 밖 커뮤니케이션 - 한빛미디어 (2) | 2024.09.29 |
실무로 통하는 타입스크립트 - 한빛미디어 (1) | 2024.07.28 |
부트캠프 QA 편 - 한빛미디어 (0) | 2024.06.23 |