本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker 智能筛选的工作原理
SageMaker 智能筛选的目标是在训练过程中筛选训练数据,只向模型提供信息量更大的样本。在使用 PyTorch 进行典型训练过程中,PyTorch DataLoader
下图显示了 SageMaker 智能筛选算法的设计概览。
简而言之,SageMaker 智能筛选是在加载数据的训练过程中进行的。SageMaker 智能筛选算法对批次进行损耗计算,并在每次迭代的前向和后向传递之前筛选出非改进数据。然后,改进后的批次数据将用于前向和后向传递。
注意
在 SageMaker AI 上对数据进行智能筛选使用额外的前向传递来分析和筛选训练数据。反过来,由于从训练作业中排除影响力较小的数据,因此后向传递的次数也减少了。因此,使用智能筛选时,后向通过时间长或成本高的模型能获得最大的效率提升。同时,如果您的模型前向传递的时间比后向传递的时间长,开销可能会增加总的训练时间。要测量每次传递所花费的时间,您可以运行试点训练作业并收集记录进程时间的日志。还可以考虑使用 SageMaker Profiler,它提供了剖析工具和用户界面应用程序。要了解更多信息,请参阅Amazon SageMaker 探查器。
SageMaker 的智能筛选功能适用于基于 PyTorch 的训练作业,它具有典型的分布式数据并行性,可在每个 GPU 工作器上生成模型副本并执行 AllReduce。它与 PyTorch DDP 和 SageMaker AI 分布式数据并行库结合使用。