본문 바로가기

전체 글

(10)
LLM에 따른 GPU Memory 활용안 #1 초대규모 AI 모델 학습: FSDP와 GPU 메모리 한계요즘 70B 파라미터 이상의 초대규모 모델 학습을 시도하는 기업이 점점 늘고 있습니다.그런데, GPU 메모리가 부족해서 학습이 불가능하거나 매우 어렵다는 문제가 자주 발생합니다.이 글에서는 FSDP(Full Sharded Data Parallel)를 활용해 어떻게 메모리를 분산시키고, 어떤 한계가 발생하는지 상세히 설명합니다.1. 70B 모델의 메모리 요구량먼저 기본 데이터부터 보겠습니다.70B 파라미터 모델을 FP16으로 저장하면:파라미터: 70B × 2 bytes = 140GB옵티마이저 상태(Adam): 70B × 8 bytes = 560GB그라디언트: 70B × 2 bytes = 140GB총 메모리: 840GB단일 GPU로는 학습 불가능아무리 ..
nginx를 활용한 HTTPS 인증 및 Reverse Proxy 구성 방식 Nginx 를 통해 http + ssl 인증을 구현한 https 구성 방법과 도메인 분리시 다중 서버에 Reverse Proxy를 사용하는 방법에 관해 소개할 예정입니다. ex) www.test.com -> UI 서버 진입 www.test.com/api -> API 서버 진입 웹 애플리케이션을 운영할 때 HTTPS 보안은 필수 요소이며, nginx는 가장 널리 사용되는 고성능 웹 서버이자 리버스 프록시 도구입니다. 이 글에서는 nginx를 통해 두 개의 웹 애플리케이션을 구성하고, 경로 기반 리버스 프록시와 HTTPS 인증서 적용 방식을 소개합니다. PreRequirement dockerdocker compose도메인 주소 (가비아 또는 카페24에서 구매하실 수 있습니다.) ✅ 목표 구성ngin..
GPU를 통한 AI 연구시 OS 결정요소 (Linux vs Windows) AI 연산의 GPU는 OS에 따라 운영체제의 커널 구조, 드라이버 설계 철학, 하드웨어 자원 제어 방식의 총체적 차이에서 비롯됩니다. 아래에 구조적 차이, 원인, 그리고 근거를 단계별로 정리해서 설명드리겠습니다.✅ 결론Windows는 GPU를 포함한 고성능 연산 자원에 대해 "그래픽 중심 / 사용자 환경 중심"으로 설계된 반면,Linux는 "서버 / HPC 중심 커널 구조"를 가지고 있어 연산 집중형 작업에서 확실한 성능 우위를 보입니다. 차이 1: GPU 드라이버 아키텍처 (WDDM vs. NVIDIA 커널 모듈)차이점항목LinuxWindows드라이버 구조nvidia.ko (커널 모듈)WDDM (User-mode + Kernel-mode 이중 구조)GPU 스케줄링TCC (Tesla Compute Clu..
Docker VS VM 기반의 차이 (1) 클라우드 제품을 설계할 때, Docker(컨테이너) 기반과 가상머신(VM) 기반 아키텍처는 다음과 같은 특성과 트레이드오프를 갖습니다.✅ 1. 구조 비교 항목Docker 기반가상머신 기반💾 무게가벼움 (MB 단위)무거움 (GB 단위)⚡ 부팅 속도수초 이내수십 초~수 분🔁 오버헤드낮음 (OS 공유)높음 (Full OS)🧱 격리 수준프로세스 격리 (커널 공유)완전 격리 (커널 포함)🖥️ OS 유연성제한적 (호스트 OS와 커널 공유)유연 (Linux, Windows, BSD 등 설치 가능)🔧 관리 도구Kubernetes, Docker Swarm 등OpenStack, Proxmox, VMware 등🔐 보안성기본적으로 낮음 (커널 공유로 인해)기본적으로 높음 (격리 완전)✅ 2. 운영체제 제약에 관한 ..
GPU PCIe Passthrough 를 통해 VM에 GPU 할당하여 사용하기 (1) Ubuntu 22.04 KVM GPU Passthrough with VFIO - Full Guide이 문서는 Ubuntu 22.04 환경에서 KVM 가상 머신에 GPU를 Passthrough 하기 위해 VFIO를 활용한 전체 설정 과정 입니다.✅ 사전 준비하드웨어 요구사항VT-d(Intel) 또는 AMD-Vi 지원 CPUIOMMU 지원 메인보드Passthrough 가능한 NVIDIA GPU (ex. RTX 4090)소프트웨어 구성sudo apt updatesudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager ovmf pciutils✅ IOMMU 활성화GRUB 설정sudo nano /etc/de..
SSH 리버스 프록시 기반 원격 지원 시스템 구성 가이드 이 포스트는 내부망에 위치한 A/S PC에 외부에서 안전하게 접속할 수 있도록 SSH 리버스 프록시를 활용하는 방법을 안내합니다.두 가지 구성 방식을 포함하고 있습니다:사용자 제어형 구성 (On/Off 연결 방식) 즉, 사용자가 제어하는 경우운영자 자동 연결 유지형 구성 (지속 연결 방식) 즉, PC의 관리자가 제어하는 경우구조도와 함께 실제 작동 원리는 아래와 같습니다.전체 구성도 1. 사용자 제어형 구성 (On/Off 제어 방식)구성 설명이 방식은 A/S PC 사용자가 지원이 필요할 때 직접 명령어를 실행하여 Proxy PC에 리버스 터널을 생성하고, 지원이 끝나면 연결을 끊는 구조입니다. Client PC는 Proxy PC를 통해 터널링된 포트로 A/S PC에 접속합니다.포트가 필요한 시점에만 열리..
Prometheus + Blackbox Exporter로 서버 ICMP(Ping) Health Check 구성하기 (3) 이전 포스트에서는 Grafana + Prometheus + Blackbox Exporter를 통해 ICMP 모니터링을 구현하였다면 이번 포스트에서는 Grafana 와 SLACK을 연동하여 특정 alert 상황에서 Slack 채널로 알림을 보내는 설정을 진행해 보도록 하겠습니다. 🔔 Slack 알림 설정1. Slack Webhook 생성Slack API(https://api.slack.com/apps) 에서 앱 생성Create New App -> From scratch -> App Name 입력, 본인이 사용하는 Slack Workspace 선택 Incoming Webhook 활성화좌측 네비게이션 바에  Incoming Webhooks 선택 -> Off상태 를 On 상태로 변경  알림 보낼 채널 선택->..
Prometheus + Blackbox Exporter로 서버 ICMP(Ping) Health Check 구성하기#2 Prometheus + Blackbox Exporter 조합으로 Ping(ICMP) 기반 헬스체크 이전 포스팅에 이번 글에서는 Grafana를 이용해 이 데이터를 시각화하고, 서버별로 자동 반복되는 대시보드를 만드는 과정을 다룹니다.📚 목차구성 개요Prometheus + Blackbox Exporter 구성 요약Grafana 설치 및 Prometheus 연동Ping 상태 대시보드 만들기서버별 자동 패널 구성 (Repeat Panel)IP만 표시되도록 Legend/Label 가공1. 🔧 구성 개요서버는 agent 설치 없이 운영됨Blackbox Exporter는 ping(ICMP) 요청만 수행Prometheus가 /probe를 통해 Exporter에 요청Grafana는 Prometheus 데이터를 시각..