内容提要
亚马逊推出了P5.48xlarge实例类型,采用NVIDIA H100 GPU,加速了训练时间,降低了成本。使用P5 Spot实例可节省成本,但存在中断回收问题。需要修改EC2参数限额并采用参考架构进行管理。文章还介绍了创建S3 Bucket、SNS Topic、启动Spot实例、配置IAM Role等操作。
延伸解读
P5 Spot 实例的成本优势与中断风险
P5.48xlarge 实例采用 NVIDIA H100 GPU,相比上一代 P4d 实例训练时间加速 4 倍以上,成本降低 40%。而 Spot 实例利用空闲容量,最高可节省 90% 成本,但可能被中断回收,且提前两分钟通知。因此,P5 Spot 实例适合可容错、灵活的微调任务,如参数量较少的 LLM(13B 以下)。用户需权衡成本与中断风险,并采取灵活性策略降低中断影响。
管理 Spot 实例的参考架构与关键组件
为降低 Spot 容量不足和中断的影响,文章提出一个参考架构,包括 Management System、DynamoDB、Jumpserver、S3、SNS 和 EventBridge 等组件。Management System 可采用 Serverless 方式实现,如 Lambda、API Gateway、Step Functions 和 DynamoDB。S3 用于存储训练数据,通过 Mountpoint for Amazon S3 挂载到实例;SNS 通知实例和任务状态;EventBridge 响应实例状态
启动 Spot 实例前的准备与最佳实践
使用 P5 Spot 实例前,需在 Service Quotas 中修改 EC2 的 All P5 Spot Instance Requests 参数,提高限额。启动前应查看 Spot 历史价格和 Spot placement score(SPS),选择性价比高的区域和可用区。SPS 表示 Spot 请求成功的可能性,分数越高越可能获得容量。此外,需创建 IAM 角色授权实例访问 S3、SNS 和 SSM,并配置 EventBridge 规则响应中断事件。这些步骤有助于提高任务成功率并降低成本。
测试与验证:Fault Injection Service 模拟中断
为确保系统在 Spot 实例中断时能正确处理,文章介绍了使用 Fault Injection Service 模拟 Spot 实例中断。通过创建 Resilience Hub 的 Experiment templates,配置 Action 为 aws:ec2:send-spot-instance-interruptions,并指定目标 Spot 实例,即可模拟中断。成功创建后启动实验,用户将收到中断通知。这有助于测试系统的容错能力和任务管理灵活性,验证参考架构的有效性。
Q&A
P5.48xlarge实例的主要特点是什么?
P5.48xlarge实例采用NVIDIA H100 GPU,具有8个GPU单元,显存为80GB,训练时间加速4倍,成本降低40%。
使用P5 Spot实例进行微调任务有哪些优势和风险?
P5 Spot实例适合微调参数量较少的LLM,具有成本优势,但可能会被中断回收,影响任务运行。
如何创建S3 Bucket和SNS Topic以支持Spot实例?
可以使用AWS CLI命令创建S3 Bucket和SNS Topic,设置通知用户实例和任务状态。
如何管理P5 Spot实例以降低中断风险?
应修改EC2参数限额,采用参考架构管理实例,并提高灵活性以降低Spot中断率。
如何启动P5 Spot实例并配置IAM角色?
使用AWS CLI命令启动P5 Spot实例,并创建IAM角色以授权访问S3、SNS和SSM。
Fault Injection Service的作用是什么?
Fault Injection Service可模拟Spot实例中断,用于测试系统功能和应对中断的能力。