Amazon SageMaker 上的 Llama 2 基准测试

Hugging Face 发布了一份全面的基准测试报告,分析了在 Amazon SageMaker 上部署 Llama 2 的 60 多种配置。该分析为企业提供了数据驱动的建议,帮助其根据优先考虑成本效益、最大吞吐量还是最低延迟来优化其生成式 AI 部署。

部署基础设施与方法论

该基准测试使用了 Hugging Face LLM Inference Container,它由 Text Generation Inference (TGI) 提供支持。TGI 是一个开源解决方案,通过动态批处理 (dynamic batching) 和张量并行 (Tensor Parallelism) 实现高性能文本生成。

基准测试参数

为了评估真实世界的性能,Hugging Face 测试了三种 Llama 2 模型规模(7B、13B 和 70B 参数)在以下变量下的表现:

  • 实例类型: NVIDIA A10G GPU (g5.2xlarge, g5.12xlarge, g5.48xlarge) 和 NVIDIA A100 40GB GPU (p4d.24xlarge)。
  • 负载水平: 并发请求量分别为 1、5、10 和 20。
  • 量化: 对比了使用标准权重与 GPTQ 4-bit 量化的性能。GPTQ 将模型权重从 32 位降低到 3-4 位,显著降低了内存需求,并允许在单个 GPU 上运行更大的模型(如 Llama 2 13B)。

性能指标

性能通过两个主要指标进行衡量:

  • 吞吐量 (Throughput): 每秒生成的 token 数量。
  • 延迟 (Latency): 生成单个 token 所需的时间(以每 token 毫秒数衡量)。

最佳部署建议

根据基准测试结果,Hugging Face 根据业务目标确定了三种主要的部署策略。

最具成本效益的部署

对于优先考虑单个 token 最低成本的用户,GPTQ 量化是最有效的策略。这使得在单个 GPU 实例上部署 Llama 2 13B 成为可能。

模型 量化 实例 并发请求 延迟 (ms/token) 吞吐量 (tokens/sec) 成本 ($/h) 每 1M Tokens 成本
Llama 2 7B GPTQ g5.2xlarge 5 34.25 120.09 $1.52 $3.50
Llama 2 13B GPTQ g5.2xlarge 5 56.24 71.71 $1.52 $5.87
Llama 2 70B GPTQ ml.g5.12xlarge 5 138.35 33.33 $7.09 $59.08

最佳吞吐量部署

为了最大化每秒处理的 token 数量,需要更高端的 GPU 实例和更高的并发度。记录到的最高总吞吐量是 Llama 2 13B 在 ml.p4d.12xlarge 实例上达到 688 tokens/sec。

模型 量化 实例 并发请求 延迟 (ms/token) 吞吐量 (tokens/sec) 成本 ($/h) 每 1M Tokens 成本
Llama 2 7B None ml.g5.12xlarge 20 44.00 449.94 $7.09 $3.97
Llama 2 13B None ml.p4d.12xlarge 20 67.40 668.02 $37.69 $15.67
Llama 2 70B None ml.p4d.24xlarge 20 59.80 321.54 $37.69 $32.56

最佳延迟部署

对于聊天界面等实时应用,最小化生成单个 token 的时间至关重要。Llama 2 7B 在 ml.g5.12xlarge 实例上实现了最低延迟。

模型 量化 实例 并发请求 延迟 (ms/token) 吞吐量 (tokens/sec) 成本 ($/h) 每 1M Tokens 成本
Llama 2 7B None ml.g5.12xlarge 1 16.81 61.46 $7.09 $32.05
Llama 2 13B None ml.g5.12xlarge 1 21.00 47.16 $7.09 $41.76
Llama 2 70B None ml.p4d.24xlarge 1 41.35 24.51 $37.69 $427.05

结论

该基准测试表明,在 Amazon SageMaker 上部署 Llama 2 的效率在很大程度上取决于量化方式和实例类型的选择。GPTQ 4-bit 量化显著降低了成本效益型部署的门槛,而高性能 NVIDIA A100 实例则是实现最大吞吐量的必要条件。

Sources