SageMaker 智能筛选的工作原理 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SageMaker 智能筛选的工作原理

SageMaker 智能筛选的目标是在训练过程中筛选您的训练数据,并且只向模型提供信息更丰富的样本。在使用进行典型训练期间 PyTorch,数据会以迭代方式分批发送到训练循环和加速器设备(例如GPUs或 Trainium 芯片)。PyTorchDataLoader SageMaker 智能筛选是在此数据加载阶段实现的,因此独立于训练管道中的任何上游数据预处理。 SageMaker 智能筛选使用您的模型及其用户指定的损失函数,在加载每个数据样本时对其进行评估性前向传递。返回低损失值的样本对模型学习的影响较小,因此被排除在训练之外,因为模型已经很容易对它们做出高置信度的正确预测。同时,模型仍需要学习那些损耗相对较高的样本,因此保留这些样本用于训练。您可以为 SageMaker 智能筛选设置的关键输入是要排除的数据比例。例如,通过将比例设置为 25%,则将分布在损失分布的最低四分位数(取自用户指定的先前样本数量)中的样本排除在训练之外。高损耗样本在精细的数据批次中累积。细化后的数据批次被发送到训练循环(向前和向后传递),模型在精炼的数据批次上进行学习和训练。

下图概述了 SageMaker 智能筛选算法是如何设计的。

加载数据时 SageMaker 智能筛选在训练期间如何运行的架构图。

简而言之, SageMaker 智能筛选在训练期间会随着数据加载而运行。 SageMaker 智能筛选算法对批次进行损失计算,并在每次迭代向前和向后传递之前筛选出未改善的数据。然后,使用经过细化的数据批处理进行向前和向后传递。

注意

对数据进行智能筛选 SageMaker 使用额外的正向传球来分析和筛选您的训练数据。反过来,由于从训练作业中排除影响力较小的数据,因此向后传球的次数也减少了。因此,使用智能筛选时,具有长距离或昂贵的向后传球的模型可以获得最大的效率提升。同时,如果模型的前向传球比向后传球花费更长的时间,则开销可能会增加总训练时间。要衡量每次通过所花费的时间,您可以运行飞行员训练作业并收集记录流程时间的日志。还可以考虑使用提供性能分析工具和用户界面应用程序的 P SageMaker rofiler。要了解更多信息,请参阅 Amazon P SageMaker rofiler

SageMaker smart sif PyTorch ting 适用于具有经典分布式数据并行性的基于训练作业,它可以在每个 GPU worker 上生成模型副本并执行。AllReduce它可以与 PyTorch DDP SageMaker 分布式数据并行库配合使用。