中文

深度孵化:通过分而治之训练大模型

计算机视觉与模式识别 2023-03-17 v2 人工智能 机器学习

摘要

近年来,大型深度学习模型取得了显著成功。然而,由于计算成本高、收敛极慢以及过拟合问题,训练这些模型颇具挑战。本文提出 Deep Incubation,一种新颖的方法,通过将大型模型划分为可分别训练并无缝组装的小型子模块,实现高效且有效的大模型训练。实现该思路的一个关键挑战是确保独立训练的子模块之间的兼容性。为解决此问题,我们首先引入一个全局共享的元模型(meta model),用于隐式地将所有模块联系在一起,且该元模型可设计为计算开销可忽略的极小网络。随后我们提出一种模块孵化算法,训练每个子模块以替换元模型中对应的组件并完成给定学习任务。尽管简单,我们的方法有效促使每个子模块感知其在目标大模型中的角色,从而最终学习到的子模块在组装后能够顺畅协作。实证表明,我们的方法在最终准确率和训练效率上均优于端到端(E2E)训练。例如,在 ViT-Huge 上,其在 ImageNet 上提升 2.7% 准确率,或以少 4 倍训练时间取得相近性能。值得注意的是,在下游任务(如 COCO 和 ADE20K 上的目标检测与图像分割)上增益同样显著。代码见 https://github.com/LeapLabTHU/Deep-Incubation。

关键词

引用

@article{arxiv.2212.04129,
  title  = {Deep Incubation: Training Large Models by Divide-and-Conquering},
  author = {Zanlin Ni and Yulin Wang and Jiangwei Yu and Haojun Jiang and Yue Cao and Gao Huang},
  journal= {arXiv preprint arXiv:2212.04129},
  year   = {2023}
}