一、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。由于目前预训练代码还未开源,用户暂时无法添加新任务做预训练。
划重点!!!
扫码关注百度NLP官方公众号,获取百度NLP技术的第一手资讯!
加入ERNIE官方技术交流群(760439550),百度工程师实时为您答疑解惑!
立即前往GitHub( github.com/PaddlePaddle/ERNIE )为ERNIE点亮Star,马上学习和使用起来吧!
最强预告!
11月23日,艾尼(ERNIE)的巡回沙龙将在上海加场,干货满满的现场,行业A级的导师,还有一群志同道合的小伙伴,还在等什么?感兴趣的开发者们赶紧扫描下方“二维码”或点击“链接”报名参加吧!
报名链接:https://iwenjuan.baidu.com/?code=vc78lp