我们这里很多人喜欢在本地运行DeepSeek R1(671B,非精简版)。多亏了DeepSeek的混合专家(MoE)特性,CPU推理看起来很有前景。我正在用我现有的CPU进行测试,虽然还没有完成,但我想分享一下,也想听听其他CPU的情况。Xeon w5 - 3435X的内存带宽为195GB/s(通过stream测量)。各函数最佳速率(MB/s)和平均时间分别为:复制(Copy):195455.5、0.082330;缩放(Scale):161245.0、0.100906;加法(Add):183597.3、0.131566;三元组(Triad):181895.4、0.132163。R1/V2的有效参数为37B。所以如果使用Q4量化,理论上195 / 37 * 2 = 10.5个标记(tok)/秒是可能的。Unsloth提供了1.58 - 2.51位的出色量化。生成速度可能会有差异(实际上目前还较慢)。我在几个CPU上测试了1.58位和2.51位,现在我坚持使用2.51位。2.51位质量更好,而且令人惊讶的是速度也更快。在Xeon w5 - 3435X(总共1570个标记)上,2.51位时为4.86个标记/秒,1.58位时为3.27个标记/秒;在TR pro 5955wx上,2.51位时为3.53个标记/秒,1.58位时为2.28个标记/秒。这意味着CPU的计算性能也很重要,1.58位时速度较慢。所以,除非你没有足够的内存,否则使用2.51位。256G内存足以运行2.51位。我用llama.cpp测试了生成速度,使用(1)提示‘hi’,和(2)‘编写一个Python程序来打印100以下的质数’。生成的标记数量(1)约为100个,(2)1500 - 5000个。我给出了运行命令。下面是表格展示不同CPU的各项性能数据,包括核心数、复制速度、三元组速度、llama.cpp不同提示下的标记速度等。我原本预计5955wx性能较差,因为它只有两个CCD,但与w5 - 3435X相比性能差异不大。也许计算能力也很重要,并且Xeon w5 - 3435X的内存带宽未饱和。我也检查了kTransformer的性能。它是在计算受限过程中使用1个GPU的CPU推理。虽然不是纯CPU推理,但性能提升几乎是2倍。我还没有对所有CPU进行测试,你可以假设其性能是仅使用CPU的llama.cpp的2倍。使用kTransformer时,GPU未饱和但CPU一直处于繁忙状态。我猜一个3090或4090就足够了。kTransformer的一个缺点是上下文长度受VRAM限制。表格中的空白表示‘尚未测试’。我正在用一块主板测试两个Genoa CPU。我想听听其他CPU的情况,也许我会更新表格。最后还介绍了如何检查内存带宽的STREAM基准测试的更新情况。
讨论总结
原帖分享了DeepSeek - R1在不同CPU上的性能测试结果,包括不同量化下的token处理速度等数据。评论者们围绕这个主题展开了多方面的讨论,如特定CPU升级后的性能提升、性能优化的尝试方法、不同CPU的最佳线程数、硬件设备的特性及性能表现等,整体氛围较为专业且专注于技术交流。
主要观点
- 👍 从5955wx升级到5965wx在相同量化下t/s提高50%
- 支持理由:评论者thereisonlythedance通过自己的测试得出结果。
- 反对声音:无。
- 🔥 质疑原作者是否进行提示摄取,并给出性能优化建议
- 正方观点:CheatCodesOfLife认为这可能影响性能,还给出其他优化建议。
- 反方观点:无。
- 💡 不同系统任务数量可能影响最佳线程数
- 解释:kaizokuuuu根据自己经验提出,系统任务为3 - 4个时,4个线程性能最佳。
- 💡 不同的CPU型号有不同的最佳线程数
- 解释:多位评论者通过各自的测试,如epyc 9734(SMT禁用)为64线程等得出结论。
- 💡 32B deepseek模型推理速度慢的原因
- 解释:原帖作者指出32B是密集模型所以不会快。
金句与有趣评论
- “😂 I recently upgraded from a 5955wx to a 5965wx and got a 50% increase in t/s in llama.cpp on this very same quant so the 2 CCDs are hurting the 5955 (the 5965 has 4 CCDs I believe).”
- 亮点:通过实际升级CPU后的测试数据,直观展示CCD数量对性能的影响。
- “🤔 You’re not doing prompt ingestion?”
- 亮点:直接向原作者提问,引发关于性能优化方向的思考。
- “👀 8192 context size is going to impact memory utilization on 192gb of memory significantly.”
- 亮点:指出特定上下文大小对内存利用的显著影响。
情感分析
总体情感倾向为中性,大家主要是在分享自己的测试数据和经验,或者提出问题、建议。主要分歧点较少,可能的原因是这个话题比较专业,大家更多是基于事实和技术原理进行交流。
趋势与预测
- 新兴话题:可能会进一步探究kTransformer的提示处理速度等未完全明确的性能相关问题。
- 潜在影响:有助于优化DeepSeek - R1在CPU上的运行性能,为相关技术爱好者提供更多参考数据,推动在该领域的研究和应用探索。
详细内容:
《关于 DeepSeek-R1 CPU 性能测试的热门讨论》
在 Reddit 上,一则关于 DeepSeek-R1 CPU 性能测试的帖子引起了众多网友的关注。原帖作者对不同 CPU 运行 DeepSeek-R1 进行了测试,并分享了详细的数据和相关发现。该帖子获得了较高的关注度,引发了热烈的讨论。
讨论的焦点主要集中在不同 CPU 的性能表现、内存带宽的影响、优化方法以及不同模型和配置的效果等方面。
有人表示从 5955wx 升级到 5965wx 后,性能提升了 50%,这表明 CCD 的数量对性能有较大影响。也有人指出在一些情况下,如使用特定的量化方式和缓存设置,性能会有所不同。还有人分享了在不同配置下的测试结果,如使用特定的线程数、是否使用 GPU 等。
例如,有用户分享道:“我最近从 5955wx 升级到 5965wx,在 llama.cpp 中相同的量化下,t/s 增加了 50%,所以 5955 的两个 CCD 确实影响了性能(5965 有 4 个 CCD 我相信)。”
对于内存带宽,有人对其实际表现低于理论值感到震惊,认为这可能与硬件架构和设置有关。
也有用户提到线程数对性能的影响,不同的 CPU 有不同的最佳线程数。
而在个人经历和案例分享方面,有人在消费级电脑上进行测试,结果不尽如人意,但通过调整设置有所改善。
特别有见地的观点如认为需要综合考虑各种因素来找到最佳的性能配置,不同的 CPU 和设置可能会带来显著的性能差异。
讨论中的共识在于需要不断进行实验和测试,以找到适合不同场景的最优配置。
总之,这次关于 DeepSeek-R1 CPU 性能测试的讨论为大家提供了丰富的信息和思路,有助于更深入地了解和优化相关的性能表现。
感谢您的耐心阅读!来选个表情,或者留个评论吧!