码迷,mamicode.com
首页 > 其他好文 > 详细

百度艾尼(ERNIE)常见问题汇总及解答

时间:2019-11-13 19:16:00      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:tiny   encoder   构建   怎么   数据量   pad   task   沙龙   工程   

一、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
? 分类任务,请参考:https://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。由于目前预训练代码还未开源,用户暂时无法添加新任务做预训练。


划重点!!!

扫×××LP技术的第一手资讯!

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

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

技术图片技术图片

最强预告!

11月23日,艾尼(ERNIE)的巡回沙龙将在上海加场,干货满满的现场,行业A级的导师,还有一群志同道合的小伙伴,还在等什么?感兴趣的开发者们赶紧扫描下方“二维码”或点击“链接”报名参加吧!
技术图片
报名链接:https://iwenjuan.baidu.com/?code=vc78lp

百度艾尼(ERNIE)常见问题汇总及解答

标签:tiny   encoder   构建   怎么   数据量   pad   task   沙龙   工程   

原文地址:https://blog.51cto.com/14596696/2450021

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!