Blog posts are provided in Korean only.
Contents
AI 모델이 커지면서 기업에 필요한 GPU 자원도 빠르게 늘고 있습니다. 하지만 GPU를 많이 확보한다고 AI 인프라가 완성되지는 않습니다. 여러 GPU를 실제 연산에 효율적으로 쓰려면 하드웨어와 이를 관리하는 소프트웨어 환경을 함께 최적화해야 합니다.
GPU 서버가 늘어날수록 작업마다 자원을 적절히 나누고, 여러 사용자가 GPU를 효율적으로 공유하는 운영 환경이 중요해집니다. 이때 쓰는 것이 GPU 클러스터입니다. GPU 클러스터를 구축하기 전에 무엇을 확인해야 하는지 4가지로 정리했습니다.
GPU 클러스터란
GPU 클러스터(GPU Cluster)는 여러 대의 GPU 서버를 하나의 연산 환경으로 묶어 AI 학습과 추론 같은 대규모 작업을 처리하는 인프라입니다. 큰 작업을 분산 처리하고, 여러 사용자가 GPU 자원을 나눠 쓸 수 있습니다.
GPU 클러스터는 보통 네 가지 요소로 구성됩니다. GPU 서버가 AI 연산을 수행하고, 스토리지가 학습 데이터와 모델을 저장하며, 네트워크가 서버와 스토리지 사이의 데이터 이동을 연결합니다. 관리 소프트웨어는 작업에 필요한 GPU를 할당하고 실행 순서를 관리합니다. GPU만 여러 대 연결한 것이 아니라, 이 요소들이 함께 움직이는 하나의 AI 인프라인 셈입니다.
구축보다 운영이 중요한 이유
클러스터를 구성했다고 모든 GPU가 효율적으로 쓰이는 것은 아닙니다. 늘어난 GPU를 어떤 작업에 얼마나 할당할지, 여러 사용자가 어떻게 나눠 쓸지, 작업을 어떤 순서로 처리할지를 함께 정해야 합니다.
기업 환경이라면 기존 인프라와의 연계도 빼놓을 수 없습니다. 이미 운영 중인 스토리지와 데이터를 AI 학습이나 서비스에 써야 하는 경우가 많기 때문입니다. 확장, 자원 활용, 사용자 관리, 작업 운영, 기존 인프라 연계까지 전체 운영 환경을 함께 설계해야 하는 이유입니다.
체크 1. GPU를 늘려도 효율적으로 쓸 수 있는가
처음에는 작게 시작하더라도, 모델과 작업이 커지면 GPU를 추가하게 됩니다. 그때마다 기존 환경을 크게 바꿔야 한다면 확장에 드는 시간과 운영 부담이 커집니다. 지금 확보할 GPU 수량뿐 아니라, 자원이 늘었을 때 어떻게 활용할지까지 고려해 설계해야 합니다.
- GPU와 서버를 추가해 클러스터를 확장할 수 있는가
- 여러 노드의 GPU를 하나의 작업에 활용할 수 있는가
- 작업 규모에 맞춰 GPU를 유연하게 할당할 수 있는가
- 놀고 있는 GPU를 다른 작업에 쓸 수 있는가
체크 2. 사용자별로 GPU를 관리할 수 있는가
여러 팀이나 연구자가 GPU를 함께 쓴다면 사용자와 프로젝트별로 자원을 구분해 관리할 수 있어야 합니다. 한 사람이 GPU를 오래 점유하면 다른 사용자는 자원을 확보하기 어려워지기 때문입니다. 단순히 동시 접속이 되는지보다, 멀티테넌트(Multi-tenancy) 환경에서 사용자와 프로젝트를 어떻게 나누고 자원을 어떻게 관리하는지를 봐야 합니다.
- 사용자·팀·프로젝트별로 GPU 자원을 구분할 수 있는가
- 사용자별 GPU 사용 범위를 정할 수 있는가
- 특정 작업의 과도한 GPU 점유를 통제할 수 있는가
- 사용자·프로젝트별 자원 사용 현황을 확인할 수 있는가
체크 3. 작업을 효율적으로 배치하고 운영할 수 있는가
클러스터가 커질수록 관리자가 모든 작업을 직접 배치하기는 어렵습니다. 사용 가능한 GPU, 실행 순서, 대기 작업의 자원 할당 시점을 계속 확인해야 하기 때문입니다. 작업 스케줄러가 있으면 GPU 현황과 작업 상태를 바탕으로 작업을 배치하고, 끝난 작업의 GPU를 다음 작업에 넘길 수 있습니다.
- 작업을 적절한 GPU에 자동으로 배치할 수 있는가
- 여러 작업의 우선순위와 실행 순서를 관리할 수 있는가
- 실행 중인 작업과 대기 중인 작업을 확인할 수 있는가
- 작업이 끝난 GPU를 다음 작업에 바로 활용할 수 있는가
체크 4. 기존 인프라와 유연하게 연결되는가
새 클러스터를 구축해도 AI 학습과 서비스에는 기존 데이터가 필요합니다. 기존 스토리지를 쓸 수 없다면 스토리지를 새로 구축하거나 데이터를 옮겨야 하고, 그만큼 초기 구축은 물론 이후 데이터 관리와 운영 부담도 커집니다.
- 현재 쓰고 있는 스토리지와 데이터 환경을 그대로 활용할 수 있는가
- 새 GPU 환경과 기존 인프라를 어떤 방식으로 연결할 수 있는가
AstraGo로 GPU 클러스터 운영 부담 줄이기
GPU 클러스터 관리 솔루션 AstraGo(아스트라고)는 GPU 자원 배분과 관리, 작업 스케줄링, 기존 인프라 연계까지 클러스터 운영에 필요한 기능을 제공합니다.
GPU Slice 기능을 쓰면 물리 GPU 한 장을 여러 개의 Slice로 나눠 작업에 필요한 만큼만 할당할 수 있습니다. 복잡한 설정 없이 미리 만든 프리셋을 고르면 돼서, 관리자가 일일이 자원을 할당하고 사용 현황을 확인하는 부담이 줄어듭니다.
스토리지 연동 범위도 넓혔습니다. 기존에 지원하던 NFS와 오브젝트 스토리지에 더해, 컨테이너 환경의 표준 스토리지 인터페이스인 CSI를 새로 지원합니다. 사용 중인 클러스터에 CSI 드라이버와 StorageClass가 준비돼 있다면 제조사와 관계없이 AstraGo에 연결할 수 있습니다.
GPU 클러스터 구축을 검토하고 있다면, 구축 이후의 운영 환경과 관리 방식까지 함께 설계해 보세요.
- GPU클러스터
- GPU클러스터구축
- GPU운영
- 멀티테넌시
- 작업스케줄러
- GPU자원관리
- GPU분할
- 스토리지연동
- CSI
- AI인프라