天翼云CPU实例部署DeepSeek-R1模型最佳实践 性能测试(替换路径地址为实际值, 并根据CPU实际核数和numa情况指定C和m参数, 千万不要照抄!) export MODELPATH[模型下载路径]/DeepSeekR1Q4KM00001of00009.gguf numactl C 0127 m 0 [llama.cpp路径]/build/bin/llamacli m $MODELPATH t 128 temp 0.6 s 42 nocnv nokvoffload ctk q40 c 8192 n 128 p "<|User|>以孤独的夜行者为题写一篇750字的散文,描绘一个人在城市中夜晚漫无目的行走的心情与所见所感,以及夜的寂静给予的独特感悟。<|Assistant|>" 这里使⽤numactl来指定使⽤单路CPU (0127, 6980P有128核),以及这⼀路CPU的内存节点(numa0),避免跨numa传输以获取最佳性能。 llama.cpp是本地编译的,编译的时候使⽤Intel oneAPI可以有效提升它的性能。英特尔尝试⽤了oneAPI⾥的Intel C++编译器和数学加速库MKL,结合jemalloc内存管理优化,推理速度可以达到每秒9.7~10词元(TPS, tokens per second)。 上⾯的实验是在单路CPU上进⾏的,我们⼜在两路CPU上各⾃独⽴启动1个模型实例,总速度可以达到14.7TPS (7.32TPS+7.38TPS)。 再进⼀步,英特尔观察到基于现有的llama.cpp软件⽅案,在CPU平台没有实现⾼效的专家并⾏和张量并⾏等优化,CPU核⼼利⽤率和带宽资源没有充分发挥出来,6980P的128核⼼运⾏1个模型还有不少性能储备。预计可以继续增加实例数来获得更好的总TPS。 另外,通常情况下,CPU的SNC (SubNUMA Clustering)设置可以获得更⾼的带宽,但是受限于软件并未优化实现良好匹配,此次实验关闭了SNC测试。 以下⽅式的系统配置也有助于提升性能: BIOS⾥关闭AMP prefetcher ⽤cpupower打开CPU的pstate性能模式 提⾼CPU的uncore频率 关闭超线程(HyperThreading) 注意 为了加快试验进度,我们限制了词元输出⻓度(n 128)。经过验证,增加输出⻓度(例如n 512)对于生成性能指标的影响不大。