9 天前

Hydra:一个面向大规模多模型深度学习的系统

Kabir Nagrecha, Arun Kumar
Hydra:一个面向大规模多模型深度学习的系统
摘要

近年来,通过增加模型深度和规模来提升深度学习(DL)应用准确率已成为一种普遍策略,这在自然语言处理(NLP)研究中尤为显著——大规模的数十亿甚至万亿参数模型取得了广泛成功。尽管在深度学习研究领域及主要科技公司中取得了显著进展,但这类大模型在领域科学家和企业中的更广泛实际应用仍受到诸多资源瓶颈的制约,包括GPU显存限制、高昂的训练成本以及GPU资源的稀缺性,即便在公共云平台上亦是如此。此外,模型选择过程进一步加剧了这些资源挑战:用户通常需要针对特定任务和数据集,比较数十种具有不同超参数或神经网络架构的模型。为此,本文提出Hydra系统,旨在通过一种资源高效的机制,实现即使在普通GPU上也能开箱即用地扩展多大规模模型的深度学习工作负载。Hydra是首个从整体上优化大规模深度学习模型多模型工作负载执行的方案。我们通过将先前的“模型并行”执行策略进行改进,使其能够支持跨内存层次结构的可扩展参数卸载,并进一步将该方法与任务并行作业调度技术相结合,实现混合优化。Hydra将模型参数的可扩展性与执行并行性解耦,从而使深度学习用户能够在单个普通GPU上训练高达60亿参数的模型。同时,该系统充分挖掘了多GPU环境下任务并行带来的加速潜力,实现了接近线性的强可扩展性,使得对这类大模型进行严谨的模型选择变得更具可行性。我们在语言建模任务中对GPT-2进行微调,全面评估了系统的端到端性能。实验结果表明,与当前最先进的工业级框架(如DeepSpeed和GPipe)的最佳配置相比,Hydra在多大规模模型训练场景下可实现50%至100%更高的训练吞吐量。