llm-model-sizer

star 2

LLM 모델 파일 크기를 파라미터 수, 양자화 정밀도(FP32/FP16/BF16/INT8/GGUF Q4_K_M/Q5_K_M/Q8_0/GPTQ/AWQ), 파일 포맷(safetensors/GGUF/GPTQ/AWQ) 기반으로 계산. 양자화 옵션별 비교표 생성 및 PVC 스토리지 권장 크기 제공. MoE(Mixture of Experts) 모델의 총 파라미터와 활성 파라미터 분리 지원. 사용 시점: (1) Kubernetes LLM 배포용 PVC 스토리지 계획, (2) 모델 다운로드 전 양자화 트레이드오프 비교, (3) HuggingFace/Ollama 모델 스토리지 요구사항 추정, (4) vLLM, llama.cpp 등 LLM 서빙 플랫폼용 파일 크기 계산.

guny524 By guny524 schedule Updated 1/31/2026

name: llm-model-sizer description: > LLM 모델 파일 크기를 파라미터 수, 양자화 정밀도(FP32/FP16/BF16/INT8/GGUF Q4_K_M/Q5_K_M/Q8_0/GPTQ/AWQ), 파일 포맷(safetensors/GGUF/GPTQ/AWQ) 기반으로 계산. 양자화 옵션별 비교표 생성 및 PVC 스토리지 권장 크기 제공. MoE(Mixture of Experts) 모델의 총 파라미터와 활성 파라미터 분리 지원. 사용 시점: (1) Kubernetes LLM 배포용 PVC 스토리지 계획, (2) 모델 다운로드 전 양자화 트레이드오프 비교, (3) HuggingFace/Ollama 모델 스토리지 요구사항 추정, (4) vLLM, llama.cpp 등 LLM 서빙 플랫폼용 파일 크기 계산.

LLM Model Sizer

파라미터 수, 양자화, 파일 포맷 기반으로 LLM 모델 파일 크기 및 스토리지 요구사항 계산.

빠른 시작

모델 파라미터 수로 계산 스크립트 실행:

# 기본 7B 모델 비교
python scripts/calculate_model_size.py 7

# MoE 모델 (예: Mixtral 8x7B: 총 47B, 활성 13B)
python scripts/calculate_model_size.py 47 --moe --active-params 13

# 특정 양자화 선택
python scripts/calculate_model_size.py 3 --quants BF16 Q4_K_M GPTQ-4bit

# 사용 가능한 양자화 방법 목록
python scripts/calculate_model_size.py --list-quants

출력 내용:

  • 각 양자화별 모델 가중치 크기
  • 파일 포맷 메타데이터 오버헤드
  • PVC 최소(1.5x) 및 권장(2.5x) 크기

사용 시점

다음 상황에서 사용:

  1. PVC 스토리지 계획: Kubernetes LLM 배포
  2. 양자화 옵션 비교: 모델 다운로드 전
  3. 비용 추정: 클라우드 스토리지 (AWS EBS, GCP PD, Ceph RBD)
  4. 인프라 사이징: Phase 3 동적 모델 온보딩

지원 포맷

Full Precision:

  • FP32 (4 bytes/param): 연구/학습용
  • FP16 (2 bytes/param): 표준 PyTorch
  • BF16 (2 bytes/param): HuggingFace 기본값

GGUF (llama.cpp/Ollama):

  • Q4_K_M (0.62 bytes/param): 권장 기본값
  • Q5_K_M (0.74 bytes/param): 프리미엄 품질
  • Q8_0 (1.14 bytes/param): 거의 무손실

GPU 양자화 (vLLM):

  • GPTQ-4bit (0.55 bytes/param): 빠른 추론
  • AWQ-4bit (0.55 bytes/param): 더 나은 품질

MoE 모델 지원

Mixture of Experts 모델 (예: Qwen2-57B-A14B, Mixtral-8x7B):

  • --moe--active-params 둘 다 지정
  • 파일 크기 = 총 파라미터 (스토리지 요구사항)
  • VRAM 사용량 = 활성 파라미터 (추론 메모리)

예시:

# Qwen2-57B-A14B (총 57B, 토큰당 활성 14B)
python scripts/calculate_model_size.py 57 --moe --active-params 14

참조 파일

상세 정보:

Kubernetes PVC 사이징

최소 (모델 크기의 1.5x):

  • 단일 모델 버전에 딱 맞음
  • 다운로드 버퍼 여유 없음

권장 (모델 크기의 2.5x):

  • 20% 다운로드 버퍼 포함
  • 모델 업데이트 공간
  • 프로덕션에 안전

보수적 (모델 크기의 3x):

  • 여러 모델 버전
  • A/B 테스트 시나리오

예시 워크플로우

Issue #44 PVC 전략 배포 계획 시:

  1. 모델 식별: "Llama-3.2-3B-Instruct"
  2. 파라미터 확인: 3B
  3. 계산 실행:
    python scripts/calculate_model_size.py 3
    
  4. 출력 검토:
    • BF16 safetensors: 5.59 GB → PVC 권장: 14.15 Gi
    • Q4_K_M GGUF: 1.73 GB → PVC 권장: 4.33 Gi
    • GPTQ-4bit: 1.54 GB → PVC 권장: 4.21 Gi
  5. 결정: vLLM용 GPTQ-4bit 사용 → 10 Gi PVC 할당 (보수적)

주요 모델 빠른 참조

모델 파라미터 GPTQ 4-bit BF16 권장 PVC
Llama-3.2-3B 3B ~1.5 GB ~5.6 GB 10 Gi
Mistral-7B 7B ~3.6 GB ~13 GB 15 Gi
Qwen3-4B 4B ~2.0 GB ~7.5 GB 10 Gi
Gemma2-9B 9B ~4.5 GB ~17 GB 20 Gi

전체 검증된 크기 표는 real-world-examples.md 참조.

Install via CLI
npx skills add https://github.com/guny524/llms --skill llm-model-sizer
Repository Details
star Stars 2
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator