最强NLP模型BERT喜迎PyTorch版!谷歌官方推荐,也会支持中文
郭一璞 夏乙 发自 凹非寺
量子位 报道 | 公众号 QbitAI
谷歌的最强NLP模型BERT发布以来,一直非常受关注,上周开源的官方TensorFlow实现在GitHub上已经收获了近6000星。
TensorFlow爱好者们已经可以开心的玩耍,PyTorch用户还在焦虑吗?
不要担心,就在这两天,一个名叫“抱抱脸(HuggingFace?)”的团队在PyTorch上实现了BERT,开源不久,Google在官方BERT实现的说明开头热情推荐,已经在GitHub上攒了将近700星。
这个PyTorch版本是Google官方TensorFlow开源模型的“重实现”,可以加载任何预训练TensorFlow BERT检查点,当然也包括那些Google官方预训练模型。同时,他们还提供转换脚本。
重要的是,官方多语言和中文版模型已经放出,PyTorch版的作者们也会在本周添加中文版模型哦~
三个PyTorch模型
在这个库里,作者们准备了三个PyTorch模型:
BertModel
原味BERT,是一个基本的BERT Transformer模型,带有一层求和的token、位置和序列嵌入,还有一系列相同的自注意块(12个用于BERT-base,24个用于BERT-large)。
其中,输入和输出与TensorFlow模型的输入和输出相同。
BertForSequenceClassification
带序列分类器的BERT模型,其中包含BertModel本身和序列级(序列或序列对)分类器。
序列级分类器是一个线性层,它将输入序列中第一个字符的最后隐藏状态作为输入。
BertForQuestionAnswering
带token分类器的BERT模型,包含BertModel和最终隐藏状态完整序列上的token级分类器。
这个模型可以用来搞定SQuAD等问答任务。
token级分类器将最终隐藏状态的完整序列作为输入,并为每个token计算几个分数,例如,分别可以是给定令牌是否属于start_span和end_span令牌的分数。
TensorFlow模型转换脚本
前边也提到过,这份开源代码中还包含一个脚本,能将任何预训练BERT TensorFlow检查点转换成PyTorch保存文件,特别是Google官方发布的那几个预训练模型。
就是根目录下的这个脚本文件:
convert_tf_checkpoint_to_pytorch.py
使用这个脚本需要注意两点。
一是想要得到一个PyTorch模型的话,运行一次就够了,接下来只需要忽略TensorFlow检查点文件,保留配置文件和词表文件;
二是虽说最终用的都是PyTorch模型,但TensorFlow也得安装。
作者简介
推出PyTorch版BERT代码的“抱抱脸”团队,在NLP领域贡献了不少(基于PyTorch的)开源代码和走心教程。
比如,他们会教你给NLP任务加速100倍:
https://medium.com/huggingface/100-times-faster-natural-language-processing-in-python-ee32033bdced
用PyTorch实现了从语言中识别情绪情感反讽的DeepMoji模型:
https://github.com/huggingface/torchMoji
还用PyTorch实现了OpenAI优化过的Transformer模型:
https://github.com/huggingface/pytorch-openai-transformer-lm
“抱抱脸”团队的科学主管Thomas Wolf,他同时也是PyTorch版BERT的主要贡献者。
不要以为抱抱脸是个学生科研社团,他们是个正经创业公司,主业是开发一个支持文本、照片、表情包的聊天机器人,他们称为Social AI。
传送门
想用PyTorch实现,去这里:
https://github.com/huggingface/pytorch-pretrained-BERT
最后在啰嗦一句,BERT官方TensorFlow实现最近新增了多语言版和中文版模型,对中文世界真的很友好了:
https://github.com/google-research/bert
? Enjoy~
— 完 —
年度评选申请
加入社群
量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)
活动策划招聘
量子位正在招聘活动策划,将负责不同领域维度的线上线下相关活动策划、执行。欢迎聪明靠谱的小伙伴加入,并希望你能有一些活动策划或运营的相关经验。相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
最强NLP模型BERT喜迎PyTorch版!谷歌官方推荐,也会支持中文相关推荐
- 谷歌最强NLP模型BERT官方代码来了!GitHub一天3000星
新智元报道 来源:GitHub 作者:Google Research 编辑:肖琴 [新智元导读]谷歌AI团队终于开源了最强NLP模型BERT的代码和预训练模型.从论文发布以来,BERT在NLP业内引起 ...
- 谷歌最强 NLP 模型 BERT 解读
谷歌最强 NLP 模型 BERT 解读 https://mp.weixin.qq.com/s/N7Qp_Fx0rAFbvrpLSETi8w 本文是追一科技潘晟锋基于谷歌论文为 AI 科技评论提供的解读 ...
- 注意力机制可视化_最强NLP模型BERT可视化学习
摘要: 最强NLP模型谷歌BERT狂破11项纪录,全面超越人类,本文通过可视化带你直观了解它. 2018年是自然语言处理(Natural Language Processing, NLP)领域的转折点 ...
- 最强NLP模型BERT可视化学习
2018年是自然语言处理(Natural Language Processing, NLP)领域的转折点,一系列深度学习模型在智能问答及情感分类等NLP任务中均取得了最先进的成果.近期,谷歌提出了BE ...
- bert中的sep_最强NLP模型BERT可视化学习
2018年是自然语言处理(Natural Language Processing, NLP)领域的转折点,一系列深度学习模型在智能问答及情感分类等NLP任务中均取得了最先进的成果.近期,谷歌提出了BE ...
- 详解谷歌最强NLP模型BERT(理论+实战)
作者:李理,环信人工智能研发中心vp,十多年自然语言处理和人工智能研发经验.主持研发过多款智能硬件的问答和对话系统,负责环信中文语义分析开放平台和环信智能机器人的设计与研发. 本文是作者正在编写的&l ...
- 谷歌最强NLP模型BERT如约开源,12小时GitHub标星破1500,即将支持中文
夏乙 晓查 乾明 问耕 发自 凹非寺 量子位 报道 | 公众号 QbitAI BERT终于来了!今天,谷歌研究团队终于在GitHub上发布了万众期待的BERT. 代码放出不到一天,就已经在GitHub ...
- 谷歌更强 NLP 模型 XLNet 开源:20 项任务全面碾压 BERT!
谷歌更强 NLP 模型 XLNet 开源:20 项任务全面碾压 BERT! 11 月份,谷歌研究团队在 GitHub 上发布了万众期待的 BERT,它不仅在 11 项 NLP 测试中刷新了最高成绩,甚 ...
- 如何基于谷歌的最强 NLP 模型进行影评分析?
谷歌此前发布的NLP模型BERT,在知乎.Reddit上都引起了轰动.其模型效果极好,BERT论文的作者在论文里做的几个实验数据集都被轰平了.要做那几个数据集的人可以洗洗睡啦,直接被明明白白地安排了一 ...
最新文章
- linux特殊系统变量,linux环境几个特殊的shell变量
- cacti命令行添加监控详解
- 网络编程 socket模块 tcp协议 udp协议
- 面试官问:上亿数据量下,Kafka是如何优化JVM GC问题的?
- 十五、稀疏矩阵的乘法运算
- 学习Linux tar 命令:最简单也最困难
- 【Sublime】Mac下Sublime代码自动换行
- 使用XAML和SharpMap渲染一幅地图
- 无线通信设备安装工程概预算编制_安装造价工程 电气安装预算编制
- 谷歌离线地图开发教程
- 2017年日本光伏市场展望
- 网络安全—社会工程学
- php支付宝封装类,android封装支付宝支付
- 编译jitsi-meet安卓遇到的问题
- 中国最大的IDC世纪互联是如何成为云计算时代的看客的
- 快速批量下载 B 站视频
- rails consol reload!
- 焊缝标注vlx实用程序_机械制图焊缝标注方法!太全了,收藏了
- [SCOI2014]方伯伯的玉米田
- 基于linux的oracle_rac实时应用集群研究,基于Linux的OracleRAC实时应用集群研究毕业设计论文(资料4)...
热门文章
- 影响 5000 万开发者,GitHub 与 CSDN 掌舵人对话技术社区未来
- 比特币价格会达到10万美元?有人用蒙特卡罗方法预测了一下
- linux motion 分辨率,gtf 来调整Linux系统中分辩率问题分享
- mysql in 文本_MySQL_mysql 的load data infile,LOAD DATA INFILE语句从一个文本文 - phpStudy...
- c语言状态机实现坐标切换,C语言状态机最优模式(转)
- c语言编程阿拉伯数字转中文,阿拉伯数字转中文大(小)写的函数
- java count rows_Java统计个人编写的Java文件个数及代码行数
- docker容易内部怎么编辑_在Docker的工作流中常见问题及最终方案
- Python升级pip并安装opencv、moviepy包
- Windows 取消 Lock Screen 显示