我想创建一个关于分布式培训的模块来满足客户的要求。我通过添加几行代码(如下所示)来编辑这个笔记本,以便使用FullyReplicated
和SharedByS3Key
运行培训,其中包含两个用于培训的实例,以展示客户如何使用XGBoost进行分布式培训。
我成功地运行了这三种培训类型--单一的、分布式的:sharedbys3键和分布式:完全复制。但单发训练时间为3分钟,而分散训练时间较长(分别为6和7分钟)。
为什么这种情况下的分布式培训要慢一些?培训数据只有500条记录。小样本数量是否会影响培训规模,而较小的样本大小实际上会使分布式培训速度变慢?如果训练集大得多,它会更快吗?
对于所有的训练类型,我都使用相同的超参数,其他的都是一样的。作业之间的唯一区别是实例计数(1对2),以及两种分布式训练方法的S3DataDistributionType
匹配。
发布于 2022-11-01 20:04:36
我假设有500条记录,你处理的是培训数据中的一个文件。如果您在培训数据中有多个文件,SharedByS3Key就会发光,因为它会将每个文件分配给一个训练实例-- .With这样的小数据集--我认为旋转多个实例和在这些实例之间移动数据的开销是唯一需要时间的事情。
https://stackoverflow.com/questions/74277797
复制相似问题