View a markdown version of this page

Amazon SageMaker 人工智能模型的推理优化 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SageMaker 人工智能模型的推理优化

Amazon SageMaker AI 提供了两种方法来优化您的生成式 AI 模型推理:

  • 推理建议。 SageMaker AI 会自动分析您的模型和工作负载,评估实例类型,应用优化,并返回带有真实性能指标的经过验证的部署就绪配置。对于大多数客户来说,这是推荐的方法。要开始使用,请参阅经过优化的生成式 AI 推理建议

  • 手动优化。对于想要自己动手的客户,你可以应用量化、推测性解码和编译等个性化优化技术。您可以选择要应用的技术,运行优化作业,然后自己评估结果。优化模型后,您可以运行评估,查看延迟、吞吐量和价格等性能指标。

对于许多模型, SageMaker AI 还提供了多个预先优化的版本,每个版本都可满足不同的应用程序对延迟和吞吐量的需求。对于此类模型,您可以部署其中一个优化版本,而无需先自行优化模型。

优化技术

Amazon SageMaker AI 支持以下优化技术。

编译

编译优化模型,使其在所选硬件类型上达到最佳性能,同时不降低精度。您可以应用模型编译来优化加速硬件(例如 GPU 实例、 AWS Trainium 实例或 AWS Inferentia 实例)的 LLM。

使用编译功能优化模型时,可以从超前编译中获益。当模型部署到新实例时,模型权重不需要即时编译,因此可以减少模型的部署时间和自动扩缩延迟。

如果您选择为 GPU 实例编译模型, SageMaker AI 会使用该 TensorRT-LLM库来运行编译。如果你选择为 AWS Trainium 或 AWS Inferentia 实例编译模型, SageMaker AI 会使用 AWS Neuron SDK 来运行编译。

量化

量化是一种技术,通过使用不那么精确的权重和激活数据类型来降低模型的硬件要求。使用量化技术优化模型后,就可以将其托管到更便宜、可用性更高的 GPU 上。不过,量化模型的精确度可能会低于您优化的源模型。

SageMaker AI 支持量化的数据格式因模型而异。支持的格式包括如下格式:

  • INT4-AWQ — 4 位数据格式。 Activation-aware 权重量化 (AWQ) 是一种针对 LLM 的量化技术,它高效、准确、低位且仅限权重。

  • FP8:8 位浮点数(FP8)是一种用于浮点数的低精度格式。它通过用比标准 FP16 浮点格式更少的位数表示值来平衡内存效率和模型精度。

  • INT8-SmoothQuant — 8 位数据格式。 SmoothQuant 是一种混合精度量化方法,它通过平衡激活量和权重的动态范围来共同缩放激活量和权重。

推测解码

推测解码是一种加快大型 LLM 解码过程的技术。它在不影响生成文本质量的前提下优化了延迟模型。

该技术使用了一个更小但更快的模型,称为草图模型。草图模型生成候选令牌,然后由更大但更慢的目标模型进行验证。每次迭代,草图模型都会生成多个候选令牌。目标模型会验证令牌,如果发现某个令牌不可接受,就会拒绝该令牌并重新生成。因此,目标模型既要验证令牌,又要生成少量令牌。

草图模型的速度明显快于目标模型。它能快速生成所有令牌,然后成批发送给目标模型进行验证。目标模型会并行评估它们,从而加快最终响应速度。

SageMaker AI 提供了一个预先构建的草稿模型供您使用,因此您不必自己构建。如果您更喜欢使用自己的自定义草稿模型, SageMaker AI 也支持此选项。

快速模型加载

快速加载模型技术可以准备 LLM,这样 SageMaker AI 就可以更快地将其加载到 ML 实例上。

为了准备模型, SageMaker AI 会提前对其进行分片,方法是将其分成多个部分,每个部分可以驻留在单独的 GPU 上进行分布式推理。此外, SageMaker AI 将模型权重存储在大小相等的区块中, SageMaker AI 可以同时加载到实例上。

当 SageMaker AI 将优化的模型加载到实例上时,它会将模型权重直接从 Amazon S3 流式传输到实例的 GPU。通过流式传输权重, SageMaker AI 省略了通常需要的几个耗时的步骤。这些步骤包括将模型构件从 Amazon S3 下载到磁盘,将模型构件加载到主机内存,以及在主机上对模型进行分片,然后最终将分片加载到 GPU。

优化模型以加快加载速度后,您可以更快地将其部署到 A SageMaker I 端点。此外,如果您将端点配置为使用自动扩缩,它就会更快地进行横向扩展以适应流量的增加。