Contents ...
udn網路城邦
字节跳动开源 CowClip :推荐模型单卡训练最高加速72倍
2022/04/27 10:26
瀏覽50
迴響0
推薦0
引用0

不够快!还不够快?

在 NLP 和 CV 任务上,为了加速神经网络的训练,借助 32K 的批量大小(batch size)和 8 块 GPU,只需 14 分钟就完成 ImageNet 的训练,76 分钟完成 Bert 的训练。研究人员对训练速度的渴望从来没有停止过。

那,只用 1 块 GPU 够不够?在推荐系统上,不仅可以,还能将批量大小继续提升!

最近,字节跳动AML(应用机器学习团队)和新加坡国立大学的研究人员提出了一个新的优化方法 CowClip,在公开点击率预测数据集 Criteo 上最高支持 128K 批量大小,在单张 GPU 上训练 DeepFM,可以将 12 小时的训练时间压缩到 10 分钟,性能不降反升!

为了支持如此大批量大小的训练,保持模型的训练精度,文中提出了一套全新的优化训练方法:通过参数转换公式确定大批量大小下的参数,对 embedding 层进行自适应梯度裁剪。

用了 CowClip 优化方法的不同推荐模型(文中测试了 DeepFM 等四个模型),在两个公开数据集上进行了理论和实验验证,证实了该方法的合理性和有效性。

作者表示,使用该优化方法,任何人都可以很容易的分分钟训练一个中小规模的推荐模型。

CowClip 加速的理论基础

用户交互会成为推荐系统新的训练数据,模型在一次次的重新训练中都学到最新的知识。目前的推荐系统面对着数以亿计的用户和数以千亿计的训练数据,一次完整的训练要花费大量的时间和计算成本。

为了加速推荐系统的训练,目前推荐系统会利用 GPU 进行加速训练。然而,随着 GPU 计算能力和显存的不断增加,过去推荐系统的训练过程没有完全利用好目前 GPU 的性能。举例而言,在 Criteo 数据集上,当批量大小(batch size)从 1K 提升到 8K 后,用一块 V100 进行训练每次迭代所需的时间只有少量增加。这说明在目前的高性能 GPU 上,以往使用的小批量大小不足以充分利用 GPU 的并行能力。


限會員,要發表迴響,請先登入