본문 바로가기 대메뉴 바로가기

테크니컬 스토리

아이티마야의 새로운 기술 뉴스를 만나보세요.
A사 MLOps 환경 구축
등록일
2022.07.25
첨부파일
A사 MLOps 환경 구축
가성비 좋은 통합 MLOps 환경을 구성한다면?
Kubeflow는 왜 사용합니까?
  • 머신러닝 개발환경은 고객사마다 다르고, 같은 고객사 내에서도 사용자마자 선호하는 환경이 다르기도 합니다.

    모든 요구를 충족할 수는 없습니다. 하지만 가장 많이 사용하는 표준의 환경을 제공하거나, 표준의 환경을 기반으로 변경가능한 환경을 제공한다면 다수가 만족할 수 있는 개발환경 제공이 가능합니다. 통합된 개발환경을 제공하는 오픈소스중 가장 많이 사용하는 Kubeflow로 구성된 사이트 입니다.

    Kubeflow 는 Kubernetes 기반으로 구성되며, 구성시 최소 3개 이상의 노드가 필요합니다.

  • 고객사 고려 사항
  • 비용절감을 위해 클라우드가 아닌
    온프레미스 환경 선호

  • 20명 이하의 연구원이
    MLOps 환경 사용

  • 공용 데이터 접근 권한 제어

  • 오픈소스 선호

  • 시스템 스펙
  • Master Node (1대)

    사양 : 1U / Xeon 4310 x2CPU / 64GB Memory / 960GB Ent SSD x2 RAID1
    / 10Gbps NIC / 1100W x2 RPS

  • Worker Node (5대)

    사양 : 4U / Xeon 6226R x2CPU / 256GB Memory / 1TB NVMe x1
    / Quadro RTX A5000 x8GPU / 10Gbps NIC / 2200W x3 RPS

  • Network Storage (1대)

    사양 : 3U / 1TB NVMe Cache x1 / 16TB ENt SATA x16 / 10Gbps NIC

  • 물리적 구성

    1. 마스터노드는 잦은 장애포인트를 철저히 배제한 CPU 중심 기본서버 구성 및 부품을 이중화 한다. (필요시 노드수를 늘려, 마스터노드를 로드밸런싱 하여 사용 한다.)

    2. 워커노드는 GPU의 성능을 최대한 사용할 수 있는 CPU, Memory, IO 를 계산하여 구성한다.

    3. GPU는 고객사의 선택에 의해 정해졌지만, 낮은 등급의 GPU를 여러개 사용하거나, Tesla 의 MIG 기능을 사용하여 다중 GPU 환경으로 구성한다.

    4. 모든 네트워크는 10Gbps 이상으로 구성하여 병목을 줄인다. (예산 여유가 된다면 IB로 구성한다.)

    5. 서버랙을 포함하여 1개랙에서 모든 통합관리가 가능하도록 구성한다.

    MLOps 환경 구성

    1. 오픈소스 Kubeflow 구성으로 손쉽게 개발환경 생성 및 삭제

    2. NFS Storage Class 사용으로 공유 볼륨 사용

    3. Network Storage의 자체 스냅샷 기능으로 데이터 보호

    사용 환경 (Web GUI)
  • 모든 연구원은 K8s 클러스터 내의 Kubeflow istio 로 WEB 브라우저를 통하여 간편하게 개발환경 생성 및 삭제, 이용이 가능합니다.

  • CPU, Memory, GPU 리소스를 할당하여 개발환경 생성이 즉시 가능합니다.

  • 생성된 개발환경은 즉시 실행이 가능합니다.

  • GUI 또는 CLI 의 개발환경 사용이 가능합니다.

  • 그외 파이프라인이나 텐서보드, 자동 실행, 모델 등록등 MLOps 에서 필요한 대다수의 기능을 제공합니다.

    영업 담당자 comment

    기본 구성의 K8s 클러스터와 Kubeflow 로 구성한 MLOps 환경입니다.

    상용 소프트웨어를 사용하지 않고 구성할 수 있는 가장 가성비 좋은 MLOps 환경입니다. 고객사 담당자의 kubernetes 환경에 대한 이해가 조금은 필요하지만, 사용자는 누구나 매우 손쉽게 개발환경을 생성하여 바로 적용 할 수 있습니다.

    또한 Nvidia에서 배포하는 NGC의 컨테이너 이미지 사용이 가능합니다.

    PLEASE WAIT WHILE LOADING...