6x P40으로 Minimax M2.7_Q3_XL 구동하기
요약
6개의 NVIDIA P40 GPU를 활용하여 Minimax M2.7_Q3_XL 모델을 구동하는 홈 랩 구축 사례와 벤치마크 결과를 공유합니다. 다양한 컨텍스트 길이와 배치 사이즈에 따른 성능 변화를 분석하여 최적의 설정을 제안합니다.
핵심 포인트
- 6x P40 GPU를 활용한 144GB VRAM 환경 구축
- 컨텍스트 길이에 따른 메모리 분배 및 성능 벤치마크 수행
- F16 KV 및 Flash Attention(FA) 사용 시 성능 최적화 확인
- 배치 사이즈 및 큐 설정에 따른 성능 변화 데이터 제공
한동안 눈팅만 해왔으며, P40과 MI50을 사용하여 저만의 홈 랩 (home lab)을 구축해 왔습니다. 커뮤니티로부터 정말 많은 것을 배웠고, 이제는 보답할 때라고 느꼈습니다. 아직 배우는 중이지만, 이 정보가 누군가에게는 가치 있을 것이라 확신합니다. P40 박스의 파인 튜닝 (fine tuning)을 마치는 대로 MI50에 대한 세부 정보도 게시하겠습니다.
하드웨어:
Asus X99-E-WS (다수의 GPU를 지원하도록 BIOS 수정됨)
Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
128GB DDR4 RAM (Non-ECC 스틱 혼합 배치)
SSD
6x P40s 144GB VRAM (Gen3 x8,x8,x8,x8,x8,x8)
벤치마크 중 메모리 분배
아래 표는 제가 수행한 벤치마크와 그 결과입니다:
테스트 구성 | 컨텍스트 (Context) | pp512 | tg128 | pp512+tg128 | pp4096+tg128 | 결과
-- | -- | -- | -- | -- | --
F16 KV, FA on, batch 2048, ubatch 512 | 32,768 | 73.20 | 10.45 | 33.50 | 129.51 | Original baseline
F16 KV, FA on, batch 2048, ubatch 512 | 65,536 | 42.68 | 6.43 | 19.49 | 77.22 | Original baseline
F16 KV, FA on, batch 2048, ubatch 512 | 126,720 | 24.16 | 3.51 | 10.90 | 44.22 | Fits
Q8 KV, FA on, batch 2048, ubatch 512 | 65,536 | 42.53 | 6.14 | — | — | Slower than F16
Q8 KV, FA on, batch 2048, ubatch 512 | 126,720 | 23.91 | 3.06 | — | — | Generation −12.8%
F16 KV, FA on, batch 1024, ubatch 256 | 32,768 | 105.76 | 10.70 | 37.34 | 128.94 | Strong improvement
F16 KV, FA on, batch 1024, ubatch 256 | 65,536 | 66.00 | 6.18 | 22.63 | 79.39 | Strong improvement
F16 KV, FA on, batch 2048, ubatch 256 | 32,768 | 105.91 | 10.50 | 37.41 | 129.42 | Selected
F16 KV, FA on, batch 2048, ubatch 256 | 65,536 | 65.86 | 6.38 | 22.63 | 79.37 | Selected
F16 KV, FA off, batch 1024, ubatch 256 | 32,768 | 34.16 | 2.72 | — | — | Major regression
F16 KV, FA off, batch 1024, ubatch 256 | 65,536 | 19.34 | 1.50 | — | — | Major regression
F16 KV, FA off, batch 1024, ubatch 256 | 126,720 | — | — | — | — | Context creation failed
F16 KV, FA on, 2048/256, GGML_CUDA_P2P=1 | 32,768 | 105.76 | 10.68 | 37.38 | 129.40 | No measurable gain
F16 KV, FA on, 2048/256, GGML_CUDA_P2P=1 | 65,536 | 66.00 | 6.18 | 22.63 | 79.35 | No measurable gain
F16 KV, FA on, 2048/256, launch queues 4× 32,768 105.53 10.69 37.36 129.34 유의미한 이득 없음
F16 KV, FA on, 2048/256, launch queues 4× 65,536 66.03 6.18 22.63 79.34 유의미한 이득 없음
Tensor split — — — — — 충돌 발생 / 지원되지 않음
Layer split, equal 1/1/1/1/1/1 — — — — — 안정적이며 선택됨
최적의 설정(optimal configuration) 측면에서 제가 최종적으로 도달한 결과는 다음과 같습니다:
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5
"$HOME/llama.cpp/build-cuda/bin/llama-server"
-m "$HOME/.lmstudio/models/unsloth/MiniMax-M2.7-GGUF/MiniMax-M2.7-UD-Q3_K_XL-00001-of-00004.gguf"
-dev CUDA0,CUDA1,CUDA2,CUDA3,CUDA4,CUDA5
-ngl 999
--fit off
--split-mode layer
--tensor-split 1,1,1,1,1,1
--ctx-size 131072
--parallel 1
--cache-type-k f16
--cache-type-v f16
--batch-size 2048
--ubatch-size 256
--flash-attn on
--jinja
--temp 1.0
--top-p 0.95
--top-k 40
--min-p 0.01
--presence-penalty 0.0
--repeat-penalty 1.0
--n-predict 8192
--host 0.0.0.0
--port 8080
--timeout 30000
제출자: /u/Old_Grapefruit8774
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기