Bert&XLNet&XLM等NLP模型架构如何快速实现?

mac2022-06-30  165

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

项目链接:

https://github.com/huggingface/transformers

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

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

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

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

transformers 2.0,最全的NLP库

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

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

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安装:

pip install transformers

然后把库克隆到本地:

pip install [—editable] .

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

python -m pytest -sv ./transformers/tests/ 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进行快速检测和测试:

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

关于抱抱脸

虽然看上去很萌,但Hugging Face可不是兴趣小团体,而是个正经的AI创业公司。

他们的目标是建设真正的社会人工智能,并在这一过程中不断贡献技术力量。在NLP领域,他们的论文登上过ICLR,NeurIPS ,AAAI等国际顶会。

而他们在transformers这个广受欢迎的项目上付出的持续努力,正是其坚持的体现,而且也已经赢得了广泛的声誉。

最新回复(0)