提升 LLM 推理性能的新 Amazon

提升 LLM 推理性能:全新 Amazon SageMaker 容器

关键要点: 在这篇文章中,我们介绍了 Amazon SageMaker最新版(0.25.0)的大型模型推理(LMI)深度学习容器(DLC),并增加了对 NVIDIA TensorRT-LLM库的支持。通过这些升级,Amazon SageMaker LMI TensorRT-LLM DLC 在 Llama2-70B、Falcon-40B 和 CodeLlama-34B 模型上平均减少了 33% 的延迟,平均提高了 60% 的吞吐量,使得大语言模型(LLMs)的优化、更高的性能表现和更好的性价比触手可及。


今天,**** 推出了大型模型推理深度学习容器(DLC)新版本(0.25.0),并增加了对 **** 的支持。借助这些改进,用户可以轻松访问最先进的工具,来优化 SageMaker 上的大语言模型并实现价格性能优势——Amazon SageMaker LMI TensorRT-LLM DLC在与公开的前一版本比较时,平均减少 33% 的延迟,同时提高 60% 的吞吐量 ,特别适用于 Llama2-70B、Falcon-40B 和 CodeLlama-34B 模型。

大语言模型在各种应用中得到了空前的关注。然而,由于这些模型通常过大,无法完全适配单个加速器或 GPU设备,因此实现低延迟推理和规模化变得相对困难。SageMaker 提供 LMI DLC 以帮助用户最大化利用可用资源并提升性能。最新的 LMI DLC支持持续批处理推理请求以提高吞吐量、有效的推理集合操作以改善延迟、以及 NVIDIA 最新的 TensorRT-LLM 库以优化 GPU 性能。LMIDLC 提供低代码接口,仅需模型 ID 和可选的模型参数,便可快速完成 TensorRT-LLM 的编译工作,所有构建 TensorRT-LLM优化模型和创建模型库的繁琐工作都由 LMI DLC 处理。此外,用户还可使用 LMI DLC 中最新的量化技术,如 GPTQ、AWQ 和 SmoothQuant。因此,借助 SageMaker 上的 LMI DLC,您可以加快对生成式 AI 应用的价值实现,并根据需要优化 LLM达成顶级的性价比。

在本文中,我们将深入探讨最新 LMI DLC 的新功能、性能基准,并概述使用 LMI DLC 部署 LLM 所需的步骤,以实现最佳性能并降低成本。

SageMaker LMI DLC 的新功能

下面我们讨论 SageMaker LMI DLC 的三个新功能。

SageMaker LMI 现已支持 TensorRT-LLM

SageMaker 在最新的 LMI DLC 版本(0.25.0)中提供了 NVIDIA 的 TensorRT-LLM,支持针对大语言模型的最先进优化,如 SmoothQuant、FP8 和持续批处理。TensorRT-LLM 能够实现超低延迟体验,显著提升性能。TensorRT-LLM SDK 支持从单 GPU 部署到多 GPU 配置,采用张量并行等技术可进一步提升性能。要使用 TensorRT-LLM 库,可以选择可用的 **** ,并在诸如 option.model_idengine=MPI 等其他 **** 中进行配置。以下图表展示了 TensorRT-LLM 的技术栈。

![TensorRT-LLM删除)

高效的推理集合操作

在典型的 LLM部署中,模型参数分布在多个加速器上,以满足大型模型的需求,这些模型无法在单个加速器上运行。这种方式提高了推理速度,使每个加速器可以并行进行部分计算。之后,引入集合操作以整合这些部分结果,并重新分配到各个加速器。

对于 P4D 实例类型,SageMaker 实施了一种新的集合操作,加快了 GPU 之间的通信。因此,与之前的版本相比,最新的 LMI DLC可获得更低的延迟和更高的吞吐量。此外,此功能在 LMI DLC 中已开箱即用,用户无需额外配置即可使用。

量化支持

SageMaker LMI DLC 现在支持最新的量化技术,包括使用 GPTQ的预量化模型、激活感知权重量化(AWQ),以及就地量化(SmoothQuant)。GPTQ 允许 LMI 运行 Hugging Face 中流行的 INT3和 INT4 模型,提供在单一 / 多 GPU 中可适配的最小模型权重。LMI DLC 还支持 AWQ 推理,提升推理速度。最后,LMI DLC 现已支持 SmoothQuant,允许在尽量减少精度损失的情况下进行 INT8 量化,从而减少模型的内存占用和计算成本。目前,对 SmoothQuant模型的就地转换已无需额外步骤。GPTQ 和 AWQ 需使用数据集进行量化方可与 LMI DLC 一起使用。您也可根据需要选择流行的预量化 GPTQ 和 AWQ 模型用于 LMI DLC。使用 SmoothQuant 时,只需在 serving.properties 中将 option.quantize=smoothquantengine=DeepSpeed 组合设置即可。有关使用 SmoothQuant 托管 GPT-Neox 的示例笔记本,请参见 **** 。

使用 SageMaker LMI DLC

您可以在 SageMaker 上使用新的 LMI DLC 0.25.0 部署 LLM,而无需修改代码。SageMaker LMI DLC 使用 DJL服务为您的模型提供推理服务。首先,您只需创建一个配置文件,指定 **** ,例如模型并行化和推理优化库。有关使用 SageMaker LMI DLC 的说明和教程,请参考 **** 及我们的 **** 。

