飞桨ERNIE常见问题解答
李马克lee 发布于2019-11-06 浏览:4099 回复:3
0
收藏
最后编辑于2021-03-30

一、ERNIE安装配置类问题

Q1:最适合ERNIE2.0的PaddlePaddle版本是?
A1:PaddlePaddle版本建议升级到1.5.0及以上版本。
 
Q2:ERNIE可以在哪些系统上使用?
A2:优化后各个系统都会支持,目前建议在Linux系统使用。
 

二、ERNIE使用类问题

Q1:ERNIE目前能做哪些任务?
A1:(1)基于ERNIE模型Fine-tune后,直接能做的任务如下:

  • 词性标注任务,请参考:https://aistudio.baidu.com/aistudio/projectDetail/109660
  • 阅读理解任务,请参考:https://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md
  • 分类任务,请参考:ttps://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md
  • 多标签分类,请参考:https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.1.0/demo/multi-label-classification
  • 排序任务;

     (2)需要用户在ERNIE的基础上做开发后能做的任务如下:

  • 文本生成任务,目前需要用户在ERNIE的基础上开发生成任务的Fine-tune代码。同时我们也在研发专门适配生成的通用预训练模型,预期效果更好,后续进展请多多关注。
  • 实体关系抽取任务,目前需要用户在ERNIE的基础上开发信息抽取任务的Fine-tune代码。


Q2:ERNIE实现检索功能了吗?
A2:实现了,使用cls embedding或者顶层所有词的表示做pooling当做sentence encoder的输出。
 
Q3:ERNIE能做信息流推荐吗?
A3:可以,具体来讲,可以基于 ERNIE 抽取Document 和 User 的向量作为对文章和用户的语义建模,然后对 Document 的语义特征离线建立索引库,在线端根据用户的语义表达去索引库中召回语义相关性较高的文章。
 
Q4:ERNIE能用于长文本吗?
A4:可以,当前可以考虑将长句拆分,分别输入ERNIE后再拼接的方式使用ERNIE。不过我们也在研发专门适配长文本的通用预训练模型,后续进展请多多关注。
 
Q5:ERNIE可以用C++或者Java调用吗?
A5:ERNIE预测时,通过C++调用的接口正在优化中。Java暂不支持。
 
Q6:ERNIE有没有在自己的corpus上进行预训练的教程?
A6:2.0的中文预训练代码暂时没有开源,可以参考1.0教程。教程链接:
      https://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md#%E9%A2%84%E8%AE%AD%E7%BB%83-ernie-10。
 
Q7:ERNIE2.0的中文预训练模型发布了吗?
A7:为了让大家更方便、快捷、高效的使用ERNIE,我们正在做易用性更强的ERNIE平台化服务工作,届时会与ERNIE2.0模型同步开放给大家,欢迎大家使用。
 
Q8:ERNIE支持Python3吗?
A8:支持。
 
Q9:ERNIE都支持哪些语言吗?
A9:目前支持中文简体、英文。
 

三、ERNIE工具类问题

Q1:ERNIE能做在线服务吗?性能怎么样?
A1:可以。在线服务的性能问题可以通过模型蒸馏的方案解决,我们 ERNIE Tiny 模型也在研发中,可以大幅度提升在线预测性能,ERNIE Tiny 模型后续会逐步开源,可以多多关注。
在轻量级、模型压缩方面ERNIE将会推出ERNIE Slim技术和ERNIE Tiny模型。其中
ERNIE Slim基于数据蒸馏技术,以大规模无监督语料为桥梁,辅以数据增强和混合策略,利用百倍提速的轻量级DNN模型去蒸馏ERNIE模型,从而达到显著加速的效果,达到工业级上线要求;
ERNIE Tiny基于模型蒸馏技术,在预训练阶段利用浅层ERNIE模型去蒸馏深层ERNIE模型的输出分布,同时引入subword粒度来减少输入句子长度。预计发布的3层ERNIE Tiny模型相对于ERNIE模型在效果有限下降情况下,速度提升4.2倍左右。

 
Q2:ERNIE有提供类似Bert-as-Service的服务吗?
A2:有。近期(预计11月初)将开源。
 

四、ERNIE资料类问题

Q1:ERNIE有详细的使用教程么?
A1:有,请参考:https://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md

 
Q2:ERNIE的论文下载地址?
A2:https://arxiv.org/abs/1907.12412

Q3:ERNIE的GitHub项目地址?
A3:https://github.com/PaddlePaddle/ERNIE
 

五、其它问题

Q1:BERT与ERNIE谁更强?
A1:从效果来看,ERNIE的效果领先于BERT。BERT、XLNet等主流方法都强调通过强力的 Transformer 直接构建语言模型,而 ERNIE 2.0 通过多任务预训练的方法加强模型学到的语言知识。
      ERNIE 2.0 通过增量学习的方式更新,也就是说可以通过自定义的 NLP 任务微调已训练模型,加强预训练效果。
      ERNIE2.0 模型在英语任务上很多都优于 BERT 和XLNet,在 7 个GLUE 任务上取得了最好的结果;中文任务上,ERNIE 2.0 模型在所有9 个中文NLP 任务上全面优于 BERT。

 
Q2:ERNIE效果领先BERT是否得益于更多数据?
A2:否。我们对比了不同模型公布的数据量,BERT: 3.3B (tokens), ERNIE:7.9 B (tokens),
       XLNet: 32.8B (tokens),目前版本的数据规模是XLNet的1/4,同时ERNIE 没有使用人工直接标注的数据,所有数据可以通过无监督或者弱监督的方式大量得到。
 
Q3:ERNIE可以理解为是知识图谱+BERT吗?
A3:不是,ERNIE没有利用图谱信息,而是直接从文本中学习知识。
 
Q4:ERNIE的多任务持续学习是怎么实现的?
A4:ERNIE2.0 的预训练任务是一个逐步增加的过程,先训练 Task1, 然后逐步增加到多个 TaskN,多个 Task 的训练是按照一定的概率分布对 Task 进行采样,比如: 第一个 batch 训练Task1, 第2个batch 训练 Task2 。训练过程中是通过多机多卡训练,有些卡去训练任务1,有些卡训练任务2。由于目前预训练代码还未开源,用户暂时无法添加新任务做预训练。

 

-------------------

划重点!!!

扫码关注百度NLP官方公众号,获取百度NLP技术的第一手资讯!

加入ERNIE官方技术交流群(760439550),百度工程师实时为您答疑解惑!

立即前往GitHub( github.com/PaddlePaddle/ERNIE )为ERNIE点亮Star,马上学习和使用起来吧!

收藏
点赞
0
个赞
共3条回复 最后由理好想回复于2021-03-30
#9理好想回复于2021-03-30

请问ernie在与bert对比时,是和中文bert base比较的吗

0
#3Randcase回复于2020-08-07

不错 很赞

0
#2wangwei8638回复于2019-11-25

能做智能问答任务吗

0
快速回复
TOP
切换版块