BERT是Google开发的 NLP 模型。最初的 BERT 模型由 TensorFlow 团队构建,还有一个使用 PyTorch 构建的 BERT 版本。这两种模式的主要区别是什么?
使用 Tensorflow 与 PyTorch 实现 BERT
数据挖掘
张量流
火炬
伯特
2022-02-19 12:58:32
1个回答
BERT 不仅有 2 个,而且有很多实现。大多数基本上是等价的。
您提到的实现是:
- 谷歌的原始代码,在 Tensorflow 中。https://github.com/google-research/bert
- Huggingface 在 Pytorch 和 Tensorflow 中的实现,它重现了与原始实现相同的结果,并使用与原始 BERT 文章相同的检查点。https://github.com/huggingface/transformers
这些是不同方面的差异:
- 就结果而言,使用一个或另一个没有区别,因为它们都使用相同的检查点(相同的权重)并且它们的结果已被检查为相等。
- 在可重用性方面,HuggingFace 库可能更具可重用性,因为它是专门为此设计的。此外,它还让您可以自由选择 TensorFlow 或 Pytorch 作为深度学习框架。
- 在性能方面,它们应该是相同的。
- 在社区支持方面(例如在 github 或 stackoverflow 中提出问题),HuggingFace 库更适合,因为有很多人在使用它。
除了 BERT,transformers
HuggingFace 的库还实现了许多模型:OpenAI GPT-2、RoBERTa、ELECTRA ......