요즘 LLM이 등장 한 이후, 모델들이 커짐에 따라 하나의 GPU에서 훈련이 가능했던 것들이 불가능해지고 있습니다.
2020년 GPT3가 나오면서 모델 크기는 175B이상을 요구하게 되었고, 거대한 모델은 하나의 GPU에서 돌리기가 매우 어려워졌습니다. 그러면서, 분산처리를 통해 훈련하려는 시도들이 많이 생겨났고, 모델 뿐만아니라 데이터에 대해서도 병렬로 훈련하고자하는 니즈들이 생겨나기 시작했습니다! 허깅페이스에서는 이러한 분산처리를 위해 패키지가 출시되었고, microsoft에서도 deepspeed를 출시하면서 분산처리에 대한 니즈들이 많아지기 시작했습니다!
LLM같은 거대모델을 훈련시키기위한 분산처리 보다는, 머신러닝에서도 적용할 수 있는 분산처리 라이브러리를 소개합니다! "ray"의 API에 대해서 소개하는 책입니다.
분산처리에 대한 개념이 아예없다면 이해하기 좀 어렵지만, 차근차근 살펴보다면 어려운 개념들도 풀어 써놓은편이라 어렵지 않을 것입니다!
이 책을 리뷰하게 된 계기는 머신러닝에 있는 하이퍼파라미터들을 튜닝하는데 자동화하는 방법으로 "레이 튠"이라는 것을 활용해보기 위해 이 책을 접하게 되었습니다. 또한, 머신러닝 뿐만 아니라 파이토치 모델 하이퍼 파라미터를 자동화하기 위해서도 "레이 튠"이 많이 활용되다는 사실도 알게 되었습니다!
사실 저에게 레이라는 개념은 레이를 사용해 분산 머신러닝 애플리케이션을 구축하는 방법보다는 머신러닝이나 딥러닝 모델의 하이퍼 파라미터를 자동화하는 측면에서 많이 활용 했던 것 같습니다!
이 책을 리뷰하면서 하이퍼파라미터 자동화 기법 뿐만 아니라 강화학습 라이브러리도 있고, 레이 데이터셋을 사용해 대용량 데이터를 효율적으로 처리하는 방법 그리고 다스크 온 레이(Dask on Ray)라는 툴로 파이프라인을 개선하고 효율적으로 대규모 배포를 수행하는 법도 다룹니다. 마지막으로 클라우드에서 레이 클러스터를 사용하고 확장하는 방법을 알려주는데 이거는 쿠버네티스를 아시는 분이라면 좀 수월하게 접근이 가능할 것 같습니다!
그리고 이 책은 심플한 그림으로 개념을 소개하고 있습니다. 파이토치에 레이 트레인을 활용해서 모델 훈련하는 간단한 예제를 보여주고 있고 트레이너 내부 구조를 간단한 그림으로 설명하고 있어 독자의 이해도를 높여주고 있습니다!
사용하는 방법은 비교적 쉽지만, huggingface에서 제공하는 DDP와 그리고 microsoft에서 나온 deepspeed와는 어떤 차이점이 있는지 따로 살펴보아야겠습니다! 머신러닝에서 자주 쓰이는 레이에 대해 살펴보았고, 이후에는 조금 더 깊게 읽어보고 다른 라이브러리와의 장단점에 대해 포스팅 해보도록하겠습니다!
** 글또와 한빛미디어 콜라보로 제공받고 쓴 서평 후기 입니다 **
'서평' 카테고리의 다른 글
개발자를 준비한다면? 신입개발자가 지녀야할 태도를 알고싶다면? "요즘 개발자"책 (0) | 2024.03.01 |
---|---|
파란만장했던 2023년의 회고 (4) | 2023.12.28 |
NFT와 DAO 스터디와 퍼실리테이팅의 중요성 (0) | 2022.04.23 |
재미있게 배우는 Do it! BERT와 GPT로 배우는 자연어처리 읽고 난 후기~~!!! (0) | 2022.01.06 |