AMD EPYC Turin CPU 实现比 Genoa 高出 2 倍的 LLM 推理吞吐量

TL;DR

AMD 第五代 EPYC CPU,代号为 Turin,凭借最高 192 核、384 线程以及 ZenDNN 加速的 torch.compile 路径,使大型语言模型工作负载的推理吞吐量约为前一代 Genoa 芯片的两倍。

AMD Turin 是什么?

AMD 宣布了基于 Zen 5 架构的第五代服务器级 EPYC 处理器,品牌名为 Turin。该芯片可扩展至 192 个物理核心384 个硬件线程,相较于之前的 96 核 Genoa 系列,提供了显著提升的并行计算能力。

为什么 Turin 对 Hugging Face 用户重要

  • 更低的延迟 – 更多的核心和 ZenDNN 优化的 PyTorch 插件 (zentorch) 可减少生成每个 token 的时间。
  • 更高的吞吐量 – 在所有核心上并行执行多个模型实例,使每秒解码的 token 数量提升至约 2 倍。
  • 成本效益 – 更快的推理意味着在相同工作负载下所需的服务器更少,从而降低运营成本。

基准测试方法

Hugging Face 团队使用 ZenDNN 5.0 插件对 EPYC Turin 平台进行验证,该插件与 torch.compile 集成以实现图级优化。基准测试在 bfloat16 精度下进行,采用多实例设置,每个 Meta LLaMA 3.1 8B‑Instruct 模型实例分配 每个插槽 32 个物理核心。对两种批量大小(16 和 32)在五个代表性 LLM 任务上进行测试:

  • 摘要(1024 → 128 token)
  • 聊天机器人(128 → 128 token)
  • 翻译(1024 → 1024 token)
  • 论文写作(128 → 1024 token)
  • 实时字幕(16 → 16 token)

吞吐量以每秒解码的 token 数量衡量,排除第一个 token,以关注稳态性能。

结果:Turin 与 Genoa 对比

Throughput comparison

图表显示 Turin 始终优于 Genoa,在大多数批量大小和使用场景下实现 约 2 倍更高的吞吐量。此提升归因于更高的核心数量以及 ZenDNN 加速的 torch.compile 流水线带来的效率提升。

可复现性工具

  • optimum‑benchmark – 使用 Hugging Face 的统一基准测试框架来调度使用 zentorch 后端的测试。
  • Dockerfile(即将发布) – 将发布包含基准代码和依赖的优化 Docker 镜像,以简化结果的复现。

开始使用 ZenDNN

开发者可以通过以下开源插件尝试 AMD Zen 深度神经网络(ZenDNN)生态系统:

  • ZenTF – TensorFlow 集成:https://github.com/amd/ZenDNN-tensorflow-plugin
  • ZenTorch – PyTorch 集成(在基准测试中使用):https://github.com/amd/ZenDNN-pytorch-plugin
  • ZenDNN ONNXRuntime – ONNX Runtime 支持:https://github.com/amd/ZenDNN-onnxruntime

欲了解更多详情,请访问官方 AMD ZenDNN 页面:https://www.amd.com/en/developer/zendnn.html

结论

相较于 Genoa 代,AMD 的 EPYC Turin CPU 为 LLM 推理提供了 显著的性能提升,使 Hugging Face 用户能够实现更低的延迟、更高的吞吐量以及更低的成本。ZenDNN 加速的 torch.compile 与即将推出的 Docker 部署包的结合,使社区能够轻松采用并基准测试这一新硬件代。

Sources