Skip to main content
QUICK REVIEW

[论文解读] Check-N-Run: A Checkpointing System for Training Deep Learning Recommendation Models

Assaf Eisenman, Kiran Kumar Matam|arXiv (Cornell University)|Oct 17, 2020
Stochastic Gradient Optimization Techniques参考文献 38被引用 18
一句话总结

Check-N-Run 是 Facebook 用于大规模深度学习推荐模型训练的可扩展检查点系统,通过结合增量检查点和自适应量化技术,在不损失训练准确率的前提下,将写入带宽减少 6–17 倍,存储容量减少 2.5–8 倍。该系统支持频繁、低成本的检查点,对于工业规模训练工作负载中的故障恢复和在线模型更新至关重要。

ABSTRACT

Checkpoints play an important role in training long running machine learning (ML) models. Checkpoints take a snapshot of an ML model and store it in a non-volatile memory so that they can be used to recover from failures to ensure rapid training progress. In addition, they are used for online training to improve inference prediction accuracy with continuous learning. Given the large and ever increasing model sizes, checkpoint frequency is often bottlenecked by the storage write bandwidth and capacity. When checkpoints are maintained on remote storage, as is the case with many industrial settings, they are also bottlenecked by network bandwidth. We present Check-N-Run, a scalable checkpointing system for training large ML models at Facebook. While Check-N-Run is applicable to long running ML jobs, we focus on checkpointing recommendation models which are currently the largest ML models with Terabytes of model size. Check-N-Run uses two primary techniques to address the size and bandwidth challenges. First, it applies incremental checkpointing, which tracks and checkpoints the modified part of the model. Incremental checkpointing is particularly valuable in the context of recommendation models where only a fraction of the model (stored as embedding tables) is updated on each iteration. Second, Check-N-Run leverages quantization techniques to significantly reduce the checkpoint size, without degrading training accuracy. These techniques allow Check-N-Run to reduce the required write bandwidth by 6-17x and the required capacity by 2.5-8x on real-world models at Facebook, and thereby significantly improve checkpoint capabilities while reducing the total cost of ownership.

研究动机与目标

  • 解决在工业训练环境中,对 TB 级推荐模型进行检查点操作所导致的高存储和网络带宽成本问题。
  • 实现在不降低模型准确率的前提下,实现频繁检查点,以加快故障恢复速度并支持实时在线推理更新。
  • 通过最小化写入带宽和持久化存储需求,降低大规模机器学习训练的总体拥有成本。
  • 支持跨多个 GPU 集群、持续数天或数周的大规模推荐模型的可扩展、可靠训练。
  • 提供一个生产就绪的检查点系统,在显著减少资源消耗的同时保持模型准确率。

提出的方法

  • 通过追踪并仅存储嵌入表中被修改的部分,实现增量检查点,因为嵌入表是推荐模型中模型大小的主要来源。
  • 采用自适应量化,根据预期的恢复频率动态选择位宽(例如 8 位、4 位),以最小化检查点大小。
  • 使用间歇性增量策略,仅保留最近一次完整检查点和增量差异,以在恢复效率和存储增长之间取得平衡。
  • 通过流水线化架构将检查点与训练解耦,实现在后台处理检查点而不阻塞训练过程。
  • 集成元数据结构以追踪增量更改和量化参数,确保在恢复期间能够准确重建模型。
  • 利用分布式训练的同步、批量处理特性,在每个训练批次结束时启动一致的检查点。

实验结果

研究问题

  • RQ1在生产环境中,如何降低对 TB 级深度学习推荐模型进行检查点操作的开销?
  • RQ2哪些技术可以在大规模机器学习训练中最小化写入带宽和存储容量,同时保持训练准确率?
  • RQ3自适应量化与增量检查点相结合,是否能在不造成准确率下降的前提下实现显著的带宽和容量节省?
  • RQ4检查点频率和量化位宽的选择如何影响恢复成本与资源消耗之间的权衡?
  • RQ5不同检查点策略(例如完整、增量、连续)对写入带宽和存储增长的长期影响如何?

主要发现

  • 当训练作业预计最多从检查点恢复一次时,Check-N-Run 将平均写入带宽减少高达 17 倍,最大存储容量减少高达 8 倍。
  • 即使在故障率较高的场景下(超过 20 次恢复事件),系统仍能实现平均写入带宽减少 6 倍,峰值存储容量减少 2.5 倍。
  • 间歇性增量检查点策略可随时间稳定检查点大小,并在 12 个时间间隔内相比完整检查点将写入带宽减少 33%。
  • 基于故障频率选择位宽的自适应量化技术,可在保持训练准确率的同时实现显著的存储和带宽节省。
  • 增量检查点与量化技术的结合,通过最小化网络和存储资源需求,显著降低了大规模模型训练的总体拥有成本。
  • 增量索引和量化参数带来的元数据开销与节省效果呈非线性比例关系,表明未来仍有优化空间。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。