Lablup Conf 1st (Session7/Cases)
"People don't know what they want until LABLUP show it to them. : Practical guide to building GPU clusters for AI" - 김정묵
- 발표내용 :
* 교육부터 하이퍼스케일 AI 모델 개발까지, GPU Cluster 구축과 운영을 준비하실 때 미리 고려하실 사항들을 사례와 함께 공유드립니다.
- 영상보러가기 : https://youtu.be/GMYWKF993J8
4. [실화] GPU(만) 많은 AI 클러스터
§ CPU / RAM 부족해서 데이터 처리 기다리며 GPU는 항상 놀고 있음
§ 데이터 / 컨테이너 이미지 불러오느라 CPU / GPU 다 놀고 있음
§ GPU 간 통신이 지원되지 않아 GPU 는 많아도 모델 사이즈 제한
§ 어느 데이터가 어디에 있는지 몰라 중복 / 보안 이슈로 클러스터링 불가
§ Rack 당 3kW? 단일 노드 10kW, 공사비 폭탄
§ 높은 복잡도와 관리 부담에 관리자 퇴사
5. AI 클러스터 설계
§ 연산 서버
§ 스토리지 서버
§ 네트워킹
§ 전력 (+ 평면 설계)
§ 관리 서버
§ 소프트웨어
§ + 그리고 AI 클러스터의 용도
6. AI 클러스터의 용도
§ 하이퍼파라미터 서치 (Hyperparameter search)
– 좋은 모델 찾기
§ 분산 훈련 (Distributed training)
– 빠른 모델 훈련
§ 추론 서비스 (Inference serving)
– 만든 모델 서비스
§ + AI 교육 및 실습
7. 연산 서버 (1)
§ CPU
– 데이터 처리를 위해 충분한 CPU 성능 필요
– 상황에 따라 데이터 처리 전용 CPU 서버도 고려
§ RAM
– 클수록 좋음
– 언어 모델 등을 개발할 때에는 GPU 메모리 대비 2배 이상의 시스템 메모리 권장
§ 스토리지 (스크래치 저장소)
– 별도의 스토리지가 있더라도 캐시로 필요
– SSD 권장
– 컨테이너 이미지 등 대형화로 일정 수준 이상 권장
8. 연산 서버 (2)
§ GPU
– 용도별 선택
✓ 하이퍼파라미터 서치
• (데이터센터용) NVIDIA Tesla A100 / V100
• (워크스테이션용) NVIDIA RTX A6000 / Quadro RTX 8000
✓ 분산 훈련
• NVIDIA Tesla A100
✓ 추론 서비스
• NVIDIA Tesla T4 / A2 / A30
✓ AI 교육 및 실습
• 코스웍에 따라 차이가 있으나, 비용 상의 제약으로 교육기관에서 큰 어려움이 있음
– 노드 내 구성
✓ 대형 모델 훈련 지원과 네트워크 장비 비용을 고려 시 노드 당 4~8 EA이 다수
✓ 대형 모델 훈련 지원을 위해서는 다음과 같은 노드 내 연결을 반드시 고려해야 함
• NUMA
• NVLink
• NVSwitch
9. 연산 서버 (3)
§ Backend.AI 멀티노드 워크로드 지원
– 클러스터 세션 기반으로 분산 훈련을 최적 지원
§ Backend.AI 분할 GPU 가상화
– 독자 기술인 컨테이너 기반 GPU 가상화로 모든 CUDA GPU를 탄력적으로 가상화 가능
– 훈련 용도로 도입한 GPU를 하이퍼파라미터 서치 / 추론 서비스 / AI 교육 및 실습
용도로도 항상 최적으로 운용할 수 있는 옵션 제공
10. 스토리지 서버
§ 데이터와 모델 저장 및 서비스용
§ 연산 서버 수가 많다면 별도 스토리지 서버 필수
– 데이터 파편화: 클러스터링을 통한 고가 연산 자원 활용에 가장 큰 장애 요소
– 구축 단계부터 데이터 관리 일원화 필요
§ 비용 차이가 크게 나며 용도 및 데이터 특성에 따른 선택 필요
– Hot 스토리지: 빠른 접근 / 잦은 접근 / 비쌈 (SSD)
– Cold 스토리지: 느린 접근 / 드문 접근 / 비교적 저렴 (HDD)
§ Backend.AI 스토리지 프록시
– 고가의 연산 자원을 최적으로 활용하기 위해 데이터 입출력 분산 최적 지원
– 다양한 파일시스템 및 스토리지 솔루션을 직접 연동하여 최적으로 활용 가능하도록 제공
✓ 퓨어스토리지 FlashBlade, 넷앱 OnTap, CephFS, LustreFS, XFS 등
✓ 지원 플랫폼 및 기술 파트너십 지속 확장 중
11. 네트워킹
§ 안정적인 운영을 위한 관리(서비스) 네트워크와 데이터 네트워크의 분리 필요
§ 관리 네트워크
– AI 클러스터에서 흔히 발생할 수 있는 대용량 전송 상황에서도 안정적인 운영 필요
– 별도의 네트워크 필요
– (시스템에 따라 다르나) 1Gb 수준으로도 가능
§ 데이터 네트워크
– 고성능 스위치와 케이블의 비용이 높음
– 특히 분산 훈련 시에 GPU 서버 간 넓은 대역폭이 크게 요구되며, 별도의 GPU 노드
패브릭이 필요함
12. 전력 및 평면 설계
§ 고성능 GPU 서버 당 3~10kW TDP
§ 데이터센터 랙 당 기존 3kW 에서 대략 30~40kW로 TDP 폭증
§ 기존 IT 인프라 설비 활용 시에도 전력 공급 및 온도 관리를 위한 설비 확충 공사 필수
§ 기존과는 다른 전력 공급, 온도 관리 뿐만 아니라 네트워킹 장비의 비용과 규격까지 고려
필요
13. 관리 서버
§ 다수 사용자가 다양한 사용 환경에서도 안정적인 서비스
– 일정 수준의 별도 관리 서버가 필요
– 연산 서버 구성 / 사용자 수 / 용도 / 소프트웨어에 따라 차이
§ 추론 서비스
– 다수의 사용자와 요청을 안정적으로 처리해야 함
– 고가용성 구성 필수
14. 소프트웨어 (1)
§ 관리 도구
– 잡 스케줄러, 오케스트레이터
– 로그 관리 및 대쉬보드
– 연산 자원 그룹화 및 접근 제한 관리
– 사용자 및 사용자 그룹 관리 기능
– 개발 환경 저장소
– 저장소 관리
§ 하드웨어 드라이버 / OS
– CUDA
– OS
§ 개발자 / 사용자 지원
– ML/DL 프레임워크, 라이브러리, 패키지
– Experiment 관리
– 추론 서비스 지원
§ + 더더더 많은 기술이 새로 나오고 있음
15. 소프트웨어 (2)
§ End-to-End MLOps 플랫폼 : Backend.AI
– AI 프레임워크용 엔터프라이즈 클러스터 백엔드
– NVIDIA DGX-Ready Software
✓ 아시아 태평양 지역 최초, 유일
✓ https://www.nvidia.com/en-us/data-center/dgx-ready-software/
데이터 과학자 / 모델링부터 서빙까지 캐리 가능
추천 템 : Backend.AI
16. AI 클러스터 용도별 참고 사항 요약
하이퍼파라미터
서치
분산 훈련 추론 서비스 AI 교육 및
실습
관리 서버
고가용성 구성
선택 선택 필수 학습자 수에
따름
노드 내 연결성 중요 매우 중요
노드 간 연결성 넓은 대역폭
필요
구축 비용 높음 매우 높음 매우매우
높아야 함
규모에 따름
소프트웨어 Backend.AI 를 통해 클러스터를 다양한 용도에 맞게 상시 최적
운영 가능
17. Lablup Inc. https://www.lablup.com
Backend.AI https://www.backend.ai
Backend.AI GitHub https://github.com/lablup/backend.ai
Backend.AI Cloud https://cloud.backend.ai
Thank you!
Jeongmook Kim
Chief Operating Officer