AWS 기반 데이터 과학 도서 리뷰

Ryan Kim
5 min readAug 27, 2023

--

AWS 서비스를 활용한 MLOps 인프라 구축하기

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

ChatGPT 이후로 초거대 규모 AI 의 새로운 모델들이 쏟아져 나오고 있다.

생성 AI가 대세로 자리매김이 된 상황에서 충분한 인프라를 구축할 수 있는 기업들은 자신만의 초거대 규모 AI (이하 LLM)을 출시하고 있으며, LLAMA2, PI AI (Inflection AI의 제품), Bing AI 등 신규 제품들을 무료로 사용할 수 있게 되었다.

MLOps 업무를 수행하다보니 되려 최근에 들리는 얘기들은 DGX와 같이 고성능 gpu 서버를 갖고 있지 못하는 스타트업이나 중견기업들의 경우, 이러한 거대 AI를 빌드하는 것이 어려울 것이라는 관점도 있다.

실제로 LLAMA2를 DGX A100 80G 그래픽 카드 한 장으로 학습을 시킬 경우, 330만 시간이 필요하다고 했으니 스타트업에게 있어 시간은 곧 비용이므로 고성능 gpu 카드를 비즈니스 모델조차 불확실한 상황에서 사용하기는 무척 어려울 것이다. (참고로 A100 GPU 80G 카드 한 장이 중고로 2000만원정도 한다.)

하지만 모든 기업들이 초거대 AI를 만들 필요도 없고, 우리는 잘 만들어진 AI를 비즈니스 현장에서 활용하면 되는 세상이 이미 왔다.

그 사례를 소개하는 책이 이번에 읽게 된 “AWS 기반 데이터 과학”이고, 개인적으로 회사에서 IDC로 추가 서버 구매해서 온프레미스 서버를 이전하기 전에 클라우드 3사 (AWS, Azure, GCP) 제품들의 MLOps 파이프라인 구축과 관련한 사항들을 비교해 본 내 입장에선 그 때 당시 필요했던 정보가 꽤 많이 있어 클라우드로 MLOps 인프라를 구축하고 싶은 사람들에게는 꽤 유용한 책이라 볼 수 있겠다.

무엇보다 클라우드 상에서 필요한 인프라를 구축하면 제일 좋은 것은 거의 대부분의 서비스가 Managed 솔루션이라는 점이다.

엔지니어가 인프라에서 발생하는 다양한 잡음 (온프레미스 서버가 꺼졌거나, gpu를 많이 사용해서 전력 부족 이슈가 있거나, 폐쇄망을 구축해서 사용하는 등)을 하나씩 통제할 필요 없고, 테라폼이나 clickops 로 운영이 가능하기 때문이다.

EKS와 같은 AWS 위에 쿠버네티스를 띄우면 MSA 방식으로 서비스 관리도 편리할 뿐더러, 같은 aws 내의 망을 사용하면 네트워크 트래픽 지연으로 인한 이슈도 해결할 수 있다.

MLOps 서비스를 운영하게 되면 많은 양의 데이터와 컴퓨팅 리소스를 사용해야하는데, 이 때 AWS 클라우드 망 내에서 s3, DB, red shift와 같은 서비스를 사용하고 있으면 사실 상 네트워크 이슈를 전혀 고려할 필요가 없다.

요약하자면, 이 책의 부제처럼 Implementing End to End ML Pipeline을 실현하는 것이다.

책에서도 제공하는 AI 서비스를 보면 이미 사실상 산업 생태계에서 클라우드 AI 애플리케이션을 안쓰는 곳이 없으며, 이것만으로도 수요가 있기에 운영되는 것을 알 수 있다.

또한 이 서비스들은 스타트업에서 자체적으로 구성한 AI의 성능을 검증하는 지표로 활용되기도 한다.

하지만, AWS를 사용할 때 몇 가지 유의 사항은 늘 고려할 것이다.

먼저 첫번째로 비용 이슈다.

스팟 인스턴스로 미리 필요한 리소스를 오버 프로비저닝으로 사용해서 비용을 줄이는 것은 가능하지만 (예를 들어, 필요한 EC2가 3개인데 5개 할당해서 인스턴스를 뺏겼을 때를 대응하는 것이 가능. 이렇게 오버 프로비저닝해도 스팟 인스턴스 자체의 비용이 저렴해서 비용 절감이 가능하다) 학습을 진행 중인 ML 프로세스에서 스팟 인스턴스로 리소스를 뺏기는 상황은 시간이라는 중요한 자원을 낭비하는 상황을 초래할 수 있다.

또한 재무재표 상에 비용 처리를 할 때, 매년 소모되는 비용이기 때문에 요즘처럼 경기가 안좋은 상황에선 온프레미스 클러스터를 구매해서 운영하는 것이 더 비용 절감하는 경우도 있다.

두번째로 타 플랫폼과의 호환성이다.

얘기한 것처럼 AWS는 Managed Solution이고, 여기에 이미 기존에 운영 중인 서비스 등을 붙여 쓰는 게 어려울 수 있다.

얘를 들어, AWS SageMaker의 경우 ML 학습을 위한 거의 모든 서비스를 다 제공하고 있다.

여기에 Jupyter notebook, mlflow, feature store, S3 등 필요한 모든 서비스를 연결해서 사용할 수 있는데 기존에 mlflow를 다른 플랫폼에서 운영하고 있었다면 네트워크 상에 트래픽에 제한이 존재할 수 있다.

세번째로 스팟 인스턴스로 GPU가 있는 인스턴스는 점유를 뺏길 확률이 더 높다.

사실 AWS 입장에서도 많은 양의 리소스를 전부 스팟으로 운영하기에는 비용적인 이유도 있고, 유휴 자원 활용 측면을 활용하는 것이니 이 부분은 비즈니스 요구 사항을 잘 반영해서 운영하는 것이 필요하다.

마지막으로 이 책을 읽으면서 AWS 서비스를 훑어 볼 때 가장 인상 깊었던 것은 AI는 산업 생태계 전반에 이뤄지는 혁신이라는 점이다.

위에 올린 AI 애플리케이션들이 아무 이유 없이 만들어지지 않았거니와, AWS 엔지니어들이 분명히 수요를 기반으로 서비스를 하나씩 추가하고 있다는 것은 분명한 사실일 것이기 때문이다.

얼마 전 배민 MLOps 세미나를 참여했는데 “AI는 이제 미래가 아닌 현재”라는 문구를 언급했다.

이젠 AI가 우리 생활을 빠르게 침투하고 있고, AI와 함께 삶을 영위하는 것이 일상화 되고 있음을 클라우드 생태계의 확장이 증명하고 있다.

Ryan

--

--

Ryan Kim
Ryan Kim

No responses yet