GitHub万星NLP资源大升级:Pytorch和TF深度互操作,32个最新模型

2019/9/30 12:00:15 资讯频道 127

GitHub上最火的NLP项目,标星13000+,现在迎来重大更新。

刚刚, 抱抱脸(Hugging Face)团队,放出了transformers 2.0版本。

GitHub万星NLP资源大升级:Pytorch和TF深度互操作,32个最新模型

一方面,实现了TensorFlow 2.0和 PyTorch 之间的深度互操作性。

你可以在TPU上训练模型,然后再Pytorch上测试,最后通过TensorFlow部署。

另一方面,也集成了超过32个经过100多种语言预训练的模型。最新的NLP架构,比如BERT、GPT-2、XLNet、RoBERTa、DistilBert、XLM等等通通在内。

更新放出之后,业内人士纷纷送上各种感叹:

This is so cool! Good job!、That’s awesome、Hot damn this is amazing!、Jesus christ.

transformers 2.0,最全的NLP库

更直接一点说,transformers 2.0项目,就是一个NLP领域的SOTA的集合。

SQuAD排行榜上的选手们通通收编在内,一共有8大架构可供调用:

GitHub万星NLP资源大升级:Pytorch和TF深度互操作,32个最新模型

BERT、XLNet这几位重量级选手自不必说。

最新鲜的RoBERTa、GPT-2 774M版本都已更新在列。

还有两个XLM架构,它们在XNLI跨语言分类任务中拥有比多语言BERT更优秀的表现。

此外,还有抱抱脸自家的DistilBERT,这是一个更小、更快、更便宜、更轻量级的BERT蒸馏版。

七月底刚把BERT拉回GLUE榜首的RoBERTa也几乎是在第一时间被整合到了pytorch-transformers库中。

所有这些架构,都已经在SQuAD数据集上进行了测试,均与原始实现的性能相匹配。

在这些架构之下,一共有超过32个经过100多种语言预训练的模型。

使用起来也非常方便,只需一个API,就能调用。

在线Demo,当场试用

NLP界的超强模型们到底有什么高招?抱抱脸也在官网上搭建了Write With Transformer,真·AI帮你在线写论文,在线编故事。

不过,在线服务的模型只有GPT,GPT-2和XLNet。

想要完整使用整个Transformer库,安装也并不困难。

官方提供的repo已经在Python 2.7和3.5+、PyTorch 1.0.0+、TensorFlow 2.0.0-rc1中进行了测试。

在安装了TensorFlow 2.0和/或PyTorch之后,可以通过pip安装:

			
  1. pip install transformers 

然后把库克隆到本地:

			
  1. pip install [—editable] . 

样本测试则可以在pytest上运行:

			
  1. python -m pytest -sv ./transformers/tests/ 
  2.  
  3. python -m pytest -sv ./examples/ 

甚至,你还可以在移动设备上运行这些模型,repo地址:

https://github.com/huggingface/swift-coreml-transformers

从pytorch-transformers到transformers

这一项目,一开始名为pytorch-pretrained-bert,在1.2版本时更名为pytorch-transformers,现在变为transformers。

从名字的变迁中,也能够看出它的功能也越来越强大。在2.0版本中,实现了TensorFlow 2.0和 PyTorch 之间的深度互操作性,这也可能是在名字中去掉“pytorch-”的直接原因。

在GitHub项目中,他们也当场演示了如何用12行代码训练TensorFlow 2.0模型,然后将其放到PyTorch进行快速检测和测试:

GitHub万星NLP资源大升级:Pytorch和TF深度互操作,32个最新模型

当然,这一库还有更多强大的功能等待你发掘,如果你是NLP领域的从业者或者研究者,千万不要错过。