图像分类模型训练与成本优化
1. 定义训练任务
当数据集准备好后,需要考虑训练任务的配置,具体包括:
- 输入配置:定义数据集的位置和属性。
- 基础设施要求:运行训练任务所需的资源。
- 超参数:配置算法的参数。
1.1 定义输入配置
由于数据集大小为 150GB,管道模式是个不错的选择。曾尝试文件模式训练,即使使用 100Gbit/s 网络接口,从 S3 复制数据集到本地存储也花费了近 25 分钟。图像分类算法不支持分片,因此使用完全复制策略。将数据集拆分为多个文件有以下原因:
- 多个文件可提供更多并行机会,便于编写读取多文件的代码。
- 每个 epoch 开始时可对文件进行洗牌,消除样本顺序带来的潜在偏差。
- 便于处理部分数据集。
1.2 定义基础设施要求
ImageNet 是一个大型复杂的数据集,需要大量训练才能达到良好的准确率。选择使用 ml.p3dn.24xlarge 实例,每个实例有 8 个 NVIDIA V100 GPU,显存 32GB,还有 96 个 Intel Skylake 核心、768GB RAM 和 1.8TB 本地 NVMe 存储,网络速度为 100Gbit/s。共使用 8 个这样的实例,总计 64 个 GPU 和 2TB 显存,每小时训练成本约 350 美元。
1.3 设置超参数
参考文档(https://docs.aws.amazon.com/sagemaker/latest/dg/IC-Hyperparameter.html)设置超参数:
- 使用 50 层的 ResNet 模型,训
超级会员免费看
订阅专栏 解锁全文
8273

被折叠的 条评论
为什么被折叠?



