HPE 의 새로운 AI 플랫폼 MLDE, MLDM

강주희
2024-04-05
조회수 1866


안녕하세요 😊


오늘은 HPE 의 새로운 AI 플랫폼인 MLDE, MLDM 에 대해 설명해 드리려고 해요~~!


ec71f911e18e7.png


AI 플랫폼은 크게 Data, Development/Training, Deployment/Inference 3가지 부문으로 나누어져 있습니다.

일부만 가져왔는데도 수많은 오픈소스가 존재하죠 😅


HPE 는 이 많은 오픈소스 중 Data 부문에서는 Pachyderm, Development/Training 부문에서는 Determined AI 를 택하여 브랜드화하였습니다!!


Pachyderm 을 MLDM (Machine Learning Data Management) 으로,

Determined AI 를 MLDE (Machine Learning Development Environment) 라는 이름으로 상용화하였습니다~


44f50f7a1bf85.png


Data Processing 및 Management 를 담당하는 MLDM,

Model Development 및 Optimization 을 담당하는 MLDE,

Model Deployment 및 Monitoring 을 담당하는 KServe 가 있는데요!!


여기서 KServe 는 아직 HPE 가 인수하지 않았지만, 곧 인수할 예정이라고 하며 KServe 또한 MLDE/MLDM 과 마찬가지로 네이밍이 변경될 예정이라고 합니다~


먼저 간략하게 설명해볼게요~!

MLDM 은 머신러닝을 위한 데이터 전처리를 담당하는 플랫폼이며,

MLDE 는 머신러닝을 위해 모델 학습 및 최적화를 위한 플랫폼입니다.

마지막으로, KServe 는 트레이닝된 모델을 배포하는 플랫폼입니다!


이 3가지 플랫폼을 어떤 식으로 활용하는지 알아볼까요??


dc049f8a37eec.png

먼저, 데이터를 가져와 MLDM 에서 모델을 트레이닝하기 위한 데이터 전처리를 합니다.

여기서 데이터 전처리란, 데이터를 분석 및 처리에 적합한 형태로 만드는 과정을 의미합니다!


다음으로 MLDE 에서 전처리 된 데이터를 가져와 모델을 트레이닝합니다.

그 후 트레이닝된 모델을 모델 레지스트리에 저장을 합니다~


마지막으로 KServe 에서 저장된 모델을 가져와 배포하게 됩니다!!


MLDM 을 활용하여 파이프라인을 생성할 수 있는데, 생성된 파이프라인을 통해 워크플로우를 자동화할 수 있습니다.

각각의 과정을 모니터링 할 수도 있어요~~


또한, Ezmeral 의 DataFabric 과도 연동할 수 있는데요!

DataFabric 에서 데이터를 가져와서 모델 트레이닝 할 수 있고, 트레이닝 된 결과를 DataFabric 에 저장할 수도 있습니다~


이 3가지 플랫폼을 이용하여 데이터 전처리, 후처리, 중간 트레이닝 과정까지 대부분의 워크로드를 손쉽게 할 수 있어요!!


이제 각 플랫폼에 대해 자세히 설명해볼까요?? 😚


MLDM (Machine Learning Data Management)


먼저 MLDM 의 특징에 관해 설명해볼게요~~


57e22c14ebde4.png


MLDM 의 특징으로 3가지가 있습니다!


MLDM 을 통해 데이터가 어떻게 흘러가는지에 대한 파이프라인을 볼 수 있으며, 데이터를 버전별로 관리할 수 있습니다.

또한, 어떠한 데이터나 어떠한 소스를 MLDM 에 가져와 전처리할 수 있답니다!


1. 자동으로 트리거된 Data Process Pipeline



보시는 거와 같이 Data 가 흘러가는 모습을 볼 수 있는데, 데이터의 변경 내용에 따라 파이프라인을 자동으로 생성하게 됩니다!


2. Data Versioning 및 Data Lineage



데이터를 버전별로 관리할 수 있습니다.

데이터에 대한 변동사항이 있으면, 변동한 내용을 관리하여 이전 버전으로 되돌아갈 수도 있습니다!

많이 사용하시는 git 처럼 변동사항을 commit 하거나 branch 를 생성할 수도 있어요~

예를 들어, git 의 branch 처럼 v1.0, v1.1 로 만들어 저장하여 버전 관리가 쉽습니다!


또한, 생성된 파이프라인 과정으로 워크플로우가 실행되면 실행되는 동안 변경되는 내용도 저장되어 관리할 수 있습니다.

이것이 Data Lineage 즉, 계보 관리라고 합니다!!


3. Any Data, Any Source 지원


ce851d0f28554.png


MLDM 은 정형데이터, 비정형데이터 모두 지원하며 데이터를 가리지 않고 어떠한 데이터든 전처리할 수 있습니다.

또한 Snowflake, Redshift, Object Storage 등과 같은 여러 오픈소스에서 데이터를 가져올 수 있습니다!


이렇듯 MLDM 은 대용량의 데이터 및 여러 형태의 데이터를 가져와 전처리하고 관리하는 데이터 엔지니어 및 데이터 사이언티스트에게 적합한 솔루션입니다~


