只需一个API,就能调用BERT、XLM等多种语言模型,逆天的GPT-2也一样轻松到碗里来,这样的模型库你是否期待?
现在,真的有人完成了这一惊人工作,推出了堪称最先进的自然语言处理预训练模型库。
六种架构,27个预训练模型,简单易用,鹅妹子嘤。
其名为Pytorch-Transformers 1.0。
登场数小时,获赞1000+,网友忍不住惊叹:这简直就是上帝的工作。
Pytorch-Transformers 1.0
从模型分析到生产加速,对自然语言处理研究人员来说,简直是一库在手,天下我有。
目前这个库中包含PyTorch实现,预训练模型权重,数据集和六个模型的转换工具。
六种NLP模型
库中囊括了现在自然语言处理(NLP)领域最常用的六种模型:
- BERT
- GPT
- GPT-2
- Transformer-XL
- XLNet
- XLM
这些实现已经在GLUE、SQuAD上进行了测试,基本能与原始实现的性能相匹配。
△BERT原始实现性能
△Pytorch-Transformers 1.0中BERT实现性能
27个预训练模型
快速上手
这么强大的工具,上手也很简单。
作者已经在Python 2.7和 3.5+上进行过测试,PyTorch的版本则是 0.4.1到 1.1.0。
首先pip一下:
pip install pytorch-transformers
克隆储存库并运行:
pip install [--editable] .
可以用pytest进行一些测试:
python -m pytest -sv ./pytorch_transformers/tests/ python -m pytest -sv ./examples/
接着,就可以看一下快速入门示例了。
BERT:
首先,使用BertTokenizer从文本字符串中准备一个标记化的输入:
使用BertModel在隐藏状态下编码输入:
用BertForMaskedLM预测masked token:
OpenAI GPT-2
准备输入:
预测下一句:
就像这样,每一个模型都有相应的示例,可以在文档中查看详情。
不懂法律的物理学博士不是好工程师
Pytorch-Transformers 1.0的作者小哥是一位真正的跨界人才。
10岁学编程,大学却入了物理坑。
第一份工作是在劳伦斯伯克利国家实验室的BELLA中心研究激光等离子体相互作用。
被麻省理工录取为博士研究生,最后在索邦大学和ESPCI(巴黎高等物理化工学院)拿到了量子物理学博士学位。
在这之后,他又转行去知识产权律师事务所当起了欧洲专利律师。
现在,他在创业公司Huggingface Inc. 领导一支科学团队,致力于自然语言生成和自然语言理解领域。
真乃神人也。
传送门
教程文档:
https://huggingface.co/pytorch-transformers/quickstart.html#documentation
— 完 —
“