引言
自从Bert被提出来后,后续的研究者大多基于bert进行改造,提升预训练语言模型性能,从而提高下游任务的性能。比如ERINE、BERT_WWM、MASS、MT-DNN、RoBERT等等。从GLUE榜上我们可以看到,似乎现在的语言模型有越来越大的趋势,虽然我们的训练资源也是从GPU单卡到GPU多卡,到现在TPU,但不是每个公司都这么有钱,特别对个人,有可能就是一块卡,怎么样在资源有限的情况下,玩起来这些高大上的模型了?我们知道bert的base版本12层,参数量接近110M,这样大的模型在线上部署的时候效果是怎么样的?下表是在linux环境下基于GTX 1080运行结果。
| 环境 | 序列长度 | 请求次数 | 总时间(s) | 平均耗时(ms) |
|---|---|---|---|---|
| GPU+checkpoint | 128 | 10000 | 135.6 | 13.56 |
| GPU+checkpoint | 12 | 1000 | 10.3 | 10.3 |
| CPU+checkpoint | 128 | 1000 | 212 | 212 |
| CPU+checkpoint | 12 | 1000 | 83 | 83 |
| CPU+tfserving | 128 | 1000 | <

ALBERT是Google在2019年提出的一种轻量级BERT变体,旨在减少模型参数量,提高训练和推断效率。论文通过词向量分解和层间参数共享等方法降低模型复杂度,并引入SOP预训练任务增强句子连贯性学习。实验表明,ALBERT在保持甚至超越BERT性能的同时,参数量显著减少。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



