详细内容或原文请订阅后点击阅览
将数据加载最佳实践应用于 Amazon S3 客户端的 ML 训练
在这篇文章中,我们介绍了用于优化直接从 Amazon S3 通用存储桶读取数据的 ML 训练工作负载吞吐量的实用技术和建议。
来源:亚马逊云科技 _机器学习Amazon Simple Storage Service (Amazon S3) 是一项高度弹性的服务,可根据应用程序需求自动扩展,提供现代 ML 工作负载所需的高吞吐量性能。高性能客户端连接器(例如适用于 PyTorch 的 Amazon S3 连接器和适用于 Amazon S3 的 Mountpoint)在训练管道中提供本机 S3 集成,而无需直接处理 S3 REST API。
在这篇文章中,我们介绍了用于优化直接从 Amazon S3 通用存储桶读取数据的 ML 训练工作负载吞吐量的实用技术和建议。也就是说,这里讨论的许多数据加载优化技术广泛适用于不同的存储结构。
为了验证这些建议,我们对代表性计算机视觉 (CV) 训练工作负载进行了基准测试,具体来说,是具有数万个小 JPEG 文件的图像分类任务。我们评估了来自 S3 存储桶的多种数据访问模式,并比较了不同 S3 客户端的性能,包括适用于 PyTorch 的 Amazon S3 Connector 和适用于 Amazon S3 的 Mountpoint。
我们的研究结果表明,将数据集合并到适当大小的数据分片(通常在 100 MB 到 1 GB 的范围内),并结合顺序访问模式,可以显着提高吞吐量。缓存频繁访问的训练数据进一步提高了多时期训练场景的效率。最后,在评估的 S3 客户端中,Amazon S3 Connector for PyTorch 始终实现最高吞吐量,优于其他常用的 S3 数据访问方法。
