我正在尝试使用AWS SageMaker笔记本来训练模型,并且对模型的训练速度非常慢感到失望。我认为我的瓶颈在于我的SageMaker笔记本访问数据集的持久性存储(EFS和EBS)的IOPS速度。
首先,我尝试在SageMaker Studio ml.g4dn上进行培训。xlarge实例,然后将所有内容转移到SageMaker笔记本ml.g4dn。通过木星的一个大实例。尽管g4dn。超大实例带有物理连线的125GB SSD,我无法访问它,因为SageMaker Studio会自动创建EFS存储,而SageMaker笔记本实例会自动创建EBS存储。如何将数据集存储在125GB SSD上而不是EFS或EBS上以加快IOPS?
很明显,存在针对大量数据优化内存的实例。在您的情况下,如果数据集作为模型的输入恰好具有这个大小(因此没有上游预处理来减轻这个数据量),您必须知道g4dn是EBS优化的.
我能想到的最明显的答案是使用S3桶
来自" Amazon EC2和Amazon s3之间的最大传输速度":
Amazon EC2和Amazon S3之间的流量可以利用高达100gbps分配给同一区域内VPC端点和公网ip的带宽。
除了非常快速和高性能之外,它也是设计方面的最佳解决方案在AWS上查看项目的所有组件。显然,它需要不同的成本和不同的体系结构,但您将享受AWS服务集可以为您提供的最大速度(并且可能需要特殊配置以获得更好的性能)。
我的建议是遵循AWS指南用于从头开始开发复杂项目:构建、训练和部署机器学习模型。