☁️ "AI/ML을 위한 유연한 인프라 혁신 – Preferred Networks의 Kubernetes 활용 사례"

:robot: Preferred Networks, Kubernetes로 더 사용자 친화적인 AI/ML 플랫폼을 구현하다

:construction: 도전 과제

일본의 AI/ML 전문 기업 Preferred Networks는 연구 인력 다수와 함께, 3개 이상의 장소에 클러스터를 운영하며 막대한 연산 자원을 제공합니다. 이 회사는 자체 개발한 AI/ML 전용 가속기 MN-Core를 통해 Green 500을 연속 수상했으며, 1,500개 이상의 GPU200개 이상의 MN-Core를 운영하고 있습니다.

이러한 이기종 클러스터(다양한 GPU 및 MN-Core 조합)를 연구자에게 공정하고 유연하며 사용자 친화적으로 제공하는 것은 큰 도전이었습니다.
더불어, 이 인프라를 운영하는 팀이 단 8명으로 구성되어 있어 운영 자동화가 필수적인 과제로 떠올랐습니다.

:hammer_and_wrench: 해결책

Preferred Networks의 클러스터 관리 팀은 문제 해결을 위해 컨테이너 및 클라우드 네이티브 방식을 채택하고, Kubernetes를 오케스트레이션 도구로 활용했습니다.
또한, Kubernetes 스케줄러를 확장하여 특정 요구사항에 맞게 조정하고, Kubernetes Cluster API를 활용해 노드 OS 설치부터 클러스터 등록까지 전 과정을 자동화했습니다.

:glowing_star: 주요 성과

  • 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 플랫폼을 운영해 왔으며, 이를 통해 확장성과 자동화, 연구자 중심의 플랫폼 환경을 성공적으로 구현하고 있습니다.