SlimFit:利用训练动态对基于 Transformer 的模型进行内存高效微调
计算与语言
2023-05-31 v1
摘要
基于 Transformer 的模型,如 BERT 和 ViT,已在不同的自然语言处理(NLP)和计算机视觉(CV)任务上取得最先进结果。然而,这些模型在微调过程中极为耗费内存,难以部署在内存资源有限的 GPU 上。为解决此问题,我们引入名为 SlimFit 的新工具,通过动态分析其训练动态并在微调期间冻结贡献较小的层来降低这些模型的内存需求。待冻结层使用运行时层间调度算法选取。SlimFit 对特定层采用量化和剪枝以平衡动态激活的负载并最小化静态激活的内存占用,其中静态激活指无论是否冻结均无法丢弃的激活。这使得 SlimFit 能够冻结多达 95% 的层,并将 ViT 和 BERT 等基于 Transformer 的模型在不同 NLP 与 CV 基准/数据集(如 GLUE、SQuAD 2.0、CIFAR-10、CIFAR-100 和 ImageNet)上的整体设备端 GPU 内存使用平均降低 2.2 倍,精度平均仅下降 0.2%。对于此类 NLP 与 CV 任务,SlimFit 最多可将总设备端内存使用降低 3.1 倍,精度下降最多仅 0.4%。因此,尽管在 ImageNet 上以批量大小 128 微调 ViT 及在 SQuAD 2.0 上以批量大小 128 微调 BERT 分别需要 3 块和 2 块 32GB GPU,SlimFit 仍能在单块 32GB GPU 上完成其微调而无显著精度下降。
引用
@article{arxiv.2305.18513,
title = {SlimFit: Memory-Efficient Fine-Tuning of Transformer-based Models Using Training Dynamics},
author = {Arash Ardakani and Altan Haan and Shangyin Tan and Doru Thom Popovici and Alvin Cheung and Costin Iancu and Koushik Sen},
journal= {arXiv preprint arXiv:2305.18513},
year = {2023}
}