原贴链接

距离我上次关于 Mac 速度的帖子已经有一段时间了,所以我觉得是时候再发一篇新的了。我注意到很多旧的“我每秒能生成 500 个 token!”之类的讨论又重新出现了,所以我想一些冷冰冰的数据会对那些不确定哪些机器能达到什么速度的人有所帮助。

我很抱歉没有做到这一点确定性。我应该做的,但我在中途意识到这一点,并且没有时间回去重做。

今天我们将比较 RTX 4090、M2 Max MacBook Pro、M1 Ultra Mac Studio 和 M2 Ultra Mac Studio。这个比较是通过运行 Llama 3.1 8b q8、Nemo 12b q8 和 Mistral Small 22b q6_K 来完成的。

注意:测试是使用新加载的模型运行的,因此这是每台机器的第一个提示,意味着没有任何缓存。此外,我没有启用快速注意力机制,因为过去关于它在不同机器上的表现有所不同。

Llama 3.1 8b q8:

RTX 4090:
CtxLimit:1243/16384, Amt:349/1000, Init:0.03s, 
Process:0.27s (0.3ms/T = 3286.76T/s), Generate:6.31s (18.1ms/T = 55.27T/s), 
Total:6.59s (52.99T/s)

MacBook Pro M2 Max:
CtxLimit:1285/16384, Amt:387/1000, Init:0.04s, 
Process:1.76s (2.0ms/T = 508.78T/s), Generate:11.62s (30.0ms/T = 33.32T/s), 
Total:13.38s (28.92T/s)

M1 Ultra Mac Studio:
CtxLimit:1206/16384, Amt:308/1000, Init:0.04s, 
Process:1.53s (1.7ms/T = 587.70T/s), Generate:6.59s (21.4ms/T = 46.70T/s), 
Total:8.12s (37.92T/s)

M2 Ultra Mac Studio:
CtxLimit:1216/16384, Amt:318/1000, Init:0.03s, 
Process:1.29s (1.4ms/T = 696.12T/s), Generate:6.20s (19.5ms/T = 51.32T/s), 
Total:7.49s (42.47T/s)

Mistral Nemo 12b q8:

RTX 4090:
CtxLimit:1169/16384, Amt:252/1000, Init:0.04s, 
Process:0.32s (0.3ms/T = 2874.61T/s), Generate:6.08s (24.1ms/T = 41.47T/s), 
Total:6.39s (39.41T/s)

MacBook Pro M2 Max:
CtxLimit:1218/16384, Amt:301/1000, Init:0.05s, 
Process:2.71s (2.9ms/T = 339.00T/s), Generate:12.99s (43.1ms/T = 23.18T/s), Total:15.69s (19.18T/s)

M1 Ultra Mac Studio:
CtxLimit:1272/16384, Amt:355/1000, Init:0.04s, 
Process:2.34s (2.5ms/T = 392.38T/s), Generate:10.59s (29.8ms/T = 33.51T/s), 
Total:12.93s (27.45T/s)

M2 Ultra Mac Studio:
CtxLimit:1234/16384, Amt:317/1000, Init:0.04s, 
Process:1.94s (2.1ms/T = 473.41T/s), Generate:8.83s (27.9ms/T = 35.89T/s), 
Total:10.77s (29.44T/s)

Mistral Small 22b q6_k:

RTX 4090:
CtxLimit:1481/16384, Amt:435/1000, Init:0.01s, 
Process:1.47s (1.4ms/T = 713.51T/s), Generate:14.81s (34.0ms/T = 29.37T/s), 
Total:16.28s (26.72T/s)

MacBook Pro M2 Max:
CtxLimit:1378/16384, Amt:332/1000, Init:0.01s, 
Process:5.92s (5.7ms/T = 176.63T/s), Generate:26.84s (80.8ms/T = 12.37T/s), 
Total:32.76s (10.13T/s)

M1 Ultra Mac Studio:
CtxLimit:1502/16384, Amt:456/1000, Init:0.01s, 
Process:5.47s (5.2ms/T = 191.33T/s), Generate:23.94s (52.5ms/T = 19.05T/s), 
Total:29.41s (15.51T/s)

M2 Ultra Mac Studio:
CtxLimit:1360/16384, Amt:314/1000, Init:0.01s, 
Process:4.38s (4.2ms/T = 238.92T/s), Generate:15.44s (49.2ms/T = 20.34T/s), 
Total:19.82s (15.84T/s)

讨论总结

本次讨论主要聚焦于不同硬件设备在处理大型语言模型(如Llama 3.1 8b q8、Nemo 12b q8和Mistral Small 22b q6_K)时的性能对比。讨论中涉及的主要硬件包括RTX 4090、M2 Max Macbook Pro、M1 Ultra Mac Studio和M2 Ultra Mac Studio。用户们通过实际测试数据展示了各设备在处理这些模型时的速度和效率,并讨论了不同优化工具(如exllamav2和MLX)对性能的影响。此外,讨论还涉及了如何在Mac上启用“flash attention”功能,以及提示缓存对处理速度的影响。总体而言,讨论氛围较为技术性,用户们分享了各自的测试结果和优化经验,旨在帮助其他用户更好地理解不同硬件的性能差异和优化方法。

主要观点

  1. 👍 RTX 4090在处理大型语言模型时表现出色

    • 支持理由:RTX 4090在处理速度上明显优于其他设备,尤其是在使用exllamav2优化工具时。
    • 反对声音:无明显反对声音,但有用户提到RTX 4090在内存和模型大小方面不如M2 Ultra。
  2. 🔥 M2 Max Macbook Pro在处理速度上相对较慢

    • 正方观点:M2 Max Macbook Pro虽然速度较慢,但拥有96GB的统一内存,能够运行更大的模型。
    • 反方观点:有用户认为M2 Max Macbook Pro的处理速度是其主要短板。
  3. 💡 M1 Ultra Mac Studio和M2 Ultra Mac Studio在处理速度上介于RTX 4090和M2 Max Macbook Pro之间

    • 解释:这两款设备在处理速度上表现中规中矩,但M2 Ultra在内存和模型大小方面更具优势。
  4. 🚀 exllamav2和MLX等优化工具可以显著提升处理速度

    • 解释:这些工具通过牺牲一定的精度来提升处理速度,适合对速度要求较高的场景。
  5. 🧠 提示缓存是提高提示处理速度的重要因素

    • 解释:通过缓存提示,可以显著减少首次提示的时间,提升整体处理速度。

金句与有趣评论

  1. “😂 If you have a RTX4090, you’d want to use exllamav2 or something”

    • 亮点:强调了RTX 4090在使用优化工具时的性能优势。
  2. “🤔 Once upon a time, and I can’t stress enough that this was a good while back (like 5-6 months ago), exl2 responses were not at the same quality as gguf responses.”

    • 亮点:讨论了优化工具在不同时间点的性能和质量变化。
  3. “👀 Yes, MLX > Llama.cpp at processing and generation speeds.”

    • 亮点:直接对比了两种优化工具在处理和生成速度上的差异。
  4. “🚀 I’ll take a look. I skimmed it and saw ‘batching’, assumed it’s for concurrent requests, rather than faster for a single user.”

    • 亮点:讨论了优化工具在批处理和单用户场景下的性能差异。
  5. “🧠 Llama.cpp / LMStudio = chatbot king\nMLX = python script king”

    • 亮点:形象地描述了两种工具在不同应用场景下的优势。

情感分析

讨论的总体情感倾向较为积极,用户们主要围绕技术细节和性能优化进行讨论,分享各自的测试结果和优化经验。主要分歧点在于不同硬件和优化工具的性能对比,以及如何在特定场景下选择最合适的配置。可能的原因包括用户对高性能硬件和优化工具的需求,以及对大型语言模型处理速度的关注。

趋势与预测

  • 新兴话题:随着更多用户关注大型语言模型的处理速度,未来可能会出现更多关于硬件优化和性能提升的讨论。
  • 潜在影响:随着硬件和优化工具的不断进步,未来在处理大型语言模型时,可能会出现更多高效且经济的解决方案,推动相关领域的技术发展。

详细内容:

标题:Macbook、Mac Studios 与 RTX 4090 的低语境速度比较引热议

近日,Reddit 上一篇关于“Low Context Speed Comparison: Macbook, Mac Studios, and RTX 4090”的帖子引起了众多网友的关注。该帖子详细比较了 RTX 4090、M2 Max Macbook Pro、M1 Ultra Mac Studio 和 M2 Ultra Mac Studio 运行 Llama 3.1 8b q8、Nemo 12b q8 以及 Mistral Small 22b q6_K 时的速度,并给出了具体的数据。此贴获得了大量的点赞和评论。

讨论的焦点主要集中在不同设备的性能差异、优化方式以及适用场景等方面。有人认为,如果拥有 RTX 4090,应该使用 exllamav2 之类的工具。还有用户分享了自己过去的经历,比如曾经 exl2 的响应质量不如 gguf,但因为工作需要一直使用 gguf,也没有再关注 exl2 的后续发展。也有人提出 GGUF 不如 GPTQ。

对于如何在 Mac 上开启 flash attention,有人给出了具体的操作方法。还有用户对测试表示感谢,并询问如何实现快速推理速度,有人建议使用 ollama 或 ExLLaMA v2。

关于性能方面,有人指出当前苹果芯片在提示处理方面由于原始 GPU 计算能力较弱,所以速度相对较慢。但也有人认为通过优化还有提升空间,同时要关注 prompt caching。还有用户提到对于 GGUF 推理的硬件基准测试,建议使用 llama.cpp 的内置“llama-bench”工具。

有人认为 M2 Ultra 虽然比 RTX 4090 稍慢,但能够运行更大模型且内存更多是其优势。但也有人指出在处理大量指令时,比如 4000 个 tokens,M2 Ultra 的生成速度就明显不如 RTX 4090。同时,对于在 Mac 上添加 GPU 用于提示处理的可能性,大家也进行了讨论。

总之,这次关于不同设备速度比较的讨论十分热烈,为大家在选择设备和优化性能方面提供了丰富的参考和思考。