1.vGPU환경
-특징1: 클라우드기반 vGPU환경
vGPU: 물리 GPU를 vm에 할당하여 사용
gpu: slice방식으로 공유
gpu memory: 전용할당
특징2: 가상Container환경
gpu를 사용한 딥러닝학습위해서는 driver와 cuda, cudnn라이브러리 필요
=>
gpu driver는 vm 서버에 설치,
cuda 및 cudnn은 설치된 이미지를 가상 컨테이너환경으로 사용자에게 제공
이점:
1.모델학습 측면: gpu학습환경(cuda, cudnn등)을 유저가 직접설치하기에는 복잡-> 모델개발에 필요한 환경을 편리하게 제공
2.모델의 비지니스서비스화 측면: 학습환경과 동일한 dependency를 가진 환경을 쉽게 제공함으로써 모델성능의 재현성을 높일수 있다.
2.vGPU container학습/서빙 환경 setup:
1.gpu driver설치(생략)
2.driver 버전확인
nvidia-smi
| NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 |
nvidia gpu-driver버전: Driver Version: 525.105.17
->해당 dirver 권장 cuda default버전: 12.0
3. gpu-driver버전과 호환되는 cuda 버전확인
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions
1. CUDA 12.4 Release Notes — Release Notes 12.4 documentation
BLAS level 2 and 3 functions might not treat alpha in a BLAS compliant manner when alpha is zero and the pointer mode is set to CUBLAS_POINTER_MODE_DEVICE. The expected behavior is that the corresponding computations would be skipped. You may encounter the
docs.nvidia.com
->cuda12의 경우 pytorch지원이 나온지 얼마안되기도 했고, llama-recipe에서 가이드하는대로 cuda 11.8로 안전하게 갔다.
4.cuda버전과 호환되는 cuDNN버전확인
이 가이드대로 확인하여 cuDNN 다운로드
cuDNN 9.0.0 Downloads
developer.nvidia.com
5.docker 및 nvidia-docker환경 셋업(rhel8.8)
1)docker설치
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2)nvidia-container-toolkit설치
참고: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html
Running a Sample Workload — NVIDIA Container Toolkit 1.14.5 documentation
© Copyright 2020-2024, NVIDIA. Last updated on Feb 12, 2024.
docs.nvidia.com
-toolkit설치
yum install -y nvidia-container-toolkit
-config설정
nvidia-ctk runtime configure -runtime=docker
-docker 리스타트
systemctl restart docker
3)테스트
docker run --rm --runtime=nvidia --gpus all <my private registry>/nvidia/cuda:11.8.0-cudnn8-runtime-rockylinux8 nvidia-smi
--출력:
==========
== CUDA ==
==========
CUDA Version 11.8.0
4.이미지의 구성
두가지로 접근가능
1)nvidia의 cuda, cudnn이 설치된 도커이미지위에 pytorch, tf, jupyter등을 구성
ex) nvidia/cuda:11.8.0-cudnn8-runtime-rockylinux8, nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04 등
2) cuda, cudnn버전과 함께 pytorch,tf가 설치된 이미지위에 jupyter등을 구성
ex)pytorch:2.1.0-cuda11.8-cudnn8-runtime 등
=>1)의 경우 범용성이 좋으나 좀더 커스마이징한 구성필요하므로 2번으로 우선진행
=> cuda+cuDNN+pytorch의 이미지위에서 jupyter및 llm학습필요한 추가패키지를 생성함
'MLOps > GPU' 카테고리의 다른 글
NVIDIA vGPU GPU Operator install (0) | 2024.06.16 |
---|---|
gpu operator helm 주요 파라미터 (0) | 2024.06.16 |
NVIDIA GPU Operator 용어 (0) | 2024.06.16 |
GPUDirect RDMA와 vGPU (0) | 2024.06.11 |