使用新的推理优化工具包来实现生成型AI推理的吞吐量提升及成本降低
关键要点
双倍吞吐量 Amazon SageMaker的新推理优化工具包可实现高达2倍的吞吐量提升。成本减少 通过该工具包,用户可将生成型AI推理的成本降低约50。快速优化 优化时间从几个月缩短至几小时,助力更快部署AI模型。简化开发流程 新工具包简化了应用最新优化技术的工程成本,无需占用开发资源进行研究和实验。今天,Amazon SageMaker宣布推出一种新的推理优化工具包,旨在帮助用户将优化生成型人工智能AI模型所需的时间从几个月缩短至几个小时,从而在用户场景中实现最佳性能。利用这一新功能,用户可以从多种优化技术中进行选择,将其应用于生成型AI模型,验证性能提升,并只需几次点击即可完成模型的部署。
借助如推测解码、量化和编译等技术,Amazon SageMaker的新推理优化工具包可使生成型AI模型如Llama 3、Mistral和Mixtral模型的吞吐量提高约2倍,同时将成本降低约50。例如,使用Llama 370B模型,您可以在mlp548xlarge实例上实现每秒约2400个标记的吞吐量,而之前未进行优化时仅为每秒约1200个标记。此外,推理优化工具包显著降低了应用最新优化技术的工程成本,无需分配开发资源和时间进行研究、实验和基准测试。现在,您可以将更多精力集中在业务目标上,而无需担心模型优化中涉及的繁重任务。
在本文中,我们将讨论这一新工具包的优势和它所解锁的用例。
推理优化工具包的优势
“大型语言模型LLMs需要昂贵的基于GPU的实例进行托管,因此实现显著的成本降低极具价值。根据我们的实验,我们预计使用Amazon SageMaker的新推理优化工具包自托管LLMs的部署成本将降低约30,并且在最多8个并发请求的情况下,延迟将降低高达25。”FNU Imran,Qualtrics的机器学习工程师。
目前,客户尝试通过推测解码、量化和编译等技术来提升其生成式GenAI模型的价格性能比。推测解码通过预测和并行计算多个潜在的下一个标记实现加速,从而减少总体运行时间,而不影响准确性。量化通过使用较低精度的数据类型来表示权重和激活值,从而减少模型的内存需求。编译则优化模型,在所选硬件类型上提供最佳性能,仍保持准确性。
然而,最佳实施生成型AI优化技术通常需要开发人员耗费数月的时间需要深入研究大量开源文档,反复原型化不同的技术,并进行基准测试,才能最终确定部署配置。此外,技术与各种开源库之间缺乏兼容性,使得堆叠不同技术以获得最佳价格性能比变得困难。
推理优化工具包通过简化和高效化这一过程,帮助解决了这些挑战。用户可以从最新的模型优化技术菜单中进行选择,并将其应用于自己的模型。此外,用户还可以选择技术组合,以创建自己的优化配方。然后,用户可以使用自定义数据运行基准,以评估这些技术在输出质量和推理性能上的影响,仅需几次点击。SageMaker承担了提供所需硬件的重任,以使用最有效的深度学习框架和库运行优化配方,并提供与目标硬件的兼容性,从而使技术能够有效地堆叠在一起。现在,您仅需几分钟即可使用Amazon SageMaker JumpStart上的流行模型,如Llama 3和Mistral,配合加速推理技术部署,支持使用Amazon SageMaker Studio用户界面或Amazon SageMaker Python SDK。每种模型都有多个预设服务配置和预计算的基准,为用户提供了在降低成本更高并发和降低每用户延迟之间进行选择的不同选项。
利用新的推理优化工具包,我们基准测试了不同优化技术的性能和成本影响。该工具包使我们能够评估每种技术对吞吐量和整体成本效率的影响,特别是在问题回答用例中。
推测解码
推测解码是一种推理技术,旨在加快大型而缓慢的LLMs在延迟敏感应用中的解码过程,同时不影响生成文本的质量。关键思路是使用一个更小的、更弱的但更快速的语言模型称为草稿模型来生成候选标记,然后由更大的、更强大的但速度较慢的目标模型进行验证。在每次迭代中,草稿模型生成多个候选标记。目标模型验证这些标记,如果发现某个标记不可接受,则会拒绝并重新生成。因此,大模型可能同时进行验证和少量标记生成。小模型的速度明显快于大模型。它可以快速生成所有标记,然后将这些标记批量发送给目标模型进行验证。目标模型并行评估所有标记,从而显著加快最终响应的生成验证比自回归标记生成速度更快。有关详细理解,请参考DeepMind的论文,用推测采样加速大型语言模型解码。
通过SageMaker的新推理优化工具包,您获得了开箱即用的推测解码支持,该支持已针对各种流行的开放模型经过了性能测试。SageMaker提供了一个预构建的草稿模型,您可以直接使用,无需耗费时间和资源自行从头构建草稿模型。如果您更愿意使用自己的自定义草稿模型,SageMaker也支持此选项,提供灵活性以适应您特定的自定义草稿模型。
以下图表展示了在使用推测解码的mlp548xlarge上部署的Llama370B模型的吞吐量每秒标记数,与未使用推测解码的部署相比。

以下结果使用mlp548xlarge,您还可以探索在mlp4d24xlarge上部署Llama370,结合推测解码。
用于这些基准的数据集基于OpenOrca问答案例的策展版本,其有效负载在5001000个标记之间,平均为622与Llama 3分词器相关。所有请求将最大新标记设置为250。
基于推测解码实现的吞吐量提升,我们还可以看到使用推测解码与不使用推测解码时的综合价格差异。
在这里,我们计算出了输入标记与输出标记的比例为31的综合价格。
综合价格的定义如下:
总吞吐量每秒标记数 = (1/(p50标记间延迟)) x 并发数综合价格每100万标记美元 = (1(折扣率)) (每小时实例价格) ((每秒总标记吞吐量) 60 60 106) 4查看以下笔记本以了解如何使用优化工具包启用预训练SageMaker JumpStart模型的推测解码。
使用SageMaker提供的草稿模型进行推测解码时,以下内容不受支持:
如果您在SageMaker JumpStart之外微调过模型使用SageMaker草稿模型时,自定义推理脚本不受支持本地测试推理组件量化
量化是最受欢迎的模型压缩方法之一,旨在减少内存占用并加速推理。通过使用较低精度的数据类型来表示权重和激活值,量化LLM权重进行推理提供了四个主要好处:
减少模型服务的硬件要求 量化模型可以使用更便宜和更普遍的GPU进行服务,甚至可以在消费设备或移动平台上访问。增加KV缓存的空间 这可以支持更大的批量大小和序列长度。更快的解码延迟 由于解码过程受限于内存带宽,因此降低的权重大小直接改善了解码延迟,除非被反量化开销所抵消。更高的计算与内存访问比通过减少数据移动 这也被称为算术强度。这允许在解码期间更充分地利用可用的计算资源。在量化方面,SageMaker的推理优化工具包提供了兼容性,并支持针对GPU的激活感知权重量化AWQ。AWQ是一种针对LLM的高效且准确的低位INT3/4后训练仅权重量化技术,支持指令调优模型和多模态LLM。通过将模型权重量化到INT4,您可以在mlg512xlarge上部署更大的模型如Llama 3 70B,这相较于基于一年的SageMaker节省计划率的mlp4d24xlarge便宜7988。INT4权重的内存占用是原生半精度权重的四分之一Llama 3 70B的35 GB与140 GB。
以下图表比较了在mlg512xlarge上AWQ量化的Llama 3 70B指令模型与在mlp4d24xlarge上的Llama 3 70B指令模型的吞吐量。由于压缩,AWQ量化模型的准确性可能会受到影响。然而,在mlg512xlarge上的价格性能比更好,每个实例的吞吐量较低。根据用例,您可以为您的SageMaker端点添加更多实例。我们可以看到以下综合价格图中的成本节省。
在以下图表中,我们将输入和输出标记的比例设置为31计算综合价格。此外,我们应用了基于一年的SageMaker节省计划率的实例费用。
请参考以下笔记本,了解如何使用优化工具包启用AWQ量化和推测解码,以便于预训练的SageMaker JumpStart模型。如果要使用推测解码在SageMaker JumpStart上部署微调模型,请参考以下笔记本。
编译
编译优化模型以提取所选硬件类型上的最佳可用性能,而不会导致任何准确性损失。对于编译,SageMaker推理优化工具包提供了高效加载和缓存优化模型的能力,从而将Llama 3 8B和70B的模型加载时间和自动扩展时间减少4060。
模型编译可以使LLMs在加速硬件上运行,例如GPU或自定义硅芯片,如AWS Trainium和AWS Inferentia,同时优化模型的计算图,以便在目标硬件上获得最佳性能。使用Neuron编译器,可从各种格式如PyTorch和safetensors中获取深度学习模型,并对其进行优化以高效地在Neuron设备上运行。使用大型模型推理(LMI)深度学习容器DLC时,Neuron编译器在框架内部被调用,并创建编译后的工件。这些编译后的工件对于输入形状、模型精度、张量并行程度及其他框架或编译器级配置的组合而言是唯一的。尽管编译过程在推理时避免了开销,并实现了优化的推理,但这可能需要耗费大量时间。
魔方加速器免费下载安装为了避免每次将模型部署到Neuron设备时都重新编译,SageMaker引入了以下功能:
预编译工件的缓存 包括流行的模型,如Llama 3、Mistral等,适用于Trainium和AWS Inferentia 2。当使用带有编译配置的优化模型时,SageMaker在配置匹配时会自动使用这些缓存的工件。提前编译 推理优化工具包使您能够在将模型部署到SageMaker之前,提前以所需配置编译。以下图表展示了使用SageMaker LMIDLC的预编译工件提高模型加载时间的情况。模型在序列长度为8192和批处理大小为8时编译,Llama 3 8B在inf248xlarge上部署,而Llama 3 70B则在trn132xlarge上部署张量并行程度=32。
请参考以下笔记本,获取有关如何使用优化工具包启用Neuron编译的信息,以便针对预训练的SageMaker JumpStart模型。
定价
对于编译和量化作业,SageMaker将合理选择合适的实例类型,以节省您的时间和精力。您将根据使用的优化实例进行收费,欲了解更多信息,请参见Amazon SageMaker定价。对于推测解码,不涉及优化;QuickSilver将打包正确的容器和部署参数。因此,您无需承担额外费用。
结论
请参考使用新的推理优化工具包,在SageMaker上实现生成型AI推理的吞吐量提升和成本降低:用户指南第2部分博客,以了解如何在使用SageMaker推理与SageMaker JumpStart及SageMaker Python SDK时开始使用推理优化工具包。您可以在SageMaker JumpStart上的任何支持模型上使用推理优化工具包。有关支持模型的完整列表,请参见使用Amazon SageMaker优化模型推理。
关于作者
Raghu Ramesha 是高级GenAI/ML解决方案架构师Marc Karp 是高级ML解决方案架构师Ram Vegiraju 是解决方案架构师Pierre Lienhart 是深度学习架构师Pinak Panigrahi 是高级解决方案架构师 安纳普尔纳MLRishabh Ray Chaudhury 是高级产品经理
加载评论