本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SageMaker Smart Sifting 的運作方式
SageMaker Smart Sifting 的目標是在訓練過程中篩選訓練資料,僅向模型提供更具資訊量的範例。在 PyTorch 的典型訓練期間,資料會由 PyTorch DataLoader
下圖是如何設計 SageMaker Smart Sifting 演算法的概觀。
簡而言之,SageMaker Smart Sifting 會在載入資料時於訓練期間運作。SageMaker Smart Sifting 演算法會在批次上計算損失,並在每次反覆計算的向前和向後傳遞之前移除無改善功用的資料。然後,精簡的資料批次就會用於向前和向後傳遞。
注意
SageMaker AI 上的資料 Smart Sifting 會額外向前傳遞,來分析和篩選訓練資料。反之則較少向後傳遞,因為較不具影響的資料會從訓練任務中排除。因此,有長期或高成本向後傳遞的模型在使用 Smart Sifting 時,效率提升的效果最好。同時,如果您模型的向前傳遞需要比向後傳遞花費更多時間,額外負荷可能增加總訓練時間。若要測量每次傳遞所花費的時間,您可以執行試行訓練任務,並收集記錄程序時間的日誌。另外,您也可以考慮使用提供分析工具和使用者介面應用程式的 SageMaker Profiler。如需詳細資訊,請參閱 Amazon SageMaker Profiler。
SageMaker Smart Sifting 適用於具傳統分散式資料平行的 PyTorch 型訓練任務,可在每個 GPU 工作者上建立模型複本,並執行 AllReduce。它適用於 PyTorch DDP 和 SageMaker AI 分散式資料平行程式庫。