Belajar System Engineer - AI Systems & GPU Ops
Episode 23 of 28

Belajar System Engineer - AI Systems & GPU Ops

Mengoperasikan server GPU untuk AI: memasang dan memverifikasi driver, mengelola VRAM dan thermal, menjalankan toolchain inference seperti vLLM, serta memantau server GPU dengan benar di produksi

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Selama 22 episode kita mengelola infrastruktur "klasik" — server, jaringan, storage, dan layanan. Di 2026, ada satu kelas workload yang berkembang paling cepat dan menuntut keahlian operasional baru: AI systems. Model besar butuh server dengan GPU yang kuat — dan GPU adalah hardware yang perilakunya sangat berbeda dari CPU biasa.

Mengapa episode ini penting? Karena permintaan akan "AI infrastructure engineer" naik tajam, dan System Engineer yang memahami GPU ops menjadi sangat berharga. Episode ini membekali kalian dasar operasional: driver dan CUDA, verifikasi VRAM dan thermal, toolchain inference (vLLM, TGI), serta monitoring server GPU yang benar.

Memahami Perbedaan GPU Server

GPU memiliki karakteristik yang berbeda dari CPU:

AspekCPUGPU
IntiSedikit (8-64), kuat per-intiRibuan inti paralel (2560+ per GPU)
MemoriRAM biasa (GB)VRAM terdedikasi (GB)
Peran AIKontrol & persiapan dataPerhitungan paralel (matriks)
Konsumsi dayaPuluhan watt250-700+ watt per GPU
PendinginanKipas biasaButuh airflow/immersion khusus

Konsekuensi praktisnya: server GPU butuh daya listrik besar, pendinginan serius, dan VRAM yang dijaga seperti RAM — kehabisan VRAM = model gagal dimuat atau inference crash.

Instalasi Driver dan CUDA

Verifikasi Driver

Langkah pertama mengelola server GPU: pastikan driver berjalan dan GPU terdeteksi.

Cek status GPU
lspci | grep -i nvidia
nvidia-smi
Contoh output nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.02   Driver Version: 555.42.02   CUDA Version: 12.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
|  0  H100 NVL      On         | 00000000:3B:00.0  On |                  0 |
|-------------------------------+----------------------+----------------------+
|   0   92%  68C   P2   380W / 700W | 63562MiB / 81920MiB | 0%  Default |
+-------------------------------+----------------------+----------------------+

nvidia-smi adalah top-nya server GPU — membaca sekali sudah memberi gambaran: util GPU, temperatur, daya, dan sisa VRAM.

Warning

Sebelum meng-upgrade driver di server GPU: check compatibility antara driver, CUDA toolkit, dan framework (PyTorch/TensorFlow). Versi driver/CUDA yang tidak cocok adalah penyebab paling umum kegagalan di server AI — lebih sering daripada hardware. Simpan baseline versi yang sudah terbukti jalan, dan uji di staging dulu (prinsip episode 17).

Install Driver (Ubuntu)

Install driver NVIDIA
sudo ubuntu-drivers devices          # lihat driver yang direkomendasikan
sudo apt install -y nvidia-driver-555
sudo reboot
nvidia-smi                            # verifikasi setelah boot

Menjaga VRAM dan Thermal

VRAM: Sumber Daya Paling Langka

VRAM adalah batas utama inference. Pantau secara aktif:

Monitor VRAM
nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu --format=csv
nvidia-smi -l 5                      # ulangi tiap 5 detik

Thermal dan Daya

GPU yang panas akan throttling (menurunkan performa demi melindungi diri) — performa menurun tanpa pesan error. Ini jebakan halus di GPU ops. Pantau suhu dan daya:

MetrikNilai WajarTindakan
Temperatur55-75°CThrottling di atas 85°C
DayaDi bawah TDPCek nvidia-smi -q -d POWER
FanTidak 100% terus-menerusCek airflow rak

Ingat: GPU server biasanya multi-GPU (4-8 unit per node). Satu node GPU bisa menarik 2-3 kW — pastikan rack dan UPS mendukungnya, dan jangan meletakkan node GPU bertumpuk tanpa airflow.

Toolchain Inference: vLLM

Menjalankan model besar (LLM) membutuhkan server inference khusus. vLLM adalah salah satu runtime inference paling populer — efisien memakai VRAM dan tinggi throughput.

Menjalankan vLLM dengan Docker

Jalankan LLM dengan vLLM
docker run --gpus all \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -p 8000:8000 \
  --ipc=host \
  vllm/vllm-openai:latest \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --max-model-len 8192

Verifikasi dengan OpenAI-compatible API:

Test endpoint inference
curl http://localhost:8000/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"meta-llama/Llama-3.1-8B-Instruct","prompt":"Apa itu System Engineer?","max_tokens":100}'

Pilih Ukuran Model Sesuai VRAM

Aturan praktis pemilihan model berdasarkan VRAM (untuk 16-bit):

ModelVRAM Kira-kiraGPU yang Cocok
1-3B4-8 GBRTX 4090
7-8B14-20 GBA100 40G / H100
13B25-30 GBA100 80G
70B130-140 GB2x H100

Lebih dari sekedar ukuran: gunakan quantization (4-bit/8-bit) untuk mengecilkan kebutuhan VRAM, dan pertimbangkan MIG (NVIDIA Multi-Instance GPU) atau vGPU untuk membagi satu GPU ke beberapa workload kecil.

Monitoring Server GPU

Gunakan Prometheus + DCGM exporter (NVIDIA Data Center GPU Manager) untuk memantau secara terpusat:

Pantau GPU dengan DCGM
# Jalankan DCGM exporter sebagai container
docker run -d --name dcgm-exporter --gpus all \
  -p 9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:latest
 
# Cek metrik (kueri dari Prometheus)
curl localhost:9400/metrics | grep -E "dcgm_gpu_utilization|dcgm_gpu_temp|dcgm_fb_used"

Metrik kunci untuk alert:

Contoh alert GPU
# VRAM hampir penuh
dcgm_fb_used / dcgm_fb_total > 0.95
 
# GPU terlalu panas
dcgm_gpu_temp > 85
 
# GPU menganggur padahal workload ada (XID error?)
dcgm_gpu_utilization < 10

Praktik: GPU Server Ops

Skenario lab (butuh mesin dengan GPU, atau GPU cloud seperti Lambda/runpod):

Skenario GPU ops
# 1. Verifikasi driver & CUDA
nvidia-smi
 
# 2. Cek VRAM sebelum memuat model
nvidia-smi --query-gpu=memory.free --format=csv
 
# 3. Jalankan inference server
docker run --gpus all -p 8000:8000 vllm/vllm-openai:latest \
  --model meta-llama/Llama-3.1-8B-Instruct --max-model-len 8192
 
# 4. Pantau selama inference
nvidia-smi -l 5
 
# 5. Test endpoint
curl http://localhost:8000/v1/completions -H "Content-Type: application/json" \
  -d '{"model":"meta-llama/Llama-3.1-8B-Instruct","prompt":"Halo","max_tokens":20}'

Kesalahan Umum

  1. Upgrade driver tanpa cek kompatibilitas CUDA — framework rusak diam-diam.
  2. Mengabaikan thermal — GPU throttling, performa turun tanpa error.
  3. Memilih model lebih besar dari VRAM — OOM; ukur VRAM dulu, lalu pilih/quantize.
  4. GPU idle terus-menerus — kapasitas mahal menganggur; bagikan via MIG/vGPU atau matikan.
  5. Tanpa monitoring GPU — util/VRAM/temp tidak terlihat sampai produksi crash.

Penutup

Inti yang harus dibawa pulang:

  • Server GPU = VRAM terbatas + daya besar + thermal kritis; nvidia-smi adalah alat pertama.
  • Install driver dengan verifikasi kompatibilitas driver ↔ CUDA ↔ framework.
  • vLLM/TGI menjalankan LLM; pilih ukuran model sesuai VRAM, gunakan quantization.
  • Monitoring: DCGM exporter + Prometheus untuk util, VRAM, dan suhu.

Di episode 24 selanjutnya kita menyempurnakan keandalan dengan pendekatan terukur: SRE & reliability practices — SLO, error budgets, dan incident response. Sampai jumpa di episode 24!