
Amazon SageMaker Inference新增NVIDIA MIG GPU分区支持
Amazon宣布,SageMaker Inference现已通过NVIDIA Multi-Instance GPU,也就是MIG,支持GPU分区。该能力可以把一块物理GPU划分为多个硬件隔离的分区,每个分区获得固定的计算资源份额以及专用的内存块。具体能够划分多少个实例取决于所选GPU,MIG最多可以把一块GPU拆分成七个实例。每个实例都拥有自己的计算资源、缓存、内存和内存带宽。
这项能力的核心配置方式,是为模型选择由目标GPU提供的分区配置文件,而不是必然把整块设备分配给一个模型。用户为各个模型选定分区配置文件后,SageMaker AI负责GPU配置、模型放置以及扩展。这里所说的硬件隔离不能被理解为完整的租户边界:位于同一实例上的模型仍会共享主机CPU、系统内存、存储、网络以及端点路由。因此,MIG分区明确隔离的是相关GPU资源,并不意味着实例中的所有基础资源都彼此独立。
适用的端点与工作负载范围
GPU分区适用于使用推理组件的实时端点。单模型端点、无服务器端点、异构实例池和异步工作负载不在支持范围内。这意味着,判断现有部署能否采用该功能时,不能只看GPU型号,还必须先确认端点形式和工作负载类型。若现有部署属于上述不受支持的类别,已公布的GPU分区能力不能直接用于该部署。
任何一个分区都不能跨越多块加速器。需要完整加速器或者需要多块GPU的模型,仍然必须继续使用完整设备。请求的分区配置文件必须由所选GPU实际提供,同时,一个分区布局所包含的计算单元和内存单元总量不能超过单块设备的容量。若布局无效,服务会拒绝该布局,而不会在后台悄悄改为使用整块加速器。这一行为使配置结果保持明确:有效布局按所选分区执行,无效布局则被拒绝。
新增两个可选字段
为了表达分区配置,相关API增加了两个可选字段。生产变体上的AcceleratorPartitionLayouts用于声明加速器布局;推理组件上的AcceleratorPartitionType用于选择分配给某个模型的分区类型。除此之外,GPU分区没有引入新的API操作、新的资源类型或新的IAM操作。若两个可选字段都不填写,端点会保留原有行为,应用调用模型的方式也保持不变。
这种兼容方式意味着,采用分区主要改变的是部署资源的声明,而不是模型调用接口。未选择分区字段的配置继续按照既有端点行为运行;选择分区时,则需要同时满足目标GPU提供相应配置文件以及布局不超过单设备容量等条件。配置不合规时不会自动回退到完整GPU,因此,部署者需要明确验证所声明的布局。
布局选择与变更方式
分区布局是在创建端点时选定的。若要改变某个推理组件的分区配置文件,需要创建新的推理组件。若要改变端点的GPU切分方式,则需要创建新的端点,并迁移流量。由此可见,分区配置并不是可以在现有对象上任意切换的临时选项,而是与部署生命周期直接相关的决定。
在规划阶段,需要把模型所选配置文件、GPU能够提供的配置文件以及单设备容量放在一起核对。之后若只调整某个组件的配置文件,仍然涉及新组件;若调整端点级别的GPU布局,则涉及新端点和流量迁移。SageMaker AI会在用户选好模型分区配置文件后处理GPU配置、放置和扩展,但用户所作的布局选择仍决定了后续需要采用哪一种变更路径。
Amazon公布的性能测试
Amazon报告了一项使用Llama-3.1-8B-Instruct的基准测试。在该测试中,一个采用mig-3g.40gb配置的H100分区,与一块完整的A100-40GB进行了比较。测试结果显示,H100分区每秒生成的输出令牌更多,令牌之间的延迟更低,到首个令牌的时间也更短。在测试所包含的全部流量形态和并发级别中,H100分区在这三项指标上都优于完整A100-40GB。
同一项测试还报告了按每百万输出令牌计算的成本结果。当工作负载超过依赖具体负载而变化的交叉点之后,H100分区被报告为便宜18%至34%;在这些交叉点以下,完整A100反而更便宜。这个对比说明,即使在同一项测试内部,成本结论也会随着工作负载所处区间而改变,不能把其中一个区间的结果替代另一个区间的结果。
上述基准结果只对应测试使用的模型、端点、配置、流量形态、并发级别、价格和区域。它不能证明未经测试的模型、配置、流量模式、实例类型、价格或区域会得到相同结果。对于其他工作负载,需要逐项测量,尤其要识别其自身的工作负载交叉点,然后才能比较完整GPU与分区方案的每百万输出令牌成本。
实例系列与区域
GPU分区已在P4d、P5、G7和G7e实例系列上提供。公布的区域包括US East (N. Virginia)、US East (Ohio)、US West (Oregon)、Asia Pacific (Singapore)、Asia Pacific (Tokyo)、Europe (Frankfurt)和Europe (Ireland)。这些名称界定了已公布的功能区域范围,但实例的实际可用性会因区域而异。
因此,不能根据区域名单进一步推断每一种受支持的实例类型都在名单中的每一个区域提供。已知信息只说明GPU分区所覆盖的实例系列和区域,不足以建立所有实例类型与所有区域之间的完整对应关系。部署前仍需把所需实例与目标区域作为具体组合进行确认,不能仅凭其中一项支持信息推导另一项的可用性。
计费方式没有改成按分区收费
采用GPU分区后,客户仍然按照整台GPU实例现有的小时价格付费。各个分区不会被独立计费,分区本身也不会改变GPU实例的小时价格。因此,MIG不能被解释成只购买一小块GPU并只支付该分区费用的计费模式。账单对象仍是完整GPU实例,既有小时价格继续适用。
这也限定了应当如何理解Amazon报告的单位输出成本差异。基准测试中的每百万输出令牌成本,是具体工作负载在相应测试条件下利用整台付费实例后得到的测量结果,并不是因为H100分区拥有独立的小时定价。测试中超过交叉点后出现的18%至34%差异,以及低于交叉点时完整A100更便宜的结果,都必须放在该测试条件与完整实例计费方式下理解。
部署时需要共同核对的条件
采用该功能时,首先需要确认工作负载运行在使用推理组件的实时端点上,而不是单模型、无服务器、异构实例池或异步形式。其次,需要选择目标GPU确实提供的分区配置文件,并保证整个布局的计算和内存总量不超过一块设备。对于需要完整GPU或多块GPU的模型,则应继续使用完整设备,因为分区不会跨越加速器。
还需要把未来变更纳入部署安排。组件分区配置文件改变时要创建新组件;端点GPU切分改变时要创建新端点并迁移流量。与此同时,模型调用方式保持不变,也没有新增API操作、资源类型或IAM操作。由此形成的边界十分清楚:资源声明和部署生命周期会因分区而增加新的选择与约束,但调用接口和完整实例的小时计费方式保持原状。
综合这些信息,MIG分区提供的是在单块受支持GPU内部选择固定计算份额和专用内存块的能力。它最多可以形成七个实例,具体数量取决于GPU;SageMaker AI则在用户选定配置文件之后负责配置、放置和扩展。是否适合某项工作负载,仍取决于端点类型、模型是否需要完整或多块GPU、所选配置文件能否被目标设备提供、布局是否符合容量限制,以及针对该工作负载进行的实际测量。Amazon公布的测试可说明其特定测试条件下的表现,但不能代替对其他工作负载的逐项验证。