Preferred Networks, Kubernetes로 더 사용자 친화적인 AI/ML 플랫폼을 구현하다
도전 과제
일본의 AI/ML 전문 기업 Preferred Networks는 연구 인력 다수와 함께, 3개 이상의 장소에 클러스터를 운영하며 막대한 연산 자원을 제공합니다. 이 회사는 자체 개발한 AI/ML 전용 가속기 MN-Core를 통해 Green 500을 연속 수상했으며, 1,500개 이상의 GPU와 200개 이상의 MN-Core를 운영하고 있습니다.
이러한 이기종 클러스터(다양한 GPU 및 MN-Core 조합)를 연구자에게 공정하고 유연하며 사용자 친화적으로 제공하는 것은 큰 도전이었습니다.
더불어, 이 인프라를 운영하는 팀이 단 8명으로 구성되어 있어 운영 자동화가 필수적인 과제로 떠올랐습니다.
해결책
Preferred Networks의 클러스터 관리 팀은 문제 해결을 위해 컨테이너 및 클라우드 네이티브 방식을 채택하고, Kubernetes를 오케스트레이션 도구로 활용했습니다.
또한, Kubernetes 스케줄러를 확장하여 특정 요구사항에 맞게 조정하고, Kubernetes Cluster API를 활용해 노드 OS 설치부터 클러스터 등록까지 전 과정을 자동화했습니다.
주요 성과
-
MN-Core를 1급 자원으로 인식
- MN-Core 전용 디바이스 플러그인을 개발하여 CPU, GPU와 같이 Kubernetes에서 직접 접근 가능한 리소스로 등록
-
3개월 내 신규 사이트 추가 가능
- Kustomize를 활용해 Kubernetes 매니페스트를 표준화, 3명의 엔지니어로 3개월 내 신규 사이트 구축 가능
-
노드 재설정 시간 단축 (30분 이내)
- OS 설치부터 클러스터 등록까지 30분 이내에 노드 재생성 가능
-
공정한 리소스 스케줄링
- Kubernetes 스케줄러를 확장하여, 연구자 별 리소스(예: 가속기 수) 지정 및 우선순위 기반 프리엠션(preemption) 가능
- 장기 실행 작업은 비사용 시간대에 유지
-
AI/ML 워크로드 최적화 스케줄러 개발
- Gang Scheduling과 같은 분산 학습 최적화 기능 탑재한 스케줄러 플러그인을 자체 개발 및 오픈소스로 공개
-
GPU 세부 사양 지정 기능
- 예:
preferred.jp/gpu-v100-24gb: 1
형태로 특정 GPU 자원을 직접 요청할 수 있는 커스텀 리소스 사양 문법 도입
- 예:
Preferred Networks는 2018년부터 Kubernetes를 기반으로 AI/ML 플랫폼을 운영해 왔으며, 이를 통해 확장성과 자동화, 연구자 중심의 플랫폼 환경을 성공적으로 구현하고 있습니다.