天翼云CPU实例部署DeepSeek-R1模型最佳实践 下载unsloth制作的社区版量化模型(hfmirror和modelscpoe源都可) git clone nocheckout cd DeepSeekR1GGUF/ 建议nohup执行, 预计至少需要半天时间, 同时确保磁盘容量足够400G. git lfs pull include"DeepSeekR1Q4KM/" Q4KM 版本的文件大小为 404.43GB,下载过程可能会比较耗时。下载完成后,您可以在 DeepSeekR1Q4KM 目录下找到一系列 .gguf 文件,例如 DeepSeekR1Q4KM00001of00009.gguf。 3. 模型加载和运⾏ 使用 llamacli,指定模型文件路径并启用交互模式,DeepSeek R1 满血版就可以在 CPU 上顺利运行了。 plaintext build/bin/llamacli m /tmp/DeepSeekR1Q4KM/DeepSeekR1Q4KM00001of 00009.gguf i 下面用几个示例展现DeepSeekR1 671B满血版强大的的reasoning推理能力: 测试模型自我认知: 验证推理能⼒的经典“草莓”问题: “等灯等灯”的意思: 4. 性能及优化 那么CPU运⾏满⾎版R1的性能怎么样呢︖我们做了相关性能测试。对于Q4KM模型,使⽤如下命令进行: plaintext export MODELPATH/tmp/DeepSeekR1Q4KM/DeepSeekR1Q4KM00001of00009.gguf numactl C 0127 m 0 ./build/bin/llamacli m $MODELPATH t 128 temp 0.6 s 42 nocnv nokvoffload ctk q40 c 8192 n 128 p " 以孤独的夜行者为题写一篇750字的散文,描绘一个人在城市中夜晚漫无目的行走的心情与所见所感,以及夜的寂静给予的独特感悟。 " 这⾥使⽤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)对于生成性能指标的影响不大。 返回DeepSeek专题导航。