피드로 돌아가기
Fitting WhisperX large-v3 + a 24B LLM on one 3090: a reproducible context-capping recipe
Dev.toDev.to
AI/ML

KV cache 최적화로 RTX 3090 VRAM 26GB → 21.9GB 절감 및 OOM 해결

Fitting WhisperX large-v3 + a 24B LLM on one 3090: a reproducible context-capping recipe

Arsen Apostolov2026년 6월 3일6intermediate

Context

RTX 3090(24GB) 단일 GPU에서 WhisperX large-v3와 Devstral 24B 모델을 동시 운용하는 환경. 두 서비스의 Peak VRAM 합계가 26GB에 달해 서비스 중첩 시 CUDA OOM이 지속적으로 발생하는 한계 상황.

Technical Solution

  • Langfuse 트레이스 분석을 통한 실제 워크로드의 Prompt Context 크기(5~8k tokens) 측정
  • 모델 가중치(Fixed Cost)와 별개로 num_ctx에 비례하여 증가하는 KV cache(Variable Cost)의 선형적 특성 활용
  • Native Context Length인 8192로 num_ctx를 제한하여 RoPE Extrapolation으로 인한 품질 저하 방지 및 메모리 최적화
  • Ollama Modelfile을 통해 기존 가중치를 상속받으면서 파라미터만 오버라이드하는 효율적 배포 구조 설계
  • per-service VRAM history 모니터링을 통해 간헐적 OOM의 타이밍 문제 및 서비스별 점유율 정밀 진단
  • SYSTEM prompt 최적화로 불필요한 토큰 생성을 억제하여 GPU 연산 시간 및 메모리 낭비 최소화

1. nvidia-smi의 단발성 측정 대신 시계열 VRAM history 모니터링 도구 구축

2. LLM 배포 전 Langfuse 등을 통해 실제 입력/출력 토큰의 99분위수 측정

3. 모델의 Native Context Length를 확인하고 해당 범위 내에서 num_ctx 설정

4. Modelfile 등의 설정 파일로 가중치 재다운로드 없이 파라미터 최적화 적용

원문 읽기