SageMaker推理端点支持NVIDIA MIG分区
AWS称,SageMaker Inference现可通过NVIDIA Multi-Instance GPU将单块GPU按硬件隔离划分为多个分区;该能力仅适用于使用推理组件的端点,单模型端点、无服务器端点及异构实例池不支持。
AI解读:分区能力建立在推理组件之上:分区是推理组件申请的一项资源,与CPU、内存写在同一个ComputeResourceRequirements中;每个分区获得固定的计算单元份额和独立显存块,隔离由硬件执行。
使用方式是在CreateEndpointConfig的生产变体上增加AcceleratorPartitionLayouts字段声明切分方式,并在推理组件上增加AcceleratorPartitionType选择分区类型;AWS表示没有新增API操作、资源类型或IAM动作,未填这两个字段的端点行为不变。
布局在创建端点时确定,端点进入InService后所有加速器完成切分、分区为空,再由推理组件占用;AWS测试中切分加速器使预置时间增加约 17 秒。同一变体内所有实例上的每块加速器按同一布局切分。
可用的分区档位取决于GPU:P4d(A100 40GB)与P5(H100 80GB)最多 7 个分区,G7(RTX PRO 4500 Blackwell 32GB)最多 2 个,G7e(RTX PRO 6000 Blackwell Server Edition 96GB)最多 4 个。AWS提示P4d上mig-1g.10gb需R525或更新驱动,默认镜像为 470.256.02。
AWS称,其用genai-bench对比一个H100的mig-3g.40gb分区与整块A100-40GB,两侧各跑一个Llama-3.1-8B-Instruct副本;在五种流量形态、并发 2 至 512 的测试中,分区在每种场景下输出吞吐更高,成本在越过交叉点后按每百万输出token计低 18%–34%。这是单一模型、单一负载工具下的对比,AWS自己称应按具体工作负载逐案比较而非定论。
Salesforce软件工程架构师Richard Chang在AWS博文中称,许多推理负载不需要整块GPU,MIG可让Salesforce安全整合负载、提升利用率并降低推理成本;Salesforce参与了需求定义并验证了初始方案,正在准备用代表性生产负载验证。
AWS机器学习博客发文称,Amazon SageMaker Inference现已支持GPU分区,使用NVIDIA Multi-Instance GPU(MIG)把一块物理GPU划分为相互独立的多个分区,每个分区获得固定的计算单元份额和专属显存,隔离在硬件层面执行。该功能由Shantanu Tripathi署名发布。
AWS说明了适用范围:GPU分区只用于基于推理组件的端点,单模型端点、无服务器端点和异构实例池不能分区;分区是推理组件申请的资源,与CPU、内存写在同一个ComputeResourceRequirements结构中。
API与配置方式
博文介绍,该功能在现有API调用中增加两个可选字段,没有新增API操作、资源类型或IAM动作,未填这两个字段的端点行为与现在一致。AcceleratorPartitionLayouts加在CreateEndpointConfig的生产变体上,用于声明每块加速器如何划分;AcceleratorPartitionType加在推理组件上,用于选择模型运行在哪种分区。
AWS给出的例子中,P4d实例有 8 块A100,每块A100有 7 个计算切片;用一个包含mig-4g.20gb、mig-2g.10gb、mig-1g.5gb的布局可占满 7 个切片,于是每块A100承载三个分区,整个端点提供 24 个分区。博文强调布局列表不按位置对应具体GPU,同一变体内每块加速器都按相同方式切分。
- 布局必须在创建端点配置时确定;MIG只允许在分区空闲时更改布局,在SageMaker AI上即体现为创建端点时选择布局。
- 分区在端点预置时完成;AWS测试中切分加速器使预置时间增加约 17 秒,其余时间是常规的实例启动与容器拉取。
- 推理组件通过CopyCount在空闲分区上放置多个副本;配置中NumberOfAcceleratorDevicesRequired设为 1 时,表示一个分区而非一整块加速器。
可用分区档位与限制
博文列出各实例族的分区能力:P4d搭载A100 40GB,最多 7 个分区;P5搭载H100 80GB,最多 7 个分区;G7搭载RTX PRO 4500 Blackwell 32GB,最多 2 个分区;G7e搭载RTX PRO 6000 Blackwell Server Edition 96GB,最多 4 个分区。分区总数不超过 7 个。
AWS提示,P4d上的mig-1g.10gb需要R525或更新版本的NVIDIA驱动,而P4d默认镜像为 470.256.02;若在默认镜像上请求该档位,切分会失败,且不会给出指明该档位的错误。若需要这个档位,可在生产变体上把InferenceAmiVersion设为al2023-ami-sagemaker-inference-gpu-4-1。
博文还指出,需要多块GPU的模型仍需整块设备;布局中每种档位必须是该GPU支持的档位,且计算单元与内存单元的总和不能超过单块设备提供量,二者在创建端点配置时校验,不满足即拒绝,而不会回退为整块加速器。
性能对比与成本边界
AWS用genai-bench对比一个H100的mig-3g.40gb分区与一整块A100-40GB:两边各跑一个Llama-3.1-8B-Instruct副本,使用相同的容器镜像、分词器和客户端配置,通过SageMaker AI的OpenAI兼容接口调用,覆盖五种输入/输出token组合,并发从 2 到 512。
AWS报告的结果是:分区在每种场景、每个并发下输出吞吐都更高,在成本收益最大的负载点上高出 53% 至 89%;每个token间隔延迟低 8.9% 至 42.1%,首token时间低 5.6% 至 47.5%;按每百万输出token计,成本低 18% 至 34%,但要越过一个交叉点,交叉点在 100 token提示时并发为 64,在 8000 token提示时为并发 4,低于交叉点时整块A100更便宜。
AWS称在长上下文负载的最高并发档,A100在 6000 和 8000 token的两组负载中分别有三分之一到一半的请求未能在服务时限内完成,而分区没有出现失败。博文注明这是单模型、单一负载工具下的对比,并建议把各自的分区档位当作独立的GPU选项,在自己的负载上比较。
客户与定位
AWS称Salesforce从早期就参与这项工作,帮助定义需求并验证初始实现。Salesforce软件工程架构师Richard Chang在博文中表示,许多推理负载不需要整块GPU,MIG可让其安全整合负载、提升GPU利用率并降低推理成本,同时保持可预期的性能和隔离;Salesforce正在准备用代表性生产负载进行验证。
博文称MIG适用于一组中小模型共享一块加速器、按客户隔离模型的托管、同一实例上的多阶段流水线、必须在每个请求上运行的小模型,以及在正式流量旁运行候选模型的场景。博文同时提醒,同一实例上的模型仍共享主机CPU、系统内存、存储、网络和端点路由,GPU分区是GPU层面的隔离机制,不是完整的租户边界。