gpt4 book ai didi

amazon-sagemaker - aws sagemaker模型训练中是否有某种持久的本地存储?

转载 作者:行者123 更新时间:2023-12-02 17:12:32 24 4
gpt4 key购买 nike

我用aws sagemaker做了一些实验,从S3下载大型数据集的时间是非常有问题的,特别是当模型仍处于开发阶段,并且你想要相对较快的某种初始反馈时

是否有某种本地存储或其他方式来加快速度?

编辑我指的是批量训练服务,它允许您以 Docker 容器的形式提交作业。

虽然此服务适用于通常运行很长时间的已验证作业(这使得下载时间不那么重要),但仍然需要快速反馈

  1. 没有其他方法可以对您的作业与 sagemaker 基础架构(配置文件、数据文件等)进行“集成”测试

  2. 在尝试模型的不同变体时,能够相对快速地获得初始反馈非常重要

最佳答案

SageMaker 有一些不同的服务,每个服务都针对特定用例进行了优化。如果您谈论的是开发环境,您可能正在使用笔记本服务。该笔记本实例附带本地 EBS (5GB),您可以使用它来将一些数据复制到其中并运行快速开发迭代,而无需每次都从 S3 复制数据。方法是从笔记本单元或从目录列表页面打开的终端运行 wgetaws s3 cp

不过,不建议将太多数据复制到笔记本实例中,因为这会导致您的训练和实验花费太长时间。相反,您应该利用 SageMaker 的第二部分,即培训服务。一旦您对要训练的模型有了很好的了解,基于笔记本实例上小型数据集的快速迭代,您就可以将模型定义指定为在训练实例集群中并行处理较大的数据集。当您发送训练作业时,您还可以定义每个训练实例将使用多少本地存储,但您将从训练的分布式模式中受益最多。

当您想要优化训练作业时,您有几种存储选项。首先,您可以为每个集群实例定义要训练模型的 EBS 卷的大小。您可以在启动训练作业时指定它( https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html ):

...
"ResourceConfig": {
"InstanceCount": number,
"InstanceType": "string",
"VolumeKmsKeyId": "string",
"VolumeSizeInGB": number
},
...

接下来,您需要决定要训练哪种模型。如果您正在训练自己的模型,您就知道这些模型如何获取数据,包括格式、压缩、来源和其他可能影响将数据加载到模型输入中的性能的因素。如果您更喜欢使用 SageMaker 的内置算法,这些算法已针对处理 protobuf RecordIO 格式进行了优化。在这里查看更多信息:https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-training.html

您可以受益的另一个方面(或者如果您想以更具可扩展性和优化的方式实现您自己的模型,请学习)是 TrainingInputMode ( https://docs.aws.amazon.com/sagemaker/latest/dg/API_AlgorithmSpecification.html#SageMaker-Type-AlgorithmSpecification-TrainingInputMode ):

Type: String

Valid Values: Pipe | File

Required: Yes

您可以使用文件模式从S3读取数据文件。但是,您也可以使用Pipe模式,它提供了许多选项来以流模式处理数据。这不仅仅意味着使用 AWS Kinesis 或 Kafka 等流服务的实时数据,而且您还可以从 S3 读取数据并将其流式传输到模型,并完全避免在训练时将数据存储在本地的需要实例。

关于amazon-sagemaker - aws sagemaker模型训练中是否有某种持久的本地存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48319893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com