GitHub上最火的NLP项目,标星13000+,现在迎来重大更新。
刚刚, 抱抱脸(Hugging Face)团队,放出了transformers 2.0版本。
一方面,实现了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大架构可供调用:
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领域的从业者或者研究者,千万不要错过。
项目链接:
https://github.com/huggingface/transformers
关于抱抱脸
虽然看上去很萌,但Hugging Face可不是兴趣小团体,而是个正经的AI创业公司。
他们的目标是建设真正的社会人工智能,并在这一过程中不断贡献技术力量。在NLP领域,他们的论文登上过ICLR,NeurIPS ,AAAI等国际顶会。
而他们在transformers这个广受欢迎的项目上付出的持续努力,正是其坚持的体现,而且也已经赢得了广泛的声誉。
在看到transformers 2.0项目更新的时候,就有网友评论称:
每次我听到 Huggingface,就好像看到“悟空”(龙珠)从训练营回来后的行动一样。每个人都对他们的进步感到敬畏和难以置信。
— 完 —
“