感谢参考原文-http://bjbsair.com/2020-03-27...
在去年11月份,NLP大神Manning联合谷歌作的ELECTRA一经发布,迅速火爆整个NLP圈,其中ELECTRA-small模型参数量仅为 BERT-base模型的1/10,性能却依然能与BERT、RoBERTa等模型相媲美。html
在前不久,谷歌终于开源了ELECTRA,并发布了预训练模型,这对于缺大算力的高校和企业,简直是一大福音。git
然而,其发布的预训练模型只是针对英语,却非如BERT那样是多语言版本。对于其余语言(例如中文)的研究者来讲,则很是遗憾。github
针对这一问题,今天哈工大讯飞联合实验室(HFL)基于ELECTRA开源代码,发布了中文版的 ELECTRA 预训练模型。并发
一、ELECTRA框架
ELECTRA预训练模型的做者是斯坦福SAIL实验室Manning组和谷歌大脑研究团队,初次出现是在2019年北京智源大会上面。做为一种新的文本预训练模型,ELECTRA 新颖的设计思路、更少的计算资源消耗和更少的参数,迅速引发了大批关注者。特别是在去年 11 月 ICLR 2020 论文接收出炉后,曾引发NLP圈内不小的轰动。性能
论文连接:学习
https://openreview.net/forum?...ui
论文中这张图可以说明一切问题:spa
图注:右图是左图放大的结果。.net
如上图所示,ELECTRA模型可以在训练步长更少的前提下获得了比其余预训练模型更好的效果。一样,在模型大小、数据和计算相同的状况下,ELECTRA的性能明显优于基于MLM的方法,如BERT和XLNet。
因此,ELECTRA 与现有的生成式的语言表示学习方法相比,前者具备更高的计算效率和更少的参数(ELECTRA-small的参数量仅为BERT-base的 1/10)。
ELECTRA可以取得如此优异结果,基于其新颖的预训练框架,其中包含两个部分:Generator和Discriminator。
在预训练阶段结束以后,只使用Discriminator做为下游任务精调的基模型。
换句话说,做者们把CV领域的GAN运用到了天然语言处理。
值得注意的是,尽管与GAN的训练目标类似,但仍存在一些关键差别。首先,若是生成器碰巧生成了正确的token,则该token被视为“真实”而不是“伪造”;因此模型可以适度改善下游任务的结果。更重要的是,生成器使用最大似然来训练,而不是经过对抗性训练来欺骗判别器。
二、中文ELECTRA预训练模型
目前已有的开源 ELECTRA 预训练模型只是英文的预训练模型。但世界上还有许多其余语言(例如中文)研究的学者,他们须要与其相应的语言预训练模型。
然而,谷歌官方除了BERT、RoBERTa等预训练模型有多语言版本外,其余例如XLNet、T5都没有相应的多语言版本,只有英文。其中缘由在于相比于只在英语上作预训练,多语言的预训练须要收集相应语料,须要调配不一样语言语料的比例等,比较麻烦。所以大几率上,ELECTRA 也不会出中文版或多语言版的预训练模型。
而另外一方面,做为中文社区,咱们国人本身对如何作中文的预训练则更为了解,咱们本身来作相应的预训练可能会比谷歌官方来作会更好。
由哈工大讯飞联合实验室资深级研究员、研究主管崔一鸣所带领的团队以前曾作过系列相似的开源工做,即基于开源预训练代码,加上中文数据集来训练中文版预训练模型。例如中文版的系列BERT模型、中文版XLNet等,在GitHub上开源后反响不错,在许多中文评测任务中也曾有很多队伍使用他们开源的预训练模型进行改进。
开源地址:https://github.com/ymcui/Chin...
开源地址:https://github.com/ymcui/Chin...
在谷歌开源ELECTRA以后,崔一鸣等人再次推出中文版 ELECTRA。
训练数据集,仍和以前训练BERT系列模型所用数据是一致的,主要来自大规模中文维基及通用文本(中文网页爬取和清洗),总token达到5.4B。词表方面沿用了谷歌原版BERT的WordPiece词表,包含21128个token。
在本次的开源中,崔一鸣等人只发布了ELECTRA-base 和ELECTRA-small 两个模型。据崔一鸣表示,large版本因为参数较多,超参设置比较困难,所以模型发布会相应延后。
已发布的两个版本各自训练了大约7天时间,因为small版本的参数仅为base版本的1/10,在训练中,崔一鸣等人将其batch调为1024(是base的4倍)。具体细节和超参以下(未说起的参数保持默认):
ELECTRA-small 仅 46 M。
在效果上,崔一鸣等人将之与他们以前作的系列中文版预训练模型进行了效果对比。
对比模型包括:ELECTRA-small/base、BERT-base、BERT-wwm、BERT-wwm-ext、RoBERTa-wwm-ext、RBT3。
对比任务有六个:
在下游任务精调中,ELECTRA-small/base模型的学习率设为原论文默认的3e-4和1e-4。值得注意的是,这里的精调并无针对任何任务进行参数精调。为了保证结果的可靠性,对于同一模型,他们使用不一样随机种子训练10遍,汇报模型性能的最大值和平均值(括号内为平均值)。
效果以下:
从以上的结果能够看出,对于ELECTRA-small模型,其效果在多数任务上显著超过3层RoBERTa效果(RBT3),甚至是接近BERT-base的效果,而在参数量上只有BERT-base模型的1/10。对于ELECTRA-base模型来讲,在多数任务上超过了BERT-base甚至是RoBERTa-wwm-ext的效果。
其具体使用,能够查看Github项目:
https://github.com/ymcui/Chin...://bjbsair.com/2020-03-27/tech-info/7050/
在去年11月份,NLP大神Manning联合谷歌作的ELECTRA一经发布,迅速火爆整个NLP圈,其中ELECTRA-small模型参数量仅为 BERT-base模型的1/10,性能却依然能与BERT、RoBERTa等模型相媲美。
在前不久,谷歌终于开源了ELECTRA,并发布了预训练模型,这对于缺大算力的高校和企业,简直是一大福音。
然而,其发布的预训练模型只是针对英语,却非如BERT那样是多语言版本。对于其余语言(例如中文)的研究者来讲,则很是遗憾。
针对这一问题,今天哈工大讯飞联合实验室(HFL)基于ELECTRA开源代码,发布了中文版的 ELECTRA 预训练模型。
一、ELECTRA
ELECTRA预训练模型的做者是斯坦福SAIL实验室Manning组和谷歌大脑研究团队,初次出现是在2019年北京智源大会上面。做为一种新的文本预训练模型,ELECTRA 新颖的设计思路、更少的计算资源消耗和更少的参数,迅速引发了大批关注者。特别是在去年 11 月 ICLR 2020 论文接收出炉后,曾引发NLP圈内不小的轰动。
论文连接:
https://openreview.net/forum?...
论文中这张图可以说明一切问题:
图注:右图是左图放大的结果。
如上图所示,ELECTRA模型可以在训练步长更少的前提下获得了比其余预训练模型更好的效果。一样,在模型大小、数据和计算相同的状况下,ELECTRA的性能明显优于基于MLM的方法,如BERT和XLNet。
因此,ELECTRA 与现有的生成式的语言表示学习方法相比,前者具备更高的计算效率和更少的参数(ELECTRA-small的参数量仅为BERT-base的 1/10)。
ELECTRA可以取得如此优异结果,基于其新颖的预训练框架,其中包含两个部分:Generator和Discriminator。
在预训练阶段结束以后,只使用Discriminator做为下游任务精调的基模型。
换句话说,做者们把CV领域的GAN运用到了天然语言处理。
值得注意的是,尽管与GAN的训练目标类似,但仍存在一些关键差别。首先,若是生成器碰巧生成了正确的token,则该token被视为“真实”而不是“伪造”;因此模型可以适度改善下游任务的结果。更重要的是,生成器使用最大似然来训练,而不是经过对抗性训练来欺骗判别器。
二、中文ELECTRA预训练模型
目前已有的开源 ELECTRA 预训练模型只是英文的预训练模型。但世界上还有许多其余语言(例如中文)研究的学者,他们须要与其相应的语言预训练模型。
然而,谷歌官方除了BERT、RoBERTa等预训练模型有多语言版本外,其余例如XLNet、T5都没有相应的多语言版本,只有英文。其中缘由在于相比于只在英语上作预训练,多语言的预训练须要收集相应语料,须要调配不一样语言语料的比例等,比较麻烦。所以大几率上,ELECTRA 也不会出中文版或多语言版的预训练模型。
而另外一方面,做为中文社区,咱们国人本身对如何作中文的预训练则更为了解,咱们本身来作相应的预训练可能会比谷歌官方来作会更好。
由哈工大讯飞联合实验室资深级研究员、研究主管崔一鸣所带领的团队以前曾作过系列相似的开源工做,即基于开源预训练代码,加上中文数据集来训练中文版预训练模型。例如中文版的系列BERT模型、中文版XLNet等,在GitHub上开源后反响不错,在许多中文评测任务中也曾有很多队伍使用他们开源的预训练模型进行改进。
开源地址:https://github.com/ymcui/Chin...
开源地址:https://github.com/ymcui/Chin...
在谷歌开源ELECTRA以后,崔一鸣等人再次推出中文版 ELECTRA。
训练数据集,仍和以前训练BERT系列模型所用数据是一致的,主要来自大规模中文维基及通用文本(中文网页爬取和清洗),总token达到5.4B。词表方面沿用了谷歌原版BERT的WordPiece词表,包含21128个token。
在本次的开源中,崔一鸣等人只发布了ELECTRA-base 和ELECTRA-small 两个模型。据崔一鸣表示,large版本因为参数较多,超参设置比较困难,所以模型发布会相应延后。
已发布的两个版本各自训练了大约7天时间,因为small版本的参数仅为base版本的1/10,在训练中,崔一鸣等人将其batch调为1024(是base的4倍)。具体细节和超参以下(未说起的参数保持默认):
ELECTRA-small 仅 46 M。
在效果上,崔一鸣等人将之与他们以前作的系列中文版预训练模型进行了效果对比。
对比模型包括:ELECTRA-small/base、BERT-base、BERT-wwm、BERT-wwm-ext、RoBERTa-wwm-ext、RBT3。
对比任务有六个:
在下游任务精调中,ELECTRA-small/base模型的学习率设为原论文默认的3e-4和1e-4。值得注意的是,这里的精调并无针对任何任务进行参数精调。为了保证结果的可靠性,对于同一模型,他们使用不一样随机种子训练10遍,汇报模型性能的最大值和平均值(括号内为平均值)。
效果以下:
从以上的结果能够看出,对于ELECTRA-small模型,其效果在多数任务上显著超过3层RoBERTa效果(RBT3),甚至是接近BERT-base的效果,而在参数量上只有BERT-base模型的1/10。对于ELECTRA-base模型来讲,在多数任务上超过了BERT-base甚至是RoBERTa-wwm-ext的效果。
其具体使用,能够查看Github项目:
https://github.com/ymcui/Chin...://bjbsair.com/2020-03-27/tech-info/7050/
在去年11月份,NLP大神Manning联合谷歌作的ELECTRA一经发布,迅速火爆整个NLP圈,其中ELECTRA-small模型参数量仅为 BERT-base模型的1/10,性能却依然能与BERT、RoBERTa等模型相媲美。
在前不久,谷歌终于开源了ELECTRA,并发布了预训练模型,这对于缺大算力的高校和企业,简直是一大福音。
然而,其发布的预训练模型只是针对英语,却非如BERT那样是多语言版本。对于其余语言(例如中文)的研究者来讲,则很是遗憾。
针对这一问题,今天哈工大讯飞联合实验室(HFL)基于ELECTRA开源代码,发布了中文版的 ELECTRA 预训练模型。
一、ELECTRA
ELECTRA预训练模型的做者是斯坦福SAIL实验室Manning组和谷歌大脑研究团队,初次出现是在2019年北京智源大会上面。做为一种新的文本预训练模型,ELECTRA 新颖的设计思路、更少的计算资源消耗和更少的参数,迅速引发了大批关注者。特别是在去年 11 月 ICLR 2020 论文接收出炉后,曾引发NLP圈内不小的轰动。
论文连接:
https://openreview.net/forum?...
论文中这张图可以说明一切问题:
图注:右图是左图放大的结果。
如上图所示,ELECTRA模型可以在训练步长更少的前提下获得了比其余预训练模型更好的效果。一样,在模型大小、数据和计算相同的状况下,ELECTRA的性能明显优于基于MLM的方法,如BERT和XLNet。
因此,ELECTRA 与现有的生成式的语言表示学习方法相比,前者具备更高的计算效率和更少的参数(ELECTRA-small的参数量仅为BERT-base的 1/10)。
ELECTRA可以取得如此优异结果,基于其新颖的预训练框架,其中包含两个部分:Generator和Discriminator。
在预训练阶段结束以后,只使用Discriminator做为下游任务精调的基模型。
换句话说,做者们把CV领域的GAN运用到了天然语言处理。
值得注意的是,尽管与GAN的训练目标类似,但仍存在一些关键差别。首先,若是生成器碰巧生成了正确的token,则该token被视为“真实”而不是“伪造”;因此模型可以适度改善下游任务的结果。更重要的是,生成器使用最大似然来训练,而不是经过对抗性训练来欺骗判别器。
二、中文ELECTRA预训练模型
目前已有的开源 ELECTRA 预训练模型只是英文的预训练模型。但世界上还有许多其余语言(例如中文)研究的学者,他们须要与其相应的语言预训练模型。
然而,谷歌官方除了BERT、RoBERTa等预训练模型有多语言版本外,其余例如XLNet、T5都没有相应的多语言版本,只有英文。其中缘由在于相比于只在英语上作预训练,多语言的预训练须要收集相应语料,须要调配不一样语言语料的比例等,比较麻烦。所以大几率上,ELECTRA 也不会出中文版或多语言版的预训练模型。
而另外一方面,做为中文社区,咱们国人本身对如何作中文的预训练则更为了解,咱们本身来作相应的预训练可能会比谷歌官方来作会更好。
由哈工大讯飞联合实验室资深级研究员、研究主管崔一鸣所带领的团队以前曾作过系列相似的开源工做,即基于开源预训练代码,加上中文数据集来训练中文版预训练模型。例如中文版的系列BERT模型、中文版XLNet等,在GitHub上开源后反响不错,在许多中文评测任务中也曾有很多队伍使用他们开源的预训练模型进行改进。
开源地址:https://github.com/ymcui/Chin...
开源地址:https://github.com/ymcui/Chin...
在谷歌开源ELECTRA以后,崔一鸣等人再次推出中文版 ELECTRA。
训练数据集,仍和以前训练BERT系列模型所用数据是一致的,主要来自大规模中文维基及通用文本(中文网页爬取和清洗),总token达到5.4B。词表方面沿用了谷歌原版BERT的WordPiece词表,包含21128个token。
在本次的开源中,崔一鸣等人只发布了ELECTRA-base 和ELECTRA-small 两个模型。据崔一鸣表示,large版本因为参数较多,超参设置比较困难,所以模型发布会相应延后。
已发布的两个版本各自训练了大约7天时间,因为small版本的参数仅为base版本的1/10,在训练中,崔一鸣等人将其batch调为1024(是base的4倍)。具体细节和超参以下(未说起的参数保持默认):
ELECTRA-small 仅 46 M。
在效果上,崔一鸣等人将之与他们以前作的系列中文版预训练模型进行了效果对比。
对比模型包括:ELECTRA-small/base、BERT-base、BERT-wwm、BERT-wwm-ext、RoBERTa-wwm-ext、RBT3。
对比任务有六个:
在下游任务精调中,ELECTRA-small/base模型的学习率设为原论文默认的3e-4和1e-4。值得注意的是,这里的精调并无针对任何任务进行参数精调。为了保证结果的可靠性,对于同一模型,他们使用不一样随机种子训练10遍,汇报模型性能的最大值和平均值(括号内为平均值)。
效果以下:
从以上的结果能够看出,对于ELECTRA-small模型,其效果在多数任务上显著超过3层RoBERTa效果(RBT3),甚至是接近BERT-base的效果,而在参数量上只有BERT-base模型的1/10。对于ELECTRA-base模型来讲,在多数任务上超过了BERT-base甚至是RoBERTa-wwm-ext的效果。
其具体使用,能够查看Github项目: