피드로 돌아가기
Dev.toAI/ML
원문 읽기
MoE 모델 Total Parameter 기반 Memory 최적화 및 OOM 해결 전략
Why Your Open-Source Coding Model Runs Out of Memory (and How to Fix It)
AI 요약
Context
Active Parameter 수치와 실제 Total Parameter의 괴리로 인한 GPU Memory 부족 현상 발생. 특히 MoE 아키텍처의 모든 Expert Weight를 메모리에 적재해야 하는 구조적 제약으로 인해 24GB GPU 환경에서도 OOM Crash가 빈번한 상황.
Technical Solution
- NF4 기반 4-bit Quantization 및 Double Quantization 적용을 통한 메모리 점유율 10~15% 추가 절감
device_map="auto"및no_split_module_classes설정을 통한 Expert Layer의 Device 분할 방지로 통신 병목 제거- GGUF 포맷 기반의 GPU Layer Offloading(ngl)을 통한 단일 사용자 추론 환경 최적화
- PagedAttention 기반 vLLM 도입으로 KV Cache 효율성 증대 및 Multi-GPU Tensor Parallelism 구현
- 모델 가중치 외 KV Cache를 위한 2~4GB의 여유 메모리 확보 및 Sliding Window Attention 고려
실천 포인트
1. 모델 다운로드 전 Active Parameter가 아닌 Total Parameter 수치 확인
2. [Total Params × Bytes per Param] + 4GB(KV Cache) 공식으로 필요 VRAM 계산
3. Prototyping은 Transformers, Local Inference는 llama.cpp, Serving은 vLLM 스택 선택
4. Expert Layer 분할 방지를 위해 `no_split_module_classes` 명시적 설정