llama.cpp에서 5090으로 100만 컨텍스트 DeepSeek v4 Flash 구동하기
DeepSeek v4 Flash on 5090 in llama.cpp with 1 Million context
핵심 요약
RTX 5090과 대용량 RAM을 활용해 llama.cpp에서 DeepSeek V4 Flash 모델을 100만 컨텍스트로 구동한 설정과 성능 공유.
- 모델 구동 설정 — llama.cpp의 최신 기능을 활용해 MoE 모델을 CPU와 GPU에 분산하여 구동함.
- 성능 벤치마크 — 100만 컨텍스트 환경에서 프리필 650-700 t/s, 디코드 17 t/s의 속도를 기록함.
- 하드웨어 요구사항 — 135GB의 시스템 RAM과 32GB VRAM을 사용하여 대규모 모델을 효율적으로 처리함.
- 최적화 가능성 — 현재 설정에서 추가적인 llama.cpp 최적화를 통해 성능 향상을 기대함.
최근 llama.cpp의 변경 사항 덕분에 DeepSeek V4 Flash를 훨씬 더 원활하게 사용할 수 있게 되었습니다. 몇 가지 벤치마크를 실행해 보았고, 사용한 설정과 함께 결과를 공유하고자 합니다.
저는 Unsloth에서 제공하는 DeepSeek-V4-Flash-UD-Q8_K_XL을 사용 중입니다:
https://huggingface.co/unsloth/DeepSeek-V4-Flash-GGUF
설정:
llama-server \
-m DeepSeek-V4-Flash-UD-Q8_K_XL.gguf \
--override-tensor "blk\.[0-1]\.ffn_(up|down|gate)_exps\.weight=CUDA0,blk\.2\.ffn_(down)_exps\.weight=CUDA0" \
--ctx-size 1048576 \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
-fa 1 \
--fit off \
--main-gpu 0 \
--n-cpu-moe 999 \
--no-mmap \
--mlock \
--cpu-range 0-23 \
--cpu-range-batch 0-7 \
--parallel 1 \
--jinja \
--temp 1.0 --top-p 1.0 \
--presence-penalty 0.0 --repeat-penalty 1.05 --repeat-last-n 512 \
--no-warmup --threads 24 --numa isolate \
--batch-size 2048 --ubatch-size 2048 --threads-batch 8 \
--chat-template-kwargs '{"reasoning_effort":"max"}' \
-cms 24000 \
-ctxcp 5 \
--alias deepseek \
--host 0.0.0.0 --port 8080
성능:
- 프리필(Prefill): ~650–700 tokens/s
- 디코드(Decode): ~17 tokens/s
- 로딩 시간: 32초
아직 Qwen 모델만큼 인상적인 속도는 아니지만, llama.cpp에서 추가로 최적화할 여지가 있다고 생각합니다.


