MLOps 플랫폼으로 유명한 cnvrg.io가 NVIDIA DGX A100의 멀티 인스턴스 GPU(이하 MIG) 기능을 본격적으로 지원합니다. DGX A100은 NVIDIA A100 Tensor Core GPU를 장착한 최신 시스템입니다. DGX A100에서 많은 이들이 주목하는 기능 중 하나로 MIG를 꼽습니다. MIG는 모델 개발, 트레이닝, 인퍼런싱 등 다양한 단계에 있는 프로젝트를 각각 독립적인 하드웨어 자원을 제공하는 인스턴스 상에서 운영할 수 있도록 돕습니다. 이 기능을 이용하면 고가의 GPU 자원 활용률(Utilization)을 극대화할 수 있습니다. 또한, 데이터 과학자, 개발자 등 GPU 자원을 이용해 인공 지능 관련 프로젝트를 추진 중인 담당자들은 자신만을 위한 독립 시스템 운영의 편의성을 누릴 수 있습니다. cnvrg.io는 MLOps 플랫폼 중 처음으로 MIG를 지원합니다. 이것이 뜻하는 바는? 네, MLOps 환경에서 자원 활용률과 사용자 편의성 모두 극대화할 수 있는 새로운 길이 열린 것입니다.
MIG가 무엇이길래?
MIG를 활용하면 A100 GPU를 최대 7개로 분할할 수 있습니다. 각각의 인스턴스는 자체 메모리, 캐시, 컴퓨팅 리소스를 사용합니다. A100 GPU 한 개를 7개의 GPU 가속 기반 시스템처럼 분할해 사용한다고 이해하면 됩니다. 각 인스턴스에서는 인공 지능, HPC, 첨단 분석 등 다양한 워크로드를 실행할 수 있습니다. 또한, 각 인스턴스는 물리적으로 격리된 환경인 만큼 장애 역시 한 쪽의 문제가 다른 영역에 영향을 끼치지 않습니다.
활용 시나리오를 볼까요. A100 GPU 한 개는 다양한 자원 조합으로 쪼개어 쓸 수 있습니다. 가령 20GB 메모리를 할당한 MIG 인스턴스 2개로 구분하거나, 10GB 메모리의 인스턴스 3개로 나누거나, 5GB 메모리 용량의 인스턴스 7개로 만들 수 있습니다. 자원이 많이 필요한 트레이닝 워크로드 위주로 돌린 다면 메모리 할당을 늘려 인스턴스 수를 조금만 잡으면 되고, 자원이 그다지 많지 않아도 되는 인퍼런스 작업이 많다면 최대치인 7개로 나누는 것처럼 워크로드의 자원 요구에 맞춰 인스턴스에 자원을 할당하면 됩니다. MIG를 이용하면 200가지에 달하는 자원 조합으로 인스턴스를 구성할 수 있습니다. 이렇게 사용하면 한 대의 DGX A100은 작은 데이터센터가 됩니다. MLOps 측면에서 보면 MIG 사용은 양날의 칼과 같습니다. 리소스 할당, 예약, 공유, 모니터링이 전제가 되지 않으면 너무 높은 복잡성이 문제가 될 수 있기 때문입니다. 이런 이유로 cnvrg.io는 MLOps 플랫폼에 MIG 기능을 통합하였습니다. 셀프서비스 환경에서 데이터 과학자, 개발자가 편리하게 리소스를 이용하고 인프라 관리자는 평소와 같이 리소스 할당, 예약, 공유, 모니터링을 할 수 있게 하기 위해서입니다.
MIG를 활용한 MLOps 및 리소스 관리
cnvrg.io의 MLOps 플랫폼을 이용하면 한 번의 클릭으로 MIG 인스턴스를 사용할 수 있습니다. 데이터 과학자는 다른 컴퓨팅 리소스를 쓸 때와 같이 사전에 선별된 템플릿 메뉴에서 MIG 리소스를 워크로드에 할당할 수 있습니다. 이렇게 마련한 독립적인 인스턴스 환경에 NVIDIA NGC에서 필요한 소프트웨어, 프레임워크, 라이브러리 등을 담은 컨테이너를 불러와 사용하면 됩니다. cnvrg.io의 MLOps 플랫폼은 백그라운드에서 메타 스케줄러를 이용해 MIG 인스턴스를 예약하고, 작업이 완료되면 다시 MIG 인스턴스 풀로 자원을 반환합니다. 사용자가 일일이 신경 쓸 필요가 없습니다. MIG 인스턴스 자원 풀은 지속적으로 모니터링되는 가운데 할당과 반환이 이루어집니다. 이에 따라 이상적인 MLOps, DevOps 환경을 위한 자원 관리가 가능합니다. 참고로 MIG 템플릿은 사용자 편의에 맞게 만들 수 있습니다. cnvrg.io의 MLOps 플랫폼은 사용자 친화적인 GUI, CLI, Python SDK를 제공합니다. 따라서 편한 방식으로 템플릿을 작성하면 됩니다. 이렇게 만든 템플릿은 cnvrg.io 메타 스케줄러가 관리하는 MIG 자원 풀의 일부가 됩니다. 다른 머신 러닝 리소스와 마찬가지로 MIG 자원 풀은 물리적으로 위치가 다른 DGX A100 서버나 다른 데이터센터 내에 있는 시스템의 것이 될 수 있습니다.
cnvrg.io의 MLOps 플랫폼을 이용해 머신 러닝 파이프라인 설계를 해봤다면, 아주 쉽게 파이프라인에 맞게 MIG 인스턴스를 할당할 수 있습니다. 이때 사용자는 가용성, 우선순위 같은 기준에 따라 인스턴스를 유연하게 할당할 수 있습니다. 모든 MIG 인스턴스가 사용 중일 경우 클라우드 사업자가 제공하는 NVIDIA V100 GPU 인스턴스를 이용할 수도 있습니다. 자원이 없어 프로젝트 진행에 차질이 생기는 일이 없겠죠. MIG 인스턴스 할당은 다음과 같이 이루어집니다. 이 예는 데이터 준비 작업을 위한 Spark 워크로드를 전체 GPU로 할당하고, 18개의 TensorFlow 트레이닝 워크로드는 총 18개의 인스턴스(1g.5GB A100 MIG)로 할당하는 것을 보여 줍니다. 데이터 과학자 입장에서 보면 트레이닝, 분석, 인퍼런싱을 동시에 여러 독립적인 인스턴스를 이용해 처리할 수 있게 됩니다.
인프라 관리자에게 자원 모니터링과 사용률 추적 및 리포팅 기능은 매우 중요합니다. cnvrg.io의 MLOps 플랫폼은 MIG 통합 덕에 풍부한 대시보드 상에서 MIG 자원 풀 이용 현황에 대한 통찰력을 확보할 수 있습니다. 현재 조직에서 이용 중인 A100 GPU의 MIG 인스턴스를 혼선 없이 추적할 수 있으며, 각각에 대한 할당 내용 및 가용성 등도 대시보드를 통해 직관적으로 파악할 수 있습니다. 이상으로 A100 GPU의 MIG 기능을 MLOps 또는 DevOps 플랫폼에서 이용하는 쉽고 편리한 방법을 알아보았습니다. 더 자세한 내용은 유클릭으로 문의 바랍니다. #MLOps #NVIDIA #A100 #A100_GUP #DGX_A100 #NVIDIA_DGX_System #NVIDIA_MIG #Multi_instance_GPU #covrg_IO #GPU_분할_할당 #HPC #인공지능 #첨단분석 #DevOps
Comments