Amazon SageMaker HyperPod 存储设计与实践(二)

Amazon SageMaker HyperPod 存储设计与实践(二)

💡 原文中文,约7000字,阅读约需17分钟。
📝

内容提要

本文探讨了在 Amazon SageMaker HyperPod 中实现 S3 挂载点支持的方法,包括客户端安装、挂载脚本和检查挂载状态。通过生命周期配置,集群创建时可自动挂载 S3,确保计算节点故障后训练任务无缝继续。对于不同规模的模型训练,小模型建议使用 S3 进行全量存储,大模型则推荐采用 FSx for Lustre 分片存储,以提升写入性能。

🔎

延伸解读

自动挂载与自愈机制如何保障训练连续性

HyperPod 的 Self-Healing 和 Auto-Resume 特性要求存储挂载在节点替换后能自动恢复。通过 Lifecycle 脚本在集群创建时自动挂载 EFS 和 Mountpoint for S3,当计算节点故障被替换后,新节点会自动执行挂载,无需人工干预,从而让训练任务从最近检查点无缝继续。这避免了手动挂载导致的训练中断延长,对长耗时训练任务尤为重要。

检查点写入性能实测:分片与存储选型的影响

文章基于 Llama-3-8B 模型测试了不同并行策略和存储方案的检查点写入耗时。分片存储(HYBRID_SHARD)利用多 GPU 并发写入,总时间低于全量存储(FULL_SHARD)。在存储介质上,FSx for Lustre 对分片写入提升显著,而 Mountpoint for S3 因不支持 rename 操作,无法用于分片存储。测试数据为存储选型提供了量化参考。

按模型规模选择检查点存储方案

对于 8B 及以下小模型,建议使用 Mountpoint for S3 进行全量检查点存储,优势是代码简单、直接写入 S3 持久化、成本与性能平衡且无需预置容量。对于 70B 及以上大模型且集群规模大、检查点频率高的场景,推荐 FSx for Lustre 结合分片并发存储,以利用其高并发能力降低写入时间,减少 GPU 等待,同时降低对单节点 CPU 内存的依赖。

❓

Q&A

如何在 Amazon SageMaker HyperPod 中实现 S3 挂载点支持?

通过安装 MountPoint for S3 客户端、创建挂载脚本和检查挂载状态的服务,可以实现 S3 的自动挂载。

集群启动时自动挂载存储有什么好处?

自动挂载存储可以确保计算节点故障后训练任务无缝继续,提升任务的连续性。

对于小规模模型训练,推荐使用什么存储方案?

建议使用 S3 进行全量存储。

大规模模型训练时,如何提高写入性能?

推荐使用 FSx for Lustre 分片存储,以提升写入性能。

检查点的写入性能对训练时长有什么影响?

检查点的写入性能对训练时长有重要影响,建议根据模型规模选择合适的存储方案。

如何确保训练任务在节点故障后继续执行?

通过 Lifecycle 脚本实现自动存储挂载,确保计算节点发生故障后训练任务可以无缝继续。

🏷️

标签

➡️

继续阅读