집에서 사용하는 DeepSeek V4 Pro가 다시 더 빨라졌습니다
요약
llama.cpp의 커스텀 브랜치를 사용하여 DeepSeek V4 Pro 모델의 성능 최적화 및 벤치마크 결과를 공유합니다. 메모리 효율성 개선과 전문가 오프로딩(expert offloading)을 통한 실행 성능 향상을 다룹니다.
핵심 포인트
- llama.cpp 커스텀 브랜치를 통한 DeepSeek V4 Pro 최적화
- 전문가 오프로딩(expert offloading) 기술 적용
- 메모리 낭비 문제 해결 및 성능 개선 확인
- Epyc 9374F 및 RTX PRO 6000 기반 하드웨어 환경 구성
집에서 DeepSeek V4 Pro를 사용하는 것에 대한 저의 이전 게시물들을 기억하실지도 모르겠습니다. 오늘 저는 아직 메인라인 (mainline)에 포함되지 않은 다양한 수정 사항과 최적화가 포함된 저의 llama.cpp 브랜치에서 성능을 확인했습니다. 벤치마크 (Benchmark)는 아직 실행 중이며, (오늘 완료된다는 가정하에) 나중에 전체 결과로 게시물을 업데이트하겠습니다:
$ ./bin/llama-batched-bench -m ~/ggufs/DeepSeek-V4-Pro.gguf -b 8192 -ub 8192 -npl 1 -npp 8192,16384,32768,65536,131072,262144,524288,1048064 -ntg 128 -fa 1 -cmoe --no-repack 0.00.516.833 W llama_model_loader: tensor overrides to CPU are used with mmap enabled - consider using --no-mmap for better performance llama_batched_bench: n_kv_max = 1048576, n_batch = 8192, n_ubatch = 8192, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 32, n_threads_batch = 32 | PP | TG | B | N_KV | T_PP s | S_PP t/s | T_TG s | S_TG t/s | T s | S t/s | |-------|--------|------|--------|----------|----------|----------|----------|----------|----------| | 8192 | 128 | 1 | 8320 | 42.660 | 192.03 | 10.908 | 11.73 | 53.568 | 155.32 | | 16384 | 128 | 1 | 16512 | 85.935 | 190.66 | 11.019 | 11.62 | 96.954 | 170.31 | | 32768 | 128 | 1 | 32896 | 177.407 | 184.70 | 11.267 | 11.36 | 188.675 | 174.35 | | 65536 | 128 | 1 | 65664 | 374.335 | 175.07 | 11.625 | 11.01 | 385.960 | 170.13 | |131072 | 128 | 1 | 131200 | 827.209 | 158.45 | 12.289 | 10.42 | 839.499 | 156.28 | |262144 | 128 | 1 | 262272 | 1972.450 | 132.90 | 13.693 | 9.35 | 1986.143 | 132.05 | ...
이것은 12 x 96GB 4800 MT/s DDR5 RDIMM을 장착한 Epyc 9374F에서 전문가 오프로딩 (expert offloading)을 사용하여 실행 중이며, GPU는 RTX PRO 6000 Max-Q입니다. RAM 사용량은 69.3% (1152GB 중), VRAM 사용량은 78986MiB (96GB 중)입니다. 전력 사용량은 약 500W입니다. GGUF 크기는 메인라인 llama.cpp로 변환된 794GB입니다.
또한, 현재 메인라인 llama.cpp의 DeepSeek V4 구현 상태에 대한 몇 가지 정보를 공유하기에 좋은 시점인 것 같습니다.
- 메모리를 엄청나게 잡아먹습니다 (Lightning Indexer 연산 버퍼와 top-k 임시 버퍼 모두에서 낭비됨). 수정 사항이 담긴 PR(Pull Request)들이 존재하지만 대기열에 묶여 있습니다 (ubatch 및/또는 컨텍스트 크기를 줄이면 도움이 될 것입니다). 이 문제는 제 브랜치(branch)에서 수정되었습니다.
- 양자화된 KV 캐시 (Quantized KV cache)가 현재 작동하지 않습니다 (정상적으로 작동하려면 여전히 여러 개의 PR이 필요합니다). 이 문제는 아직 제 브랜치에서 수정되지 않았습니다.
- 프롬프트 캐시 재사용 (Prompt cache reuse) 및 배치 준비 (Batch preparation)와 관련하여 여전히 몇 가지 버그가 있을 가능성이 높습니다. 이 부분은 수정하기가 다소 까다로워 보이며, 아마도 시간이 좀 걸릴 것입니다.
제 장비에 대한 글을 읽고 기분이 좋지 않으시다면(이전에 몇몇 재미있는 댓글을 받았습니다만), 제가 그저 직업도 없고, 차도 없고, 내 집도 없고, 여자친구도 없이 여전히 부모님과 함께 살고 있는 보잘것없는 사람이라는 점을 기억해 주세요. 제 워크스테이션을 위해 그 모든 것을 팔아치웠거든요. xD
제출자: /u/fairydreaming
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기