MLOps 6

NVIDIA vGPU GPU Operator install

대부분의 내용은 gpu operator 페이지에 다있다.https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/ https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/ docs.nvidia.com  1.vGPU드라이버 다운로드vGPU드라이버는 유료라이센스. 전용페이지에서 다운 2.준비물driver(.run) 파일vGPUDriverCatalog.yamlgridd.conf.tok파일 3.환경변수설정 4.driver 이미지 빌드준비물포함 5.configmap 생성 - licensing-config vGPU 라이센스- metrics-configDCGM exporter의 커스텀 메트릭 사용을 위한 csv파..

MLOps/GPU 2024.06.16

gpu operator helm 주요 파라미터

# redhat openshift 여부platform:   openshift: false  # node feature discovery 사용여부. node의 정보(cpu, gpu, mem등)을 수집nfd:   enabled: true   nodefeaturerules: false  # pod security admission 사용여부psa:   enabled: false  # containder device interface 사용여부/ true로 하면 default runtime class(nvidia)외에  2개의 runtime class(nvidia-cdi, nvidia-legacy)를 모두 사용가능# cri에서 nvidia gpu같은 복잡한 device를 활용하는데 있어서 표준 스펙을 만듬.cdi:..

MLOps/GPU 2024.06.16

NVIDIA GPU Operator 용어

GPU Driver CRD (NVIDIA Driver CRD)개별 노드에 GPU driver type과 버전을 지정할 수 있는 nvidia custom driver, custom resource를 생성할 수 있다.노드셀렉터를 통해 노드별 os에 따른 드라이버설정 가능-- Cluster Policy CRD와 NVIDIA Driver CRD 비교https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/gpu-driver-configuration.htmlKubeVirtk8s cluster상 VM환경 생성성하고 관리하게 해주는 기술.VM과 Container를 위한 개별 클러스터를 구성할 필요 없이 하나의 k8s cluster에서 모두 사용가능하게 ..

MLOps/GPU 2024.06.16

GPUDirect RDMA와 vGPU

먼저 RDMA부터 알아보자RDMA (Remote Direct Memory Access)RDMA는 네트워크를 통해 데이터 전송 시, CPU의 개입을 최소화하고 메모리 대 메모리 전송을 직접 수행하는 기술입니다. 주요 특징은 다음과 같습니다:낮은 지연 시간: 데이터 전송 중에 CPU가 관여하지 않기 때문에 지연 시간이 매우 짧습니다.높은 대역폭: 네트워크 인터페이스 카드(NIC)가 직접 메모리에 접근하여 데이터를 전송하기 때문에 높은 대역폭을 제공합니다.낮은 CPU 오버헤드: CPU의 개입이 최소화되어 CPU 사용률이 낮아집니다.제로 카피: 데이터가 직접 전송되므로 추가적인 데이터 복사가 필요 없습니다.RDMA는 인피니밴드(InfiniBand), RoCE (RDMA over Converged Ethernet..

MLOps/GPU 2024.06.11

LangServe를 활용한 Langchain service

사내에서 data science팀이 제공하는 자체 LLM 모델은 제조데이터를 학습하지 않고 있다. 그래서 제조데이터를 활용한 LLM서비스를 위해서는 두가지방법이 가능해보이는데, 1. 제조데이터 finetuning을 통한 모델활용 2.langchain을 통한 RAG 구현으로 제조지식은 Retriver로,사내 LLM모델은 모델API로 활용하여 서비스제공하기 이다. 1번의 경우 해당부서와 실제로 협업하기 어려운측면이 있으나 2번은 충분히 가능해보였다. 그래서 오랜만에 Langchain을 보니 그동안 많이 또 바뀌어있었다. 그중에 Langserve는 내가 익숙한 fastapi를 통해 RAG 서비스를 제공할수 있어보였다. runnable이라는 자체 제공 객체를 통해 통해 쉽게 각종 component로부터의 데이터..

MLOps/Langserve 2024.04.14

vGPU활용한 학습/serving환경

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학..

MLOps/GPU 2024.03.18