무말랭이 숙성중

[리뷰] 러닝 레이 본문

리뷰

[리뷰] 러닝 레이

손혜정 2024. 2. 25. 23:44

오랜만에 기술서적을 읽었다. 이번엔 '러닝 레이'라는 책을 읽어봤다.

 

 

사용해본적은 없은데, ray download양으로 봤을땐 생각보다 많은 것 같다 (torch랑 비교함)

https://pypistats.org/packages/ray

 

PyPI Download Stats

ray PyPI page Home page Author: Ray Team License: Apache 2.0 Summary: Ray provides a simple, universal API for building distributed applications. Latest version: 2.9.3 Required dependencies: aiosignal | click | filelock | frozenlist | grpcio | jsonschema |

pypistats.org

 

 

 

 

 

레이는 분산 컴퓨팅 프레임 워크로써, 머신러닝, 데이터 처리, 실시간 서비스 등 다양한 분야에 활용된다고 한다.

pip install ray <- 요런 방법으로 설치해서 사용하고, 클러스터를 구성하고 데이터 처리, 모델 훈련, 하이퍼파라미터 튜닝, 모델 서빙을 쉽게 할 수 있도록 API를 제공한다.

 

 

 

 

 책이 약 300장이 조금 안되는데 가볍게 읽을만 하다고 생각했지만, 생각보다 연관된 개념과 기술들이 꽤 있어서 시간이 좀 걸렸다.

 

 목차는 온라인 서점에서 확인할 수 있으니 넘어가겠다.

 간단하게 정리하자면, 처음엔 레이는 무엇인가? 에 대해 배우고, 맛을 본다.

 이후엔 레이를 사용하는 분산 컴퓨팅,  애플리케이션 개발, 강화학습(RLib) 실험, 하이퍼파라미터 튜닝,  데이터셋 구성하고 분산처리 적용하는 파이프라인 구축, 분산 모델 훈련(트레이너 사용), 추론(레이 서브), 쿠버네티스 배포 등이 있다.

 

 

친절하게, 레이의 구조적인 구성, 언제 어떻게 쓰이는지 글과 그림으로 알려주고 코드로 예시까지 제공해준다.

 이 부분은 첫장 '레이 살펴보기'에 나오는 하이퍼 파라미터 튜닝 부분의 코드 예시이다. 이 뒤엔 모델 서빙에 대한 코드 예시도 나오는데, 소개를 위해 쉽게 작성한 코드임을 알지만 그래도 정말 쉽게 사용이 가능하다는 걸 알 수 있다. (코드마다 친절하게 코드 포함) 

 몰론 실제 서비스를 만드는데엔 이렇게 쉽게 안되겠지만...

 

 레이의 동작 과정 - 여기에선 레이가 종속성 그래프를 만들고 종석성에 따른 순서대로 실행하는 과정- 을 그림으로 보여주면서 이해를 돕는다.

 

 

뒷부분으로 갈 수록 예시 프로젝트를 통해 전체 파이프라인 구축을 해본다. 복잡한 시스템은 아니고, 필요한 구성요소 부분은 포함되어있어서 레이 학습에 충분한 것 같다.

 

 

 

좋은점

 개인적으로는 머신러닝 시스템의 분산 컴퓨팅 프로그래밍에 대해 배우는 좋은 기회였다고 생각한다. 튜닝만 해봤다거나 모델 서빙만 해봤다고 하더라도 전반적으로 파이프라인의 모든 과정을 이 책과 함께 해볼 수 있었다. 분산 컴퓨팅을 하기 위해 내가 모르는 과정들이 나와도 차근차근 따라간다면 책을 다 읽고 나서는 그 개념에 (전문적이진 못하더라도) 이전보다 익숙해지는 점이 좋았다. 

 

어려운점

 사실, 분산 컴퓨팅을 프로그래밍 해야 하는 상황이 결코 흔하거나 쉬운 상황은 아니라서...비동기 프로그래밍, 스케줄링, 메모리 관리, 맵리듀스 등등 여러 기술들이 익숙치 않다면 뒷장으로 넘어가기 쉽지 않은 것 같다.

 

 내가 하는 시스템에 실제로 적용해볼 수 있을지 자신은 없지만, 유익했다. :)

 

 

*이 글은 한빛 미디어 '나는 리뷰어다'를 통해 책을 제공받아 작성한 서평입니다.