DeepSpeed 容器包括一个名为 LMI 分布式推理库(LMI-Dist)的库。LMI-Dist 是一个推理库,用于运行大型模型推理,并使用在 vLLM、Text-Generation-Inference(高达 0.9.4 版本)、FasterTransformer 和 DeepSpeed框架中使用的最佳优化。本库整合了流行的开源技术,如 FlashAttention、PagedAttention、FusedKernel 和高效的 GPU通信内核,以加速模型并减少内存消耗。

TensorRT LLM 是 NVIDIA 于 2023 年 10 月发布的开源库。我们对 TensorRT-LLM库进行优化,以加速推理并创建工具包以简化用户体验,支持即时模型转换。该工具包使用户能够提供 Hugging Face 模型 ID,并执行从头到尾的模型部署。这一工具包支持流式的持续批处理。预计编译 Llama-2 7B 和 13B 模型大约需 1-2 分钟,而 70B模型则需要大约 7 分钟。如果您希望在 SageMaker 终端设置和实例扩展期间避免此编译开销,我们建议使用


进行提前(AOT)编译。我们也支持任何为 Triton Server 构建的 TensorRT LLM 模型,可以与 LMI DLC 一起使用。

性能基准结果

我们比较了最新版本 SageMaker LMI DLC(0.25.0)与先前版本(0.23.0)的性能。我们针对 Llama-2 70B、Falcon40B 和 CodeLlama 34B 模型进行了实验,以展示使用 TensorRT-LLM 和高效推理集合操作(可在 SageMaker上使用)的性能提升。

SageMaker LMI 容器配备默认处理脚本来加载和托管模型,提供低代码选项。您也可以根据需要提供自己的脚本,以对模型加载步骤进行自定义。您需要在 serving.properties 文件中传递所需的参数。该文件包含 Deep JavaLibrary(DJL)模型服务器下载和托管模型所需的配置。以下代码为我们进行部署和基准测试时使用的 serving.properties 文件:

properties engine=MPI option.use_custom_all_reduce=trueoption.model_id={{s3url}} option.tensor_parallel_degree=8option.output_formatter=json option.max_rolling_batch_size=64option.model_loading_timeout=3600

engine 参数用于定义 DJL 模型服务器的运行时引擎。我们可以通过 model_id 参数指定 Hugging Face 模型 ID 或 **** (AmazonS3)上模型的位置。task 参数用于定义自然语言处理(NLP)任务。tensor_parallel_degree 参数则设置张量并行模块分布的设备数量。use_custom_all_reduce 参数在启用 NVLink 的 GPU 实例中设置为 true,以加速模型推理。您可以在 P4D、P4de、P5 和其他连接 NVLink 的 GPU 上设置此选项。output_formatter 参数设置输出格式。max_rolling_batch_size 参数定义最大并发请求数的限制。model_loading_timeout 设置下载和加载模型以服务推理的超时值。有关配置选项的更多详细信息,请参考 **** 。

Llama-2 70B

以下是 Llama-2 70B 的性能比较结果,使用新 LMI TensorRT LLM DLC 后,延迟减少了 28%,吞吐量在并发 16 时增长了 44%。

![Llama-2 70B删除)

![Llama-2 70B删除)

Falcon 40B

以下数据为 Falcon 40B 的性能比较。在并发 16 的情况下,使用新 LMI TensorRT LLM DLC 后,延迟减少 36%,吞吐量提高 59%。

![Falcon 40B删除)

![Falcon 40B删除)

CodeLlama 34B

以下数据为 CodeLlama 34B 的性能比较。在并发 16 的情况下,使用新 LMI TensorRT LLM DLC 后,延迟减少 36%,吞吐量提高 77%。

![CodeLlama 34B删除)

![CodeLlama 34B删除)

推荐的 LLM 托管配置和容器

随着最新发布,SageMaker 提供了两个容器:0.25.0-deepspeed 和 0.25.0-tensorrtllm。DeepSpeed 容器包含 LMI 分布式推理库。TensorRT-LLM 容器则包括 **** ,用于加速 LLM 推理。

我们推荐的部署配置如以下图所示:

删除)

开始使用时,可以参考以下示例笔记本:



结论

在本文中,我们展示了如何利用 SageMaker LMI DLC 优化 LLM 以满足您的业务需求并实现价格性能优势。如需了解有关 LMI DLC能力的更多信息,敬请参阅 **** 。我们期待与您一起探索这些来自 Amazon SageMaker 的新功能。


作者介绍

Michael Nguyen 是 AWS 的高级初创解决方案架构师,专注于利用 AI/ML 驱动创新并在 AWS上开发商业解决方案。Michael 拥有 12 项 AWS 认证,拥有电气/计算机工程学士/硕士学位,以及宾州州立大学、宾汉姆顿大学和特拉华大学的 MBA学位。

![](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2022/01/04/Rishabh- 删除) Rishabh Ray Chaudhury 是 Amazon SageMaker的高级产品经理,专注于机器学习推理。他热衷于为 AWS 上的机器学习客户创新并构建新体验,以帮助扩展其工作负载。闲暇时,他享受旅行和烹饪。您可以在


上找到他。

删除)QingLan** 是 AWS 的软件开发工程师。他曾在 Amazon 开展多项挑战性产品的工作,包括高性能机器学习推理解决方案和高性能日志系统。Qing的团队成功推出了 Amazon Advertising 中第一个十亿参数模型,并满足低延迟的要求。Qing 对基础设施优化和深度学习加速有深入的知识。

![Jian删除)JianSheng 是 Amazon Web Services 的软件开发工程师,

Leave a Reply

Required fields are marked *