亚马逊云科技 (AWS) 新一代基于 Arm 架构的定制 CPU —— AWS Graviton4 处理器已于 2024 年 7 月正式上线。这款先进的处理器基于 64 位 Arm 指令集架构的 Arm Neoverse V2 核心打造,使其能为各种云应用提供高效且性能强大的解决方案[1]。
在本文中,我们将评估在基于 Graviton4 处理器的 AWS EC2 实例(C8g 实例类型)上运行语言模型的推理性能。通过利用针对 Arm 内核优化的 Q_4_0_4_8 量化技术,在参数范围从 38 亿到 700 亿不等的模型[2-5]上使用 llama.cpp[6] 进行基准测试。此外,我们还比较了基于 Graviton4 的实例与采用上一代 Graviton3 处理器的 EC2 实例上运行模型的性能。
Llama 3 70B 在 AWS Graviton4 上的执行速度快于人类可读性水平
与 Graviton3 相比,AWS Graviton4 处理器提供了执行更大参数规模语言模型的潜力。为了评估 Graviton4 处理器在运行不同参数大小的大语言模型 (LLM) 时的性能,我们在 Graviton4 C8g.16xlarge 实例上部署了三个模型,分别为 Llama 3 70B、Phi-3-mini 3.8B 和 Llama 3 8B,并测量了其推理性能。主要性能指标是生成下个词元 (next-token) 的延迟,如图表 1 所示。尽管 Llama 3 70B 模型相对于其他较小的模型表现出更长的延迟,但在批次大小为 1 的情况下,它仍然能达到每秒生成 5 至 10 个词元的人类可读性水平,并近乎满足生成下个词元延迟 100 毫秒的目标服务等级协议 (SLA)。
图表 1:在 C8g.16xlarge 实例上运行 Llama 3 70B、Phi-3-mini 3.8B 和 Llama 3 8B 模型时,下个词元生成时间的性能表现,其中批次大小模拟了一个或多个用户同时调用模型的场景
根据 Meta[7] 的说法,尽管与 Llama 3 8B 模型相比,Llama 3 70B 模型生成下个词元的延迟更长(图表 1),但该模型在需要高级逻辑推理的任务中表现相当卓越(见图 1 中的示例)。对于看重低延迟响应时间且无需复杂逻辑推理的应用而言,Llama 3 8B 模型是合适之选。相反,如果应用在延迟性方面的要求更为宽松,但需要高级推理或创造性能力,则 Llama 3 70B 模型是合适的选择。
图 1:在第一行显示的示例中,Llama 3 8B 和 Llama 3 70B 模型都为基于知识的问题提供了很好的回答;而在第二行的示例中,只有 Llama 3 70B 回答正确,因为问题的解答需要进行逻辑推理
使用 Graviton3 和 Graviton4 处理器支持不同的语言模型
为了评估 AWS Graviton 处理器在运行 LLM 时的性能,我们在 Graviton3 (C7g.16xlarge) 和 Graviton4 (C8g.16xlarge) 实例上部署了参数范围从 38 亿到 700 亿不等的模型,并评测了它们的推理能力。
如表 1 所示,基于 Graviton3 和 Graviton4 的实例均能支持多达 270 亿参数的模型,包括 Phi-3-mini 3.8B、Llama 3 8B 和 Gemma 2 27B。然而,在被评估的模型中,Graviton4 能够处理参数量最大的 Llama 3 70B 模型。
表 1:Graviton3 和 Graviton4 处理器支持多种语言模型
从 Graviton3 到 Graviton4 处理器的性能提升
我们在 Graviton3 (C7g.16xlarge) 和 Graviton4 (C8g.16xlarge) 的实例上部署了 Llama 3 8B 模型,以评估性能方面的提升。性能是基于提示词编码进行评估的,它衡量了语言模型处理和解释用户输入的速度,如图表 2 所示。在不同的用户批次大小测试中,Graviton4 的提示词编码性能相较 Graviton3 提升了 14% 至 26%(见图表 2 右轴)。
图表 2:从 Graviton3 (C7g.16xlarge) 到 Graviton4 (C8g.16xlarge) 运行 Llama 3 8B 模型的提示词编码所实现的性能提升
如图表 3 所示,词元生成(评估语言模型在运行 Llama 3 8B 时响应和生成文本的速度)也展示了显著的性能提升。性能曲线显示,在不同的用户批次大小测试中,性能都有明显增长,Graviton4 在较小的用户批次上显示出更显著的效率提升,实现了 5% 至 50% 的增长(参见图表 3 右轴)。
图表 3:从 Graviton 3 (C7g.16xlarge) 到 Graviton 4 (C8g.16xlarge) 运行 Llama 3 8B 模型实现的词元生成性能提升
结论
在 AWS Graviton4 C8g.x16large 实例上运行 Llama 3 70B,每秒可生成 10 个词元,该速度超过了人类可读性水平。与 Graviton3 相比,这种性能增强使 Graviton4 能够处理包括需要高级推理等更广泛的生成式 AI 任务。在运行 Llama 3 8B 模型时,Graviton4 的提示词编码性能较 Graviton3 提高了 14% 至 26%,词元生成性能提高了 5% 至 50%。
想要进一步了解此性能提升,可以参考 Learning Path 中提供的演示动手尝试:
https://learn.arm.com/learnin...
参考链接:
[1] https://aws.amazon.com/ec2/gr...
[2] https://huggingface.co/NousRe...
[3] https://huggingface.co/bartow...
[4] https://huggingface.co/QuantF...
[5] https://huggingface.co/micros...
[6] https://github.com/ggerganov/...(版本:b3440)
[7] https://ai.meta.com/blog/meta...
END
作者:Arm 基础设施事业部 AI 解决方案架构师 Na Li;Arm 基础设施事业部首席软件工程师 Masoud Koleini
文章来源:Arm社区
推荐阅读
- 详解 Arm Cortex-A320,针对物联网优化的超高能效 Armv9 CPU
- Arm 推出 GitHub Copilot 新扩展程序,助力快速迁移至 Arm 架构服务器
- 如何为 AI 应用选择合适的 Arm 边缘 AI 解决方案?
- 实现四倍提升!Arm KleidiCV 与 OpenCV 集成,加速移动端计算机视觉工作负载
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区 Arm 技术专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。