单 GPU 上的 Transformer 模型微调

Posted

技术标签:

【中文标题】单 GPU 上的 Transformer 模型微调【英文标题】:Transformer model fine-tuning on single GPU 【发布时间】:2021-10-21 06:20:30 【问题描述】:

在 GPU 需求和 GPU 内存使用方面,与从头开始训练一个 Transformer(BERT、GPT-2)相比,微调一个预训练的 Transformer 模型是一个“更容易”的任务吗?

为了进一步澄清,我已经阅读了如何训练大多数 Transformer 模型,其中一个需要多 GPU 训练。但是,是否可以在单 GPU 上微调其中一些模型? 为什么会这样?

是不是因为我们可以用更小的batch,微调的时间不如从头训练?

【问题讨论】:

【参考方案1】:

是的,微调预训练的 Transformer 模型是一种典型的方法。所需的训练时间非常大(每个模型甚至需要数十万小时的体面 GPU 卡),而微调可以在单个 GPU 上完成。原因是微调只需要在预训练模型的输出之上训练几层,以针对给定任务进行定制。因此,微调需要更少的数据和显着更少的训练时间来获得良好的结果。

【讨论】:

以上是关于单 GPU 上的 Transformer 模型微调的主要内容,如果未能解决你的问题,请参考以下文章

论文泛读105Transformer中微调与组合的相互作用

单GPU每秒76帧,重叠对象也能完美分割,多模态Transformer用于视频分割效果惊艳...

单GPU每秒76帧,重叠对象也能完美分割,多模态Transformer用于视频分割效果惊艳...

《自然语言处理实战入门》深度学习 ---- 预训练模型的使用(ALBERT 进行多标签文本分类与使用windows11 在WSL GPU 下的微调 fine tune)

如何估算transformer模型的显存大小

微调 HuggingFace NLI 模型(RoBERTa/BART)时,损失为“nan”