Check-N-Run:一种用于训练深度学习推荐模型的检查点系统
信息检索
2021-05-05 v2 机器学习
摘要
检查点在训练长时间运行的机器学习(ML)模型中起着重要作用。检查点对 ML 模型进行快照并将其存储于非易失性存储器中,以便用于从故障中恢复,确保训练快速推进。此外,它们还用于在线训练,通过持续学习来提高推理预测精度。鉴于模型规模庞大且不断增长,检查点频率常常受限于存储写入带宽与容量。当检查点维护在远程存储上时(许多工业环境正是如此),它们还会受限于网络带宽。我们提出 Check-N-Run,一种在 Facebook 用于训练大型 ML 模型的可扩展检查点系统。尽管 Check-N-Run 适用于长时间运行的 ML 任务,我们聚焦于检查点推荐模型,其目前是模型规模达 TB 级的最大 ML 模型。Check-N-Run 采用两种主要技术来应对规模与带宽挑战。首先,它采用增量检查点,跟踪并检查点模型中修改的部分。增量检查点在推荐模型场景下尤为有价值,因为每次迭代仅更新模型的一小部分(以嵌入表形式存储)。其次,Check-N-Run 利用量化技术显著减小检查点大小,且不降低训练精度。这些技术使 Check-N-Run 在 Facebook 的真实世界模型上将所需写入带宽降低 6–17 倍、所需容量降低 2.5–8 倍,从而显著提升检查点能力并降低总拥有成本。
引用
@article{arxiv.2010.08679,
title = {Check-N-Run: A Checkpointing System for Training Deep Learning Recommendation Models},
author = {Assaf Eisenman and Kiran Kumar Matam and Steven Ingram and Dheevatsa Mudigere and Raghuraman Krishnamoorthi and Krishnakumar Nair and Misha Smelyanskiy and Murali Annavaram},
journal= {arXiv preprint arXiv:2010.08679},
year = {2021}
}