我正在记录如何使用 AWS 批处理来训练深度学习模型。这个想法是,一旦建立了模型,我想提交几个工作来探索一下超参数空间。
在这篇有趣的博文中,博主创建了一个 P2 实例的执行环境,并用它来训练 MNIST 的卷积神经网络。我现在想知道在我的工作定义中是否可能需要特定数量的 GPU 而不是 vCPU。通过这种方式,我确信我的工作拥有所需的 GPU 数量。如果没有,是否有任何解决方法?
我正在记录如何使用 AWS 批处理来训练深度学习模型。这个想法是,一旦建立了模型,我想提交几个工作来探索一下超参数空间。
在这篇有趣的博文中,博主创建了一个 P2 实例的执行环境,并用它来训练 MNIST 的卷积神经网络。我现在想知道在我的工作定义中是否可能需要特定数量的 GPU 而不是 vCPU。通过这种方式,我确信我的工作拥有所需的 GPU 数量。如果没有,是否有任何解决方法?
我相信你现在已经想通了,但不会受伤,对吧?不,到目前为止,还没有办法指定 GPU 数量。但是,您可以将 vCPU 计数分配给作业定义以指定多少 GPU。
例如,p2.xlarge 实例有 4 个 vCPU。因此,如果您希望为您的作业分配 1 个 GPU,则为该作业定义分配 4 个 vCPU。这样,每个 p2.xlarge 实例将只运行一个作业。这可能对所需的 vCPU 空间有点过分了,但这是目前指定您想要该作业并且该作业仅具有 GPU 的唯一方法。
我和 AWS 的人谈过,他们一直说 GPU 规范可能很快就会出现,但谁知道呢,真的。
自 2019 年 4 月起,AWS Batch 开始支持 GPU 分配/调度。借助这项新功能,您可以指定工作所需的 GPU 数量。Batch 还为您的工作进行 GPU 固定。如果一个实例有多个 GPU,Batch 可以在同一个实例上放置多个作业(每个作业要求 1 个 GPU)并让它们同时运行。这是一个使用批处理 gpu 支持运行 gpu 作业的示例。 https://aws.amazon.com/blogs/compute/gpu-workloads-on-aws-batch/