(해당 포스트에서 소개하고 있는 “러닝 레이” 책은 한빛미디어로부터 제공받았음을 알려드립니다.)
이제는 단순히 머신러닝 테스크를 로컬에서 돌리는 것 자체가 무의미한 시대에 들어서고 있다. 모델 자체의 크기도 점점 커짐과 더불어, 모델을 학습시킬 데이터의 사이즈도 점점 커져간다. 그래서 이제는 뭔가 인공지능 알고리즘의 파워라기 보다는 ML 인프라를 얼마나 효율적으로 사용하느냐가 모델 성능을 좌우하는 요인 중 하나가 된 것 같다. 이런 필요성 덕분에 MLOps의 개념도 예전보다 점점 중요하게 다뤄지는 것 같다.
이런 ML 인프라를 쉽고, 효과적으로 구축해줄 수 있는 툴이 있겠지만, 많이 사용되는 툴 중 하나가 이 책에서 다룰 Ray가 아닐까 싶다. Ray는 Large Scale ML에 대응하기 위한 분산처리 프레임워크이고, 처음에는 버클리의 RISE lab에서 open source로 운영하던 프로젝트가 현재에는 anyscale이란 회사에서 계속 운영하고 있다. 그냥 어떻게 간단하게만 보면 Scalable ML platform으로만 볼 수 있겠지만, 다양한 모듈을 통해서 강화학습이나 Hyperparameter tuning, serving까지 다양한 기능을 하나의 플랫폼으로 제공하고 있다. 뭔가 현업에서 분산처리가 필요하고, 효과적인 인공지능 학습을 추구하는 일을 해야 한다면 아마 Ray는 한번쯤 들어봤을 것이다. 다만 아직까지 우리나라에서는 이를 활발하게 사용하는 사례가 아직까지는 많이 없는 것 같다.
사실 개인적으로도 ray의 존재에 대해서는 일찍 알고 있었지만, 튜토리얼이나 공개되어 있는 예제들이 뭔가 내가 하고 있는 업무로 응용하기 어려운 부분이 있어서, 아 뭔가 한글로 된 자료나 책이 있으면 좋겠다 싶었는데, 이번에 번역본이 나왔다.
이 책은 기본적으로 분산 학습에 대한 이해가 어느정도 되어 있다고 가정한 상태에서 Ray의 핵습 모듈인 Ray core와 Ray tune, RLlib 등의 설명과 이와 관련된 예시를 제공하고 있다. 특히 MLOps와 관련된 업무에 Ray를 적용할 경우, 뒷부분에서 다루는 분산 모델 훈련이나 스케일링, serving, 그리고 ray air를 다루는 후반부를 살펴보면 관련된 내용을 얻을 수 있을 것이다.
책 자체가 그렇게 두껍지 않고, 그만큼 기본적인 내용을 아는 것을 전제로 설명하고 있어 전체적으로 간결하게 내용이 구성되어 있다. 어떻게 보면 기존의 오라일리의 “Learning” 시리즈처럼 뭔가 새로운 것에 대한 설명보다는 딱 실무에 최적화되어 있는 책이라고 할 수 있다. 개인적으로는 올해 새로하는 일에 Ray RLlib과 분산 학습 환경을 구성하고자 하는 목표를 가지고 있는데, 나름 이 책을 통해서 관련 내용을 얻었고, 조금 도움을 받을 수 있을 듯 하다. 특히 RLlib과 분산 어플리케이션에 소개되어 있는 내용은 강화학습을 어떻게 분산해서 처리할 수 있을까를 고민하는 사람에게는 도움이 될만한 내용을 다루고 있다. 또한 굳이 강화학습이 아니더라도, 지도학습에서 응용할 수 있는 예제도 포함되어 있기에 포괄적으로 프레임워크를 활용해보고자 하는 사람에게는 좋을 것이다.
책의 아쉬운 점이라면 물론 대다수의 번역본이 가지는 한계일 수 있겠지만, 원서가 나온지 1년이 되면서 ray도 같이 outdate된 점이다. 현재 2.9 버전때까지 나온 ray 인데, 책에서 다루는 ray 2.2보다는 그래도 나름의 최신 버전으로라도 책이나 예제 구성이 되었으면 좋지 않았을까 하는 내용이 조금 들긴 했다. 물론 과거 버전으로도 대부분의 기능들이 계속 유지되고 있긴 하지만 말이다. (개인적으로도 최근 rllib을 테스트하다가 numpy 버전에 따른 문제가 조금 있어서, 아마 버전에 따른 문제가 있을 것 같긴 하다..)
이 책의 큰 의미는 ray에 대해서 처음으로 출간된 한글 번역서라는 것이다. 그동안 영어로 인해서 조금 멀게 느껴졌던 ray를 활용하기 쉬워졌다는 점에서 잘 읽었다는 생각이 들었다. 특히 번역 내용도 깔끔하고 딱 실무에 적용하게 내용이 구성되어 있던 부분이 책 분량도 그렇고 개발자가 읽기에 딱 좋았다.