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

테크니컬 스토리

아이티마야의 새로운 기술 뉴스를 만나보세요.
구축사례
GPU 성능 자료 처리량 기준으로 작성된 딥러닝 GPU 성능자료 (Last Updated : 2023.07.31) GPU 성능 자료 성능 측정 방법 ㆍ본 성능 측정은 NVIDIA의 딥러닝 예제와 NGC 컨테이너를 활용하여, 다양한 분야에서 자주 사용되는 트레이닝 작업을 선택하여 실제 사용 환경과 최대한 유사하게 진행되었습니다. ㆍ테스트 결과는 GPU의 메모리를 100% 활용하지 않았습니다. 해당 결과보다 GPU 메모리가 클수록 특정 작업에서 더 많은 처리량을 보일 수 있습니다. ㆍ테스트 결과는 실제 처리량을 기준으로 작성되었으며, 반응 속도나 단순한 하드웨어 성능 추정치와는 다릅니다. 결과 1. TFT Traffic (PyTorch) 2. UNET Industrial (Tensorflow) 3. NCF (PyTorch) 4. SIM (Tensorflow) 사용된 데이터셋 및 트레이닝 예제 (Nvidia Deep Learning Examples / NGC Container) 2023.07.11
폐기 대상 서버 및 노후된 Windows 서버를 가상화로 운용할 수 있을까?? 노후된 Windows 서버의 디스크를 Disk2vhd를 사용해 가상화 운용 폐기 대상 서버 및 노후된 Windows 서버를 가상화로 운용할 수 있을까?? 모든 서버나 하드웨어 부품들은 어느 정도 시간이 지나면 파트를 교체하거나 장비를 폐기하는 순간이 오게 됩니다. 플랫폼, CPU, 메모리, GPU는 교체가 가능하지만 OS가 담겨 있는 Disk는 백업을 하거나, OS를 새로 설치해서 사용하는 방법밖에 없습니다. 이때 백업을 할 수 있으면 다행이지만 그게 아니라면 Disk2vhd를 사용해 가상화 환경으로 운용하는 방법을 추천합니다. Disk2vhd는 Windows Server의 고유 기능인 Hyper-V에 가상머신으로 사용할 물리적 Disk를 VHD 파일로 변환해서 가상머신에서 사용할 수 있게 도와주는 프로그램입니다. 노후된 서버에 Disk2vhd 프로그램을 사용하여 기존에 사용하던 C 드라이브 및 D 드라이브를 현재 운용하는 Windows 서버에 Hyper-V 가상머신으로 운용할 수 있게 해준다고 생각하시면 이해가 편합니다. Disk2vhd를 사용하면서 얻는 이점은 물리적 하드웨어를 사용하지 않아도 되어 서버실의 공간 확보에 용이하고 하드웨어가 가상화로 이뤄지면서 VM에서 쉽게 리소스 관리가 가능하며 가상환경으로 운용되기 때문에 백업 및 복구가 용이합니다. 고객사 환경 - Hyper-V 서버 : Disk bay에 더 이상 여분이 없는 Hyper-V가 활성화된 Windows 2022 server OS를 사용하는 서버 - 미사용 서버 : 노후된 하드웨어에 기존에 사용하던 C, D 드라이브를 살려서 사용해야 하는 Windows 2003 3대 고객사 요구 사항 C 드라이브와 데이터가 담긴 D 드라이브까지 함께 가상머신에서 사용. 엔지니어 Comment : - Disk2VHD 설명에는 최대 127GB까지 지원한다고 되어있지만 OS 영역인 C 드라이브만 해당하는 것 같습니다 800GB 데이터가 담긴 D 드라이브까지 이상 없이 지원 가능하지만 시간이 2시간~3시간 걸립니다. - Windows2003 과 같은 오래된 OS에서는 64bit 프로그램이 아닌 32bit 프로그램을 사용해야 하고 가상머신을 생성할 때 2세대가 아닌 Legacy 부팅을 지원하는 1세대로 생성해야 합니다. - 노후된 서버를 폐기하기보단 Disk2vhd를 사용해 하드웨어 스펙이 여유가 되는 Windows 서버에 가상머신으로 운용하는 방법을 이용해보시길 권합니다. 2024.01.09
GPU 성능 자료 처리량 기준으로 작성된 딥러닝 GPU 성능자료 (Last Updated : 2023.07.31) GPU 성능 자료 성능 측정 방법 ㆍ본 성능 측정은 NVIDIA의 딥러닝 예제와 NGC 컨테이너를 활용하여, 다양한 분야에서 자주 사용되는 트레이닝 작업을 선택하여 실제 사용 환경과 최대한 유사하게 진행되었습니다. ㆍ테스트 결과는 GPU의 메모리를 100% 활용하지 않았습니다. 해당 결과보다 GPU 메모리가 클수록 특정 작업에서 더 많은 처리량을 보일 수 있습니다. ㆍ테스트 결과는 실제 처리량을 기준으로 작성되었으며, 반응 속도나 단순한 하드웨어 성능 추정치와는 다릅니다. 결과 1. TFT Traffic (PyTorch) 2. UNET Industrial (Tensorflow) 3. NCF (PyTorch) 4. SIM (Tensorflow) 사용된 데이터셋 및 트레이닝 예제 (Nvidia Deep Learning Examples / NGC Container) 2023.07.11
B사 MLOps 구성 (GPU Node 65대 / OPA 100Gbps 환경) 가성비 좋은 MLOps 고속 네트워크 구성 환경 B사 MLOps 구성 (GPU Node 65대 / OPA 100Gbps 환경) 최근 MLOps 구성 관련하여 고객 요청이 많아지고 있습니다.GPU 서버 단순 사용 환경은 장점도 많지만, 분명한 한계가 있습니다. MLOps는 리소스 관리, 사용자 관리, 잡 관리, 하드웨어 관리 등을 효율적으로 해결할 수 있어 최근 고객 니즈에 가장 알맞은 인프라입니다. B사에서는 “GPU 서버를 연구원 1명에게 1:1 할당” 하여 사용하던 기존 방식에서 MLOps를 도입하였고, 도입까지의 고려할 만한 이슈에 대해 사례로 안내드립니다. 기존 구성 B사는 서울에 위치한 IDC에 총 61대의 8GPU 서버를 사용 중이고, 사내 전산실에 4대의 8GPU 서버를 사용 중입니다. GPU 종류는 총 3가지로 GeForce RTX3090, Quadro RTX A5000, Tesla A40을 각각 사용하고 있었습니다. 사내 전산실에 위치한 서버는 사내 프로젝트에서 사용되었고, 데이터 센터에 위치한 서버는 연구원에게 할당되었습니다. 개발자의 자유가 큰 방식이지만, 개발 환경에 대한 통일이 되지 않았고, 전체 서버의 관리가 매우 어려운 방식입니다. 해당 방법은 서버 수가 작은 규모라면 충분한 가성비와 효율이 있는 방식이지만, 서버 수가 많아질수록 장점보다는 단점이 부각되는 방식입니다. MLOps 도입 옵션 검토 이러한 이유로 MLOps 도입을 검토하셨고 가장 먼저, MLOps 도입에 필요한 옵션들을 정리해 보았습니다. 1.(선택) 고속 네트워크 (자체망 고속망 구축) 고속 네트워크는 100Gbps OPA 또는 200Gbps EDR 과 같은 인피니밴드 구성을 뜻합니다. 자체망으로 구성되며 인터넷과 연결되지 않습니다. 표현은 네트워크라 표현하였지만, 네트워크가 아닌 고속망입니다. RDMA 등의 연산 성능을 최대화하는 옵션 등이 포함되어 있습니다. 고속 네트워크는 필수로 구성되지 않아도 됩니다. 하지만 NCCL, Horovod 등과 같은 타 노드 간 고속 연산이 필요하다면 성능 차이가 확연히 납니다. 2.(필수) 기존 네트워크 (10Gbps 이상) 고속 네트워크를 사용한다면 1Gbps로 구성해도 괜찮지만, 고속 네트워크 구성이 없다면 기존 네트워크를 10Gbps 이상으로 구성하는 것은 필수입니다. 3.(선택) Master Node 마스터 노드는 클러스터 구성에서 컨트롤러 역할을 합니다. 1대만 사용해도 되고 로드밸런스 하여 2-3대를 사용해도 됩니다. 보통 10대 이하의 클러스터 구성에서는 1-2대 구성, 10대 이상의 클러스터 구성에서는 2-3대 구성을 권장합니다. 필수 구성은 아니지만 마스터 노드를 선택하지 않는다면, 워커 노드에 컨트롤러를 설치하여 구성할 수 있습니다. 4.(필수) Worker Node 워커 노드는 기존 사용 워커 노드를 그대로 사용합니다. 다만, OS 등의 구성은 클러스터 환경으로 다시 구성됩니다. 5.(선택) Storage 스토리지를 외부에 두는 것보다는 워커 노드의 빈 디스크 슬롯에 채워 스토리지 클러스터를 만드는게 가장 성능이 좋습니다. 만약 GPU 서버에 스토리지 추가 장착이 되지 않는다면, 파일서버를 두어 클러스터에 포함시키는 것이 좋습니다. 6.(필수) MLOps 소프트웨어 MLOps 소프트웨어는 몇 가지 종류가 있습니다. 오픈소스인 Kubeflow를 선택해도 되고, 상용 솔루션인 Uyuni를 선택해도 됩니다. 기능이나 관리적인 측면으로 본다면 상용 솔루션이 어느 정도 커스텀도 제공하고 좋지만, 비용이 낮아야 하고 kubeflow의 기능만으로 충분하다면 kubeflow 도 훌륭한 대안이 될 수 있습니다. 구성안 A 고속 네트워크를 OPA로 선택하였고, 100Gbps로 구성합니다. 본 구성에서는 데이터 센터에 있는 61개의 워커 노드를 1개의 클러스터로 구성하고, 사내 전산실에 있는 4개의 워커 노드를 1개의 클러스터로 구성하였습니다. 데이터 센터와 사내 전산실의 고속 네트워크 연결은 가능하지 않습니다. 워커 노드에 디스크를 추가하여 클러스터 스토리지를 추가로 하여 스토리지 안정성과 성능을 확보할 수 있습니다. MLOps는 상용 솔루션으로 Uyuni MLOps Cluster로 구성했습니다. OPA 스위치 이슈 OPA는 일반 네트워크 스위치처럼 스태킹이 가능하지 않습니다. 96포트 사용을 위해서 48포트 스위치 2개가 아닌 총 6개의 스위치가 필요합니다. 구성안 B 구성안 B는 구성안 A에서 OPA를 코어/엣지로 나누지 않고, 클러스터를 GPU 별로 쪼개 OPA 스위치를 분리했습니다. 구성안 A보다 스위치 비용이 저렴해지지만, 클러스터를 나누게 되어 접속 사용자를 이중으로 관리해야 하는 단점이 있습니다. 장점으로는 가격이 매우 저렴해지고 OPA Core 스위치 장애에 모든 시스템이 먹통 되는 이슈를 피할 수 있습니다. 최종 구성 B사는 최종적으로 구성안 B를 선택하셨고, 3개의 클러스터를 용도별로 나누어 사용 중입니다. 추가로 도입된 제품 OPA 스위치 x 3EA OPA HCA x 71EA Master Node Server x 6EA 3.84TB SSD x 195EA (Ceph Storage Cluster) MLOps SW x 71Node License 2023.03.21
영상 생성 심층 신경망 연구를 위한 서버 Kubernetes 구축 Kubernetes가 왜 필요하고 무엇을 할 수 있을까? 영상 생성 심층 신경망 연구를 위한 서버 Kubernetes 구축 Kubernetes Kubernetes 의 장점? 납품 사례 K 대학교에 심층 신경망 분석 서버로 납품된 구성입니다. 마스터 서버는 RS300-E10-RS4 제품을 사용했고 스토리지는 AS7112RD 했습니다. 워커 노드는 ESC8000-G4 제품에 GPU는 RTX A6000을 사용 중입니다. 중요 스펙 사양 1U / E-2234 3.6Ghz / 32GB / 1TB Ent M.2 SSD / 4TB Ent SATA / 10Gbps NIC / 450Wx2 RPS 사양 4U / Xeon 6226R x2CPU / 192GB Memory / 2TB NVMe x1 / Quadro RTX A6000 x8GPU / 10Gbps NIC / 2200W x3 RPS 사양 3U / 2TB NVMe Cache x1 / 10TB ENt SATA x12 / 10Gbps NIC 사용 환경 Kubernetes 클러스터의 전체 화면 cli ui. 실행 중인 pod, 로그, 배포 등을 한눈에 볼 수 있고, Shell에 신속하게 액세스가 가능합니다. 2022.08.19
S사 GPU 통합 모니터링 A사 MLOps 환경 구축 가성비 좋은 통합 MLOps 환경을 구성한다면? GPU 통합 모니터링 시스템 모니터링 환경을 이미 갖추고 있는 고객사도 GPU 시스템 같은 특수환경의 모니터링이 필요하지만 솔루션을 찾지 못해 GPU 사용량 모니터링을 포기하는 경우가 많습니다. Grafana를 Prometheus와 함께 사용하여 GPU를 포함한 통합 모니터링 환경을 구성할 수 있습니다. 오픈소스로 제공되지만 무려, 설치 및 관리까지 편합니다. 그리고 어떤 환경에서도 적용이 가능합니다. 고객사 환경 제조사가 서로 다른 CPU 서버 및 GPU 서버를 50대 이상 사용 CPU 작업을 위한 서버 와 GPU 작업을 위한 서버 를 분리하여 사용중 잦은 GPU 장애에 대한 장애 포인트 체크를 위한 시간이 오래 걸림 고객사 고려 사항 서버 시스템의 모니터링 또는 네트워크 모니터링 환경이 독립된 모니터링이 아닌 GPU를 포함한 통합 모니터링이 필요함 장애에 대한 로그 및 기록이 필요함 하드웨어 구성 Grafana 서버 구성 (1CPU 전용 작은 규모의 서버) 사양 : 1U / Xeon E2224 x1CPU / 16GB Memory / 960GB x2 RAID1 / 전원이중화 Grafana, Prometheus 구성 모니터링 대상 서버에 Agent 및 NVIDIA DCGM Exporter 구성 · 로컬 또는 컨테이너 구성 선택 가능 · 엔지니어 2일 작업으로 전체 구성 가능 · 고객사에 맞춰 대시보드 커스텀 사용 환경 Grafana의 가장 큰 장점은 서버의 정보를 토대로 대시보드 출력정보를 사용자가 마음대로 커스텀 할 수 있다는 것입니다. 같은 값이라도 크기, 위치, 그래프 종류, 숫자, 퍼센트 등 어떤 GUI로도 변경할 수 있습니다. 해당 사이트에서는 아래 정보값을 주 정보값으로 표기했습니다. · 수집된 로그의 표시 기간 (ex. 1시간이내내 로그, 1일로그, 30일로그, 90일로그 등) · 개별 서버 지정 가능 (전체 서버 또는 개별 서버 지정 가능) · 전체 서버 모니터링 (사용량 80% 이상 붉은색 표시) · GPU Temp (Avg) : GPU당 평균 온도 · GPU Power Usage (Per GPU Avg) : GPU당 평균 전력 사용량 영업 담당자 comment 단일 서버 또는 단일 VM 하나만으로도 훌륭한 통합 모니터링 환경을 구성할 수 있습니다. 대시보드를 고객에 맞춰 커스텀 할수 있고, DCGM Exporter와 Prometheus는 매우 정확한 정보를 제공합니다. 엔지니어 지원 비용 외에 별다른 비용이 발생하지 않고, 기존 서비스에 영향을 주지 않고 구성할 수 있는 모니터링 환경입니다. 여러 대시보드를 띄워 상시 모니터링 환경을 구성하는 것도 가능합니다. 2022.07.26
A사 MLOps 환경 구축 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의 컨테이너 이미지 사용이 가능합니다. 2022.07.25
PLEASE WAIT WHILE LOADING...