BERT 开源实现尽管如前所述 BERT 的效果惊人,但预训练所需要的计算力同样惊人,一般的开发者基本就不要想着能复现了。BERT 的作者在 Reddit 上也表示预训练的计算量非常大,Jacob 说:「OpenAI 的 Transformer 有 12 层、768 个隐藏单元,他们使用 8 块 P100 在 8 亿词量的数据集上训练 40 个 Epoch 需要一个月,而 BERT-Large 模型有 24 层、2014 个隐藏单元,它们在有 33 亿词量的数据集上需要训练 40 个 Epoch,因此在 8 块 P100 上可能需要 1 年?16 Cloud TPU 已经是非常大的计算力了。」但是,谷歌团队开源了 BERT 的预训练模型,我们可以将它们用于不同的 NLP 任务。这节省了我们大量计算力,同时还能提升已有模型的效果,因此做 NLP 任务前,你可以先用预训练的 BERT 试试水?BERT 实现地址:https://github.com/google-research/bert其实目前已经有很多开发者将 BERT 预训练模型应用到它们自己的项目中,包括抽取句向量、句子相似性判断或情感分析等,下面两篇文章简单介绍了如何将 BERT 预训练模型迁移到你的项目中:

小数据福音!BERT 在极小数据下带来显著提升的开源实现

两行代码玩转 Google BERT 句向量词向量

来源: 从想法到实干,2018年13项NLP绝美新研究