6x P40运行Minimax M2.7_Q3_XL

Reddit r/LocalLLaMA 新闻

摘要

一个详细的家庭实验室搭建方案,配备6块P40 GPU运行量化后的MiniMax M2.7模型,包含硬件规格、基准测试结果以及使用llama.cpp的最佳配置。

我潜水有一阵子了,一直在用 P40 和 MI50 搭建自己的家庭实验室。从社区学到了很多,现在感觉是时候回馈了。虽然我还在学习中,但相信这些信息对某些人会有帮助。等我完成 P40 机箱的微调后,再发布 MI50 的细节。 **硬件配置:** - 华硕 X99-E-WS(刷修改版 BIOS 以支持多张 GPU) - 英特尔至强 E5-2680 v4 @ 2.40GHz - 128GB DDR4 内存(混合批次非 ECC 条) - SSD - 6 张 P40(共 144GB VRAM,工作在 Gen3 x8,x8,x8,x8,x8,x8 模式) **基准测试时的内存分布** 以下表格展示了我运行的基准测试及结果: | 测试配置 | 上下文长度 | pp512 tg128 | pp512+tg128 | pp4096+tg128 | 结果 | |---|---|---|---|---|---| | F16 KV, FA 开启, batch 2048, ubatch 512 | 32,768 | 73.20 | 10.45 | 33.50 | 129.51 原始基线 | | F16 KV, FA 开启, batch 2048, ubatch 512 | 65,536 | 42.68 | 6.43 | 19.49 | 77.22 原始基线 | | F16 KV, FA 开启, batch 2048, ubatch 512 | 126,720 | 24.16 | 3.51 | 10.90 | 44.22 适配 | | Q8 KV, FA 开启, batch 2048, ubatch 512 | 65,536 | 42.53 | 6.14 | — | — 比 F16 慢 | | Q8 KV, FA 开启, batch 2048, ubatch 512 | 126,720 | 23.91 | 3.06 | — | — 生成 -12.8% | | F16 KV, FA 开启, batch 1024, ubatch 256 | 32,768 | 105.76 | 10.70 | 37.34 | 128.94 显著提升 | | F16 KV, FA 开启, batch 1024, ubatch 256 | 65,536 | 66.00 | 6.18 | 22.63 | 79.39 显著提升 | | F16 KV, FA 开启, batch 2048, ubatch 256 | 32,768 | 105.91 | 10.50 | 37.41 | 129.42 选定 | | F16 KV, FA 开启, batch 2048, ubatch 256 | 65,536 | 65.86 | 6.38 | 22.63 | 79.37 选定 | | F16 KV, FA 关闭, batch 1024, ubatch 256 | 32,768 | 34.16 | 2.72 | — | — 大幅下降 | | F16 KV, FA 关闭, batch 1024, ubatch 256 | 65,536 | 19.34 | 1.50 | — | — 大幅下降 | | F16 KV, FA 关闭, batch 1024, ubatch 256 | 126,720 | — | — | — | — 上下文创建失败 | | F16 KV, FA 开启, 2048/256, GGML_CUDA_P2P=1 | 32,768 | 105.76 | 10.68 | 37.38 | 129.40 无明显提升 | | F16 KV, FA 开启, 2048/256, GGML_CUDA_P2P=1 | 65,536 | 66.00 | 6.18 | 22.63 | 79.35 无明显提升 | | F16 KV, FA 开启, 2048/256, launch queues 4× | 32,768 | 105.53 | 10.69 | 37.36 | 129.34 无明显提升 | | F16 KV, FA 开启, 2048/256, launch queues 4× | 65,536 | 66.03 | 6.18 | 22.63 | 79.34 无明显提升 | | Tensor split | — | — | — | — | — 崩溃/不支持 | | Layer split, 均分 1/1/1/1/1/1 | — | — | — | — | — 稳定且选定 | 以下是我最终确定的最优配置: ```bash 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 ```
查看原文

相似文章