浮点非结合性对HPC与深度学习应用可复现性的影响
分布式、并行与集群计算
2024-10-31 v3 机器学习
摘要
并行程序中由浮点非结合性引起的运行间变异性已知会显著影响迭代算法的可复现性,这是由于误差累积所致。不可复现性可能严重影响随机程序的正确性测试的效率与有效性。近期发现,深度学习训练和推理流水线对浮点非结合性的敏感性有时极为极端。它可能阻碍商业应用的认证、准确评估鲁棒性与敏感性以及缺陷检测。科学计算应用中的新方法将深度学习模型与高性能计算相结合,进一步加剧了调试与测试挑战。在此,我们调查了现代并行编程模型中浮点非结合性的统计特性,并分析了在GPU上用确定性替代方案替换原子操作对性能与生产力的影响。我们在GPU部署深度学习流水线的背景下审视PyTorch中新增的确定性选项,发现并量化了触发运行间变异性的输入参数的影响,并报告了文档的可靠性与完整性。最后,我们评估了利用确定性硬件提供的自动确定性策略,在深度学习流水线的推理部分使用Groq加速器。我们展示了基于硬件的策略在可复现性与正确性工作中可提供的优势。
引用
@article{arxiv.2408.05148,
title = {Impacts of floating-point non-associativity on reproducibility for HPC and deep learning applications},
author = {Sanjif Shanmugavelu and Mathieu Taillefumier and Christopher Culver and Oscar Hernandez and Mark Coletti and Ada Sedova},
journal= {arXiv preprint arXiv:2408.05148},
year = {2024}
}