People don’t know what they wany
until LABLUP show it to them:
Practical guide to building GPU clusters for AI
김정묵 (Lablup, COO)
§ 기존 IT 인프라 / 클러스터와는 다른,
§ AI 클러스터 구축 과정에서 고려해야 할 사항들과 키워드를 살펴봅시다!
ㅠㅠ
AI 개발과 GPU
DRAM
Cache
Control
ALU
ALU ALU
ALU
CPU GPU
DRAM
DRAM
[실화] GPU(만) 많은 AI 클러스터
§ CPU / RAM 부족해서 데이터 처리 기다리며 GPU는 항상 놀고 있음
§ 데이터 / 컨테이너 이미지 불러오느라 CPU / GPU 다 놀고 있음
§ GPU 간 통신이 지원되지 않아 GPU 는 많아도 모델 사이즈 제한
§ 어느 데이터가 어디에 있는지 몰라 중복 / 보안 이슈로 클러스터링 불가
§ Rack 당 3kW? 단일 노드 10kW, 공사비 폭탄
§ 높은 복잡도와 관리 부담에 관리자 퇴사
AI 클러스터 설계
§ 연산 서버
§ 스토리지 서버
§ 네트워킹
§ 전력 (+ 평면 설계)
§ 관리 서버
§ 소프트웨어
§ + 그리고 AI 클러스터의 용도
AI 클러스터의 용도
§ 하이퍼파라미터 서치 (Hyperparameter search)
– 좋은 모델 찾기
§ 분산 훈련 (Distributed training)
– 빠른 모델 훈련
§ 추론 서비스 (Inference serving)
– 만든 모델 서비스
§ + AI 교육 및 실습
연산 서버 (1)
§ CPU
– 데이터 처리를 위해 충분한 CPU 성능 필요
– 상황에 따라 데이터 처리 전용 CPU 서버도 고려
§ RAM
– 클수록 좋음
– 언어 모델 등을 개발할 때에는 GPU 메모리 대비 2배 이상의 시스템 메모리 권장
§ 스토리지 (스크래치 저장소)
– 별도의 스토리지가 있더라도 캐시로 필요
– SSD 권장
– 컨테이너 이미지 등 대형화로 일정 수준 이상 권장
연산 서버 (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
연산 서버 (3)
§ Backend.AI 멀티노드 워크로드 지원
– 클러스터 세션 기반으로 분산 훈련을 최적 지원
§ Backend.AI 분할 GPU 가상화
– 독자 기술인 컨테이너 기반 GPU 가상화로 모든 CUDA GPU를 탄력적으로 가상화 가능
– 훈련 용도로 도입한 GPU를 하이퍼파라미터 서치 / 추론 서비스 / AI 교육 및 실습
용도로도 항상 최적으로 운용할 수 있는 옵션 제공
스토리지 서버
§ 데이터와 모델 저장 및 서비스용
§ 연산 서버 수가 많다면 별도 스토리지 서버 필수
– 데이터 파편화: 클러스터링을 통한 고가 연산 자원 활용에 가장 큰 장애 요소
– 구축 단계부터 데이터 관리 일원화 필요
§ 비용 차이가 크게 나며 용도 및 데이터 특성에 따른 선택 필요
– Hot 스토리지: 빠른 접근 / 잦은 접근 / 비쌈 (SSD)
– Cold 스토리지: 느린 접근 / 드문 접근 / 비교적 저렴 (HDD)
§ Backend.AI 스토리지 프록시
– 고가의 연산 자원을 최적으로 활용하기 위해 데이터 입출력 분산 최적 지원
– 다양한 파일시스템 및 스토리지 솔루션을 직접 연동하여 최적으로 활용 가능하도록 제공
✓ 퓨어스토리지 FlashBlade, 넷앱 OnTap, CephFS, LustreFS, XFS 등
✓ 지원 플랫폼 및 기술 파트너십 지속 확장 중
네트워킹
§ 안정적인 운영을 위한 관리(서비스) 네트워크와 데이터 네트워크의 분리 필요
§ 관리 네트워크
– AI 클러스터에서 흔히 발생할 수 있는 대용량 전송 상황에서도 안정적인 운영 필요
– 별도의 네트워크 필요
– (시스템에 따라 다르나) 1Gb 수준으로도 가능
§ 데이터 네트워크
– 고성능 스위치와 케이블의 비용이 높음
– 특히 분산 훈련 시에 GPU 서버 간 넓은 대역폭이 크게 요구되며, 별도의 GPU 노드
패브릭이 필요함
전력 및 평면 설계
§ 고성능 GPU 서버 당 3~10kW TDP
§ 데이터센터 랙 당 기존 3kW 에서 대략 30~40kW로 TDP 폭증
§ 기존 IT 인프라 설비 활용 시에도 전력 공급 및 온도 관리를 위한 설비 확충 공사 필수
§ 기존과는 다른 전력 공급, 온도 관리 뿐만 아니라 네트워킹 장비의 비용과 규격까지 고려
필요
관리 서버
§ 다수 사용자가 다양한 사용 환경에서도 안정적인 서비스
– 일정 수준의 별도 관리 서버가 필요
– 연산 서버 구성 / 사용자 수 / 용도 / 소프트웨어에 따라 차이
§ 추론 서비스
– 다수의 사용자와 요청을 안정적으로 처리해야 함
– 고가용성 구성 필수
소프트웨어 (1)
§ 관리 도구
– 잡 스케줄러, 오케스트레이터
– 로그 관리 및 대쉬보드
– 연산 자원 그룹화 및 접근 제한 관리
– 사용자 및 사용자 그룹 관리 기능
– 개발 환경 저장소
– 저장소 관리
§ 하드웨어 드라이버 / OS
– CUDA
– OS
§ 개발자 / 사용자 지원
– ML/DL 프레임워크, 라이브러리, 패키지
– Experiment 관리
– 추론 서비스 지원
§ + 더더더 많은 기술이 새로 나오고 있음
소프트웨어 (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
AI 클러스터 용도별 참고 사항 요약
하이퍼파라미터
서치
분산 훈련 추론 서비스 AI 교육 및
실습
관리 서버
고가용성 구성
선택 선택 필수 학습자 수에
따름
노드 내 연결성 중요 매우 중요
노드 간 연결성 넓은 대역폭
필요
구축 비용 높음 매우 높음 매우매우
높아야 함
규모에 따름
소프트웨어 Backend.AI 를 통해 클러스터를 다양한 용도에 맞게 상시 최적
운영 가능
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

Lablupconf session7 People don't know what they want until LABLUP show it to them. : Practical guide to building GPU clusters for AI"

  • 1.
    People don’t knowwhat they wany until LABLUP show it to them: Practical guide to building GPU clusters for AI 김정묵 (Lablup, COO)
  • 2.
    § 기존 IT인프라 / 클러스터와는 다른, § AI 클러스터 구축 과정에서 고려해야 할 사항들과 키워드를 살펴봅시다! ㅠㅠ
  • 3.
  • 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-EndMLOps 플랫폼 : 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.AIhttps://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