OpenAI 딥러닝 인프라 및 Kubernetes-EC2 Autoscaler
OpenAI는 딥러닝 인프라 접근 방식을 발표하고 급증하는 GPU 워크로드의 빠른 확장을 가능하게 하는 Kubernetes‑EC2 autoscaler를 출시했습니다.
인프라가 전체 딥러닝 연구 사이클을 지원합니다
OpenAI의 인프라는 연구자들이 단일 GPU에서의 임시 실험에서 대규모, 며칠에 걸친 훈련 작업으로 빠르게 전환할 수 있도록 설계되었습니다.
예시 워크플로우: GAN 아이디어에서 ImageNet 확장까지
일반적인 프로젝트는 단일 GPU에서의 빠른 프로토타이핑으로 시작한 뒤, ImageNet과 같은 대규모 데이터셋에 대한 멀티 GPU 훈련으로 확장되며, 이는 신중한 실험 관리와 하이퍼파라미터 탐색을 필요로 합니다.
소프트웨어, 하드웨어 및 프로비저닝 선택
OpenAI는 TensorFlow, AWS EC2 인스턴스와 온프레미스 Titan X GPU의 혼합, 일관된 서버 구성을 위한 Terraform, 그리고 세 개의 AWS 리전 전역에 걸친 클러스터 스케줄러로 Kubernetes를 사용합니다.
오케스트레이션이 로컬 및 분산 작업을 유사하게 느끼게 함
SSH 노드는 인터랙티브 디버깅을 제공하고, Kubernetes는 Docker 컨테이너에서 작업을 실행합니다; 플랫폼은 Flannel 네트워킹을 노출하여 연구자들이 각 포트마다 Service를 생성하지 않고도 노트북에서 직접 TensorBoard에 접근할 수 있게 합니다.
Kubernetes‑EC2 autoscaler가 급증하는 수요를 처리합니다
Autoscaler는 일반 pod로 실행되며, Kubernetes 마스터를 폴링하여 필요한 용량을 계산하고, Auto Scaling 그룹 크기를 조정하며, 종료 전에 노드를 비우고, 여러 ASG와 GPU 및 메모리 자원을 처리하고, 용량 한도에 도달하면 보조 AWS 리전으로 오버플로우합니다.
연구자에게 미치는 영향
간단한 인터페이스와 자동 확장을 제공함으로써, 인프라는 딥러닝 팀이 클러스터 관리보다 과학적 반복에 집중할 수 있게 하며, 오픈소스 autoscaler는 동일한 배치 최적화 확장을 더 넓은 커뮤니티에 제공합니다.
Sources
- OriginalInfrastructure for deep learning