MLDE (Machine Learning Development Environment)


eb1f844834f83.png


MLDE 의 특징은 다음과 같아요!


내장된 Jupyter Notebook 을 이용하여 모델을 트레이닝할 수 있고, 멀티 GPU 를 통해 분산 트레이닝할 수 있습니다!!

여기서 분산 트레이닝이란 하나의 Model 을 다수의 GPU 나 Node 로 트레이닝하는 것이에요~

분산 트레이닝을 하게 되면 더 빠르게 모델을 트레이닝할 수 있겠죠!


또한, Tracking 기능인 Checkpoint 를 통한 Snap 기능도 있습니다.

MLDE 의 가장 큰 특징으로 GPU 관리가 쉽다는 점이 있습니다!!


1. Jupyter Notebook



먼저, Jupyter Notebook 입니다.

Jupyter Notebook 은 주로 개발자들이 모델을 학습하거나 데이터 탐색을 위한 프로그래밍 도구입니다!

MLDE 는 이 Jupyter Notebook 을 이용하여 모델을 트레이닝할 수 있어요~


2. 분산 트레이닝과 하이퍼파라미터 최적화



현재 머신러닝은 점차 거대한 데이터세트와 더욱 복잡한 모델을 활용하게 됩니다.

따라서 하나의 GPU 를 사용하여 모델을 학습하게 되면 트레이닝 시간이 오래 걸려 멀티 GPU 를 활용하는 방안이 나오게 되었습니다!!


멀티 GPU 를 통해 모델을 학습시키게 되면 트레이닝 시간이 단축되어 어플리케이션 개발 속도를 높이고 반복 주기를 향상할 수 있습니다.

MLDE 를 통해 멀티 GPU 로 모델 트레이닝을 시키게 되면 단일 GPU 로 모델 트레이닝하는 것과 비교하여 시간이 단축되는 것을 확인할 수 있어요~



하이퍼파라미터는 모델 학습 전에 미리 정해줘야 하는 변수나 파라미터를 뜻해요!

하이퍼파라미터로 어떤 값을 사용하냐에 따라 모델의 성능이 크게 달라질 수 있습니다.

따라서 모델의 성능을 최대한 높여주는 좋은 하이퍼파라미터를 찾는 것이 중요한데 이를 하이퍼파라미터 튜닝이라고 합니다~

MLDE 를 이용하여 여러 번 모델을 돌림으로써 최적의 값을 찾을 수 있어요!!



3. Experiment Tracking



트레이닝을 하다가 에러가 발생하거나, 인식이 되지 않게 되면 맨 처음부터 다시 트레이닝해야 합니다. 😣

이러한 것을 방지하기 위해 MLDE 에서는 Checkpoint 기능이 있는데, Snapshot 과 비슷하다고 생각하시면 됩니다!


모델을 트레이닝하는 동안 자동으로 Checkpoint 가 생성이 되며, 문제가 발생하게 되면 해당 부분으로 돌아가서 그 지점부터 다시 트레이닝할 수 있습니다~

Checkpoint 를 통해 모델 트레이닝하는 동안 에러 발생으로 인해 지연되는 시간 문제를 해결할 수 있어요.


4. 향상된 GPU 리소스 관리 및 모니터링

c1a3b9000d430.png


왼쪽 그림은 일반적인 GPU 사용 모습이에요~

일반적으로 한 VM 이 하나의 GPU 를 점유하게 되어 GPU 를 사용하지 않더라도 다른 VM 에 GPU 를 할당할 수 없게 됩니다.


반면 MLDE 는 클러스터 단위로 관리하게 되어 한 사용자가 GPU 를 사용하지 않으면 다른 사용자가 GPU 를 사용할 수 있는 구조입니다!

이로 인해, 유연한 GPU 사용이 가능합니다~!



보시는 거와 같이 GPU Resource Pool 이 생성되어 점유된 GPU 사용량을 가시화하여 확인할 수 있습니다.

한 사용자가 사용하다가 해당 작업이 완료되면 GPU Resource Pool 에서 제거가 되며, 다른 사용자가 해당 GPU 를 다른 작업에 사용할 수 있게 됩니다!


또한, GPU Pool 과 CPU Pool 이 나뉘어 관리가 되기 때문에 무거운 모델을 돌릴 때는 GPU Pool 을 지정하여 모델을 학습시킬 수 있으며, 텐서보드와 같은 가벼운 작업을 실행하게 되면 CPU Pool 을 지정하여 효율적으로 리소스 관리가 가능합니다~


여기까지 MLDE 와 MLDM 의 특징을 살펴보았습니다~!

MLDE 와 MLDM 을 이용하여 쉽게 AI 환경을 구축하는 것에 도움이 되었으면 좋겠습니다 😃




c7b3c341ca06c.png


     

이용약관 ㅣ 개인정보취급방침 ㅣ 마케팅활용동의

동국시스템즈 ㅣ 주소: (04539)서울특별시 중구 을지로5길 19 페럼타워 9층  대표이사: 김오련

사업자등록번호: 102-81-42611  전화: 02) 2101-0900  팩스: 02) 3789-8780 Copyright 2020 DONGKUK SYSTEMS  All rights reserved