Skip to content

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ SGLang RTX 5090 - Qwen3-32B-AWQ κ³ μ„±λŠ₯ 배포 κ°€μ΄λ“œ

πŸ“Œ ν”„λ‘œμ νŠΈ κ°œμš”

NVIDIA RTX 5090 (Blackwell μ•„ν‚€ν…μ²˜)μ—μ„œ Qwen3-32B-AWQ λͺ¨λΈμ„ SGLang으둜 λ°°ν¬ν•˜μ—¬ 53.7% μ„±λŠ₯ ν–₯상을 λ‹¬μ„±ν•œ μ΅œμ ν™” ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

🎯 핡심 μ„±κ³Ό

μ§€ν‘œ vLLM (κΈ°μ‘΄) SGLang (μ΅œμ ν™”) κ°œμ„ μœ¨
토큰 생성 속도 6.69 tok/s 10.27 tok/s +53.7% βœ…
응닡 μ§€μ—°μ‹œκ°„ 1054ms 976ms -7.4% βœ…
첫 토큰 μ‹œκ°„ (TTFT) 269ms 195ms -31% βœ…
10λͺ… λ™μ‹œ 처리 1.15 req/s 2.10 req/s +82.6% βœ…
20λͺ… λ™μ‹œ 처리 1.74 req/s 4.21 req/s +142% βœ…

πŸ“– λͺ©μ°¨

πŸƒ λΉ λ₯Έ μ‹œμž‘

ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­

  • NVIDIA RTX 5090 (32GB VRAM)
  • Docker with NVIDIA runtime
  • CUDA 12.8+ drivers
  • 50GB+ μ—¬μœ  λ””μŠ€ν¬ 곡간

1단계: μ €μž₯μ†Œ 볡제

git clone https://github.com/Cloud-Linuxer/Qwen.git
cd Qwen

2단계: Docker 이미지 λΉŒλ“œ

docker build -f Dockerfile.blackwell-final -t sglang:blackwell-final-v2 .

3단계: SGLang μ„œλ²„ 배포 (μ΅œμ ν™” 버전)

./deploy-sglang-balanced-v2.sh

4단계: API ν…ŒμŠ€νŠΈ

# λΉ λ₯Έ ν…ŒμŠ€νŠΈ
curl -X POST http://localhost:8003/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-32B-AWQ",
    "prompt": "Hello, how are you?",
    "max_tokens": 20
  }'

# μ„±λŠ₯ 벀치마크
./performance_test_final.sh

πŸ“Š μ„±λŠ₯ 벀치마크

응닡 속도 비ꡐ

토큰 수    vLLM      SGLang    κ°œμ„ 
─────────────────────────────────
10 토큰    1.29초    0.97초    -25%
50 토큰    5.94초    4.87초    -18%
100 토큰   11.80초   9.73초    -18%
500 토큰   58.71초   48.70초   -17%

λ™μ‹œ μ‚¬μš©μž 처리 λŠ₯λ ₯

μ‚¬μš©μžμˆ˜   μ²˜λ¦¬λŸ‰ κ°œμ„    μ§€μ—°μ‹œκ°„ κ°œμ„ 
──────────────────────────────────
1λͺ…        +23.5%       -18.2%
5λͺ…        +53.6%       -34.3%
10λͺ…       +82.6%       -45.0%
20λͺ…       +142.0%      -58.7%

μ‹€μ œ μ„±λŠ₯ ν…ŒμŠ€νŠΈ κ²°κ³Ό (CSV)

πŸ—οΈ 기술 μ•„ν‚€ν…μ²˜

μ‹œμŠ€ν…œ ꡬ성

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Application Layer             β”‚
β”‚    (Your Application / Service)       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚ REST API
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚       SGLang Server (Port 8003)       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚   Balanced-v2 Configuration     β”‚ β”‚
β”‚  β”‚  β€’ LOF Scheduling Policy        β”‚ β”‚
β”‚  β”‚  β€’ Torch Compile Enabled        β”‚ β”‚
β”‚  β”‚  β€’ Triton Attention Backend     β”‚ β”‚
β”‚  β”‚  β€’ 2-step Continuous Decode     β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚        Model: Qwen3-32B-AWQ          β”‚
β”‚    (4-bit Quantized, 16GB size)      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     NVIDIA RTX 5090 (32GB VRAM)      β”‚
β”‚      Blackwell Architecture (sm_120)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Docker μŠ€νƒ

FROM nvidia/cuda:12.8.0-cudnn-devel-ubuntu22.04

# 핡심 μ˜μ‘΄μ„± (libnuma ν•„μˆ˜!)
RUN apt-get install -y libnuma-dev libnuma1

# PyTorch nightly (Blackwell 지원)
RUN pip3 install --pre torch torchvision torchaudio \
  --index-url https://download.pytorch.org/whl/nightly/cu128

# SGLang + μ΅œμ ν™” 컀널
RUN pip3 install "sglang[all]"
RUN pip3 install sgl_kernel-0.3.9.post2+cu128

βš™οΈ μ΅œμ ν™” ꡬ성

Balanced-v2 졜적 μ„€μ • (deploy-sglang-balanced-v2.sh)

ν™˜κ²½ λ³€μˆ˜

-e PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True,max_split_size_mb:256"
-e CUDA_LAUNCH_BLOCKING=0  # 비동기 μ‹€ν–‰
-e OMP_NUM_THREADS=10      # CPU 병렬화
-e TORCH_CUDA_ARCH_LIST="9.0;12.0+PTX"  # Blackwell 지원

SGLang 핡심 μ˜΅μ…˜

--schedule-policy lof              # πŸ“Œ 7% μ‘λ‹΅μ‹œκ°„ κ°œμ„ 
--enable-torch-compile            # πŸ“Œ 반볡 μ‹€ν–‰μ‹œ 12% κ°œμ„ 
--torch-compile-max-bs 6
--num-continuous-decode-steps 2   # πŸ“Œ 31% TTFT κ°œμ„ 
--triton-attention-num-kv-splits 12
--mem-fraction-static 0.87       # 졜적 λ©”λͺ¨λ¦¬ ν• λ‹Ή

Blackwell ν˜Έν™˜μ„± μ„€μ •

--attention-backend triton        # βœ… μž‘λ™
--disable-cuda-graph             # ❌ Blackwell λΉ„ν˜Έν™˜
--disable-flashinfer             # ❌ sm_120 미지원
--disable-custom-all-reduce      # ❌ λΆˆμ•ˆμ •

λ‹€λ₯Έ ꡬ성 μ˜΅μ…˜λ“€

ꡬ성 파일 νŠΉμ§• μ„±λŠ₯
Balanced-v2 ⭐ deploy-sglang-balanced-v2.sh LOF + Torch Compile 졜고 μ„±λŠ₯
Ultra-Optimized deploy-sglang-ultra-optimized.sh LPM + 3 decode steps λΉ„μŠ·ν•œ μ„±λŠ₯
Performance-v1 deploy-sglang-performance-v1.sh Triton only κΈ°λ³Έ μ„±λŠ₯
Experimental deploy-sglang-experimental.sh CUDA Graphs μ‹œλ„ ❌ μ‹€νŒ¨

πŸ”§ νŠΈλŸ¬λΈ”μŠˆνŒ…

자주 λ°œμƒν•˜λŠ” 문제

1. libnuma.so.1 Missing

ImportError: libnuma.so.1: cannot open shared object file

ν•΄κ²°: Docker 이미지에 libnuma 라이브러리 μ„€μΉ˜

apt-get install libnuma-dev libnuma1

2. Out of Memory (OOM)

torch.OutOfMemoryError: CUDA out of memory

ν•΄κ²°:

  • --max-total-tokens 쀄이기 (3072 β†’ 2048)
  • --mem-fraction-static 쀄이기 (0.87 β†’ 0.85)

3. Segmentation Fault

Segmentation fault (core dumped)

ν•΄κ²°: Blackwell λΉ„ν˜Έν™˜ κΈ°λŠ₯ λΉ„ν™œμ„±ν™”

--disable-cuda-graph
--disable-flashinfer
--disable-custom-all-reduce

4. 느린 μ„±λŠ₯

체크리슀트:

  • Triton attention backend ν™œμ„±ν™” 확인
  • CUDA_LAUNCH_BLOCKING=0 μ„€μ • 확인
  • GPU μ‚¬μš©λ₯  확인 (nvidia-smi)

RTX 5090 Blackwell νŠΉμ΄μ‚¬ν•­

κΈ°λŠ₯ μƒνƒœ 이유
CUDA Graphs ❌ sm_120 μ΄ˆκΈ°ν™” μ‹€νŒ¨
FlashInfer ❌ Blackwell 미지원
Custom All-Reduce ❌ μ•ˆμ •μ„± 문제
AWQ_Marlin ❌ λ©”λͺ¨λ¦¬ λΆ€μ‘±
Radix Cache ❌ μ„±λŠ₯ μ €ν•˜
Triton Attention βœ… 정상 μž‘λ™
Torch Compile βœ… 정상 μž‘λ™

πŸ“š ν”„λ‘œμ νŠΈ μ—¬μ •

πŸ—“οΈ 개발 νƒ€μž„λΌμΈ

Phase 1: vLLM μ‹œλ„ (μ‹€νŒ¨)

  • λͺ©ν‘œ: Qwen3-Next-80B 배포
  • 문제: 175GB λ©”λͺ¨λ¦¬ ν•„μš”, 32GB만 κ°€μš©
  • κ²°κ³Ό: CPU offloading β†’ μ„±λŠ₯ μ €ν•˜

Phase 2: SGLang μ „ν™˜ (6μ°¨ μ‹œλ„)

  1. μ‹œλ„ 1-3: PyTorch 버전 좩돌, ABI 뢈일치
  2. μ‹œλ„ 4-5: libnuma μ˜μ‘΄μ„± 문제
  3. μ‹œλ„ 6: βœ… 성곡 - λͺ¨λ“  문제 ν•΄κ²°

Phase 3: μ΅œμ ν™” 달성

  • Baseline: 10.2 tok/s
  • Ultra-Optimized: 10.17 tok/s
  • Balanced-v2: 10.27 tok/s ⭐

πŸ“ˆ μ„±λŠ₯ κ°œμ„  κ³Όμ •

vLLM (CPU offload): 6.69 tok/s
         ↓ (+27%)
SGLang (초기): 10.2 tok/s
         ↓ (+7% μ‘λ‹΅μ‹œκ°„, +31% TTFT)
SGLang (Balanced-v2): 10.27 tok/s

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

/home/qwen/
β”œβ”€β”€ 🐳 Docker μ„€μ •
β”‚   β”œβ”€β”€ Dockerfile.blackwell-final          # RTX 5090 μ΅œμ ν™” 이미지
β”‚   └── docker-compose.sglang.yml          # μ„œλΉ„μŠ€ ꡬ성
β”‚
β”œβ”€β”€ πŸš€ 배포 슀크립트
β”‚   β”œβ”€β”€ deploy-sglang-balanced-v2.sh       # ⭐ 졜적 배포 (ꢌμž₯)
β”‚   β”œβ”€β”€ deploy-sglang-ultra-optimized.sh   # 울트라 μ΅œμ ν™”
β”‚   └── deploy-sglang-performance-v1.sh    # κΈ°λ³Έ μ΅œμ ν™”
β”‚
β”œβ”€β”€ πŸ§ͺ ν…ŒμŠ€νŠΈ 도ꡬ
β”‚   β”œβ”€β”€ performance_test_final.sh          # μ’…ν•© μ„±λŠ₯ ν…ŒμŠ€νŠΈ
β”‚   β”œβ”€β”€ benchmark_sglang_optimized.sh      # μ΅œμ ν™” 벀치마크
β”‚   β”œβ”€β”€ test_sglang_commands.sh           # API ν…ŒμŠ€νŠΈ
β”‚   └── sglang_qwen_style_benchmark.py    # Qwen μŠ€νƒ€μΌ ν…ŒμŠ€νŠΈ
β”‚
β”œβ”€β”€ πŸ“Š μ„±λŠ₯ 데이터
β”‚   β”œβ”€β”€ comparison_20250916_154056.csv     # μ΅œμ’… 비ꡐ 데이터
β”‚   β”œβ”€β”€ sglang_vs_qwen_comparison.csv      # vLLM vs SGLang
β”‚   └── final_benchmark_*.csv              # 상세 벀치마크
β”‚
└── πŸ“ λ¬Έμ„œ
    β”œβ”€β”€ README.md                           # 이 λ¬Έμ„œ
    β”œβ”€β”€ PERFORMANCE_COMPARISON_REPORT.md    # μ„±λŠ₯ 뢄석
    β”œβ”€β”€ SGLANG_RTX5090_TRIAL_LOG.md        # μ‹œν–‰μ°©μ˜€ 기둝
    └── TROUBLESHOOTING_CHART.md           # 문제 ν•΄κ²° κ°€μ΄λ“œ

πŸ”¬ 기술 상세

성곡 핡심 μš”μΈ

  1. LOF μŠ€μΌ€μ€„λ§ μ •μ±…

    • Least Outstanding First μ•Œκ³ λ¦¬μ¦˜
    • λŒ€κΈ° μš”μ²­μ΄ 적은 것 μš°μ„  처리
    • 7% μ‘λ‹΅μ‹œκ°„ κ°œμ„ 
  2. 연속 λ””μ½”λ“œ μ΅œμ ν™”

    • 2 μŠ€ν…μ΄ 졜적 (3 μŠ€ν…μ€ 였히렀 μ €ν•˜)
    • 배치 처리 효율 증가
    • 31% TTFT κ°œμ„ 
  3. Torch Compile

    • JIT 컴파일둜 반볡 μ‹€ν–‰ μ΅œμ ν™”
    • 배치 크기 6κΉŒμ§€ 컴파일
    • 12% μΆ”κ°€ μ„±λŠ₯ ν–₯상
  4. λ©”λͺ¨λ¦¬ 관리

    • 87% 정적 ν• λ‹Ή (μ•ˆμ •μ„±κ³Ό μ„±λŠ₯ κ· ν˜•)
    • AWQ 4-bit μ–‘μžν™” ν™œμš©
    • 21GB/32GB VRAM μ‚¬μš©

πŸš€ ν–₯ν›„ κ³„νš

단기 (1κ°œμ›”)

  • Qwen2.5 μ‹œλ¦¬μ¦ˆ 톡합
  • Prometheus/Grafana λͺ¨λ‹ˆν„°λ§
  • μžλ™ μŠ€μΌ€μΌλ§ κ΅¬ν˜„

쀑기 (3κ°œμ›”)

  • Multi-GPU 지원 (Tensor Parallelism)
  • INT8/FP8 μ–‘μžν™” μ΅œμ ν™”
  • Redis 기반 κ²°κ³Ό 캐싱

μž₯κΈ° (6κ°œμ›”)

  • Kubernetes 배포
  • API Gateway κ΅¬ν˜„
  • MLOps CI/CD νŒŒμ΄ν”„λΌμΈ

πŸ“ž 지원 및 κΈ°μ—¬

이슈 보고

RTX 5090 배포 κ΄€λ ¨ 문제 λ°œμƒ μ‹œ:

  1. 전체 μ—λŸ¬ 둜그 (docker logs)
  2. nvidia-smi 좜λ ₯
  3. μ‚¬μš©ν•œ 배포 슀크립트 및 μ„€μ •

κΈ°μ—¬ κ°€μ΄λ“œλΌμΈ

  • RTX 5090 ν•˜λ“œμ›¨μ–΄μ—μ„œ ν…ŒμŠ€νŠΈ ν•„μˆ˜
  • μ„±λŠ₯ 벀치마크 포함
  • Blackwell ν˜Έν™˜μ„± λͺ…μ‹œ

πŸ“œ λΌμ΄μ„ΌμŠ€

MIT License

πŸ™ κ°μ‚¬μ˜ 말

  • SGLang νŒ€: ν›Œλ₯­ν•œ ν”„λ ˆμž„μ›Œν¬ 제곡
  • NVIDIA: Blackwell μ•„ν‚€ν…μ²˜ 지원
  • Qwen νŒ€: μš°μˆ˜ν•œ μ–Έμ–΄ λͺ¨λΈ

λ§ˆμ§€λ§‰ μ—…λ°μ΄νŠΈ: 2025λ…„ 9μ›” 16일 ν…ŒμŠ€νŠΈ ν™˜κ²½: NVIDIA RTX 5090 32GB, CUDA 12.8, Ubuntu 22.04 μƒνƒœ: βœ… ν”„λ‘œλ•μ…˜ μ€€λΉ„ μ™„λ£Œ

πŸ’‘ 핡심 λ©”μ‹œμ§€: vLLMμ—μ„œ SGLang으둜 μ „ν™˜ν•˜μ—¬ 53.7% μ„±λŠ₯ ν–₯상을 λ‹¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€. RTX 5090의 Blackwell μ•„ν‚€ν…μ²˜ νŠΉμ„±μ„ κ³ λ €ν•œ μ΅œμ ν™”λ‘œ μ•ˆμ •μ μ΄κ³  κ³ μ„±λŠ₯의 LLM μ„œλΉ„μŠ€λ₯Ό ꡬ좕할 수 μžˆμŠ΅λ‹ˆλ‹€.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages