LLaMA现在在CPU上运行更快

内容

2024年3月31日 @ 贾斯汀的网页

[line drawing of llama animal head in front of slightly open manilla folder filled with files]
Mozilla llamafile

我刚为llamafile编写了 84 个新的矩阵乘法核心,使其能够更快地读取提示/图像。与 llama.cpp 相比,使用 F16 和 Q8_0 权重在 CPU 上使用 llamafile 的提示评估时间应该会快 30% 到 500%。对于 ARMv8.2+(例如 RPI 5)、Intel(例如 Alderlake)和 AVX512(例如 Zen 4)计算机,改进效果最为显著。我的核心对于适合 L2 缓存的矩阵比 MKL 快 2 倍,这使它们成为一个正在进行中的工作,因为速度提升对于令牌少于 1,000 个的提示效果最佳。

总结
文章总结:作者在 llamafile 项目中为矩阵乘法核心编写了 84 个新的内核,使其在 CPU 上使用 F16 和 Q8_0 权重时的评估速度提高了 30% 到 500%。改进对 ARMv8.2+、Intel 和 AVX512 计算机效果显著。在 Skylake 上,llamafile 用户可以期待 2 倍速度提升,llama.cpp 用户可以期待 50% 的性能提升。新的 ARMv8.2 fp16 ISA 可能引入更多错误,但速度更快的 fp16 权重仍然有用。Raspberry Pi 5 的性能比上一代快 10 倍,支持 ARMv8.2 dotprod 和 fp16 算术 ISA,使 llama.cpp 在 f16 权重上获得 2 倍性能提升。作者还提到了在树莓派上设置邮件服务器并使用 TinyLLaMA 过滤垃圾邮件的可能性。