Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件

昨天,在「WAVE Summit+」2019 深度学习开发者秋季峰会上,百度对外发布基于 ERNIE 的语义理解开发套件,旨在为企业级开发者提供更领先、高效、易用的 ERNIE 应用服务,全面释放 ERNIE 的工业化价值,其中包含 ERNIE 轻量级解决方案,提速 1000 倍!

今年 7 月份,百度发布持续学习语义理解框架 ERNIE 2.0,在共计 16 个中英文任务上超越 BERT、XLNET,取得了 SOTA 的效果。

ERNIE 2.0 发布以来,ERNIE 产业化应用进程不断加速,易用性不断提升,配套产品也不断丰富和完善。目前,ERNIE 2.0 在百度内部及行业内已取得了广泛应用,在多种场景下都取得了明显效果提升。这些场景的成功运用为 ERNIE 产业化应用积累了丰富的经验。

上图为 ERNIE 全景图,预置了包含 ERNIE 通用模型、ERNIE 任务模型、ERNIE 领域模型以及本次发布的 ERNIE Tiny 轻量级模型等系列预训练模型。在此基础上,构建了包含工具和平台的飞桨语义理解开发套件。全面覆盖了训练、调优、部署等开发流程,具备轻量方案、能力全面、极速预测、部署灵活、平台赋能等五大特色。接下来,我们逐一揭秘。

 特色 1:轻量级解决方案,预测速度提升 1000 倍

ERNIE 2.0 拥有强大的语义理解能力,而这些能力需要强大的算力才能充分发挥,这为实际应用带来了非常大的挑战。为此,百度发布轻量级预训练模型 ERNIE Tiny 以及一键式数据蒸馏工具 ERNIE Slim,预测速度提升达到 1000 倍。

ERNIE Tiny 技术原理

ERNIE Tiny 主要通过模型结构压缩和模型蒸馏的方法,将 ERNIE 2.0 Base 模型进行压缩,其特点和优势主要包括以下四个方面:

  • 浅:模型采用 3 层 transformer 结构,线性提速 4 倍;

  • 宽:模型加宽隐层参数,从 ERNIE 2.0 的 768 扩展到 1024,宽度的增加带来效果的提升。依托飞桨的通用矩阵运算优化,『变宽』并不会带来速度线性的下降;

  • 短:为缩短输入文本的序列长度,降低计算复杂度,模型首次采用中文 subword 粒度输入,长度平均缩短 40%;

  • 萃:ERNIE Tiny 在训练中扮演学生角色,利用模型蒸馏的方式在 Transformer 层和 Prediction 层学习教师模型 ERNIE 2.0 模型对应层的分布和输出。

通过以上四个方面的压缩,ERNIE Tiny 模型的效果相对于 ERNIE 2.0 Base 平均只下降了 2.37%,但相对于「SOTA Before BERT」提升了 8.35%,而速度提升了 4.3 倍。

ERNIE Tiny 的预测速度在一些性能要求苛刻的场景中是不够的,这些场景中延迟响应往往要求小于 1ms,为此,套件提供了一键式数据蒸馏 ERNIE Slim 工具。该工具以数据为桥梁,将 ERNIE 的知识迁移至小模型,在效果损失很小的情况下实现预测速度上千倍的提升。 

ERNIE Slim 技术原理

ERNIE Slim 原理同传统深度学习数据蒸馏的方法略有不同。首先需要使用 ERNIE 2.0 模型对输入标注数据对进行 Fine-tune 得到 Teacher Model,然后使用 Teacher Model 对无标注数据进行预测,该步骤中我们可采用添加噪声词、同词性词语替换、N-sampling 三种策略进行数据增强,最后通过 BoW、CNN 等计算复杂度小的模型进行训练。

下表展示了 ERNIE Slim 的效果。从表格中可以看出,相对于 ERNIE 2.0 base 模型,数据蒸馏后的小模型效果损失不大,预测速度提升千倍以上;而相对于简单模型,速度接近的情况下,效果会得到显著提升。

特色 2:一键式高性能全类微调工具

ERNIE Fine-tune 微调工具旨在为给开发者提供一套简单好用的 Fine-tune 框架,目前覆盖 NLP 四大常用任务:单句分类、句对匹配、命名实体识别、阅读理解。工具集支持多机多卡 Fine-tune,同时使用 FP16 Tensor Core 技术在 Tesla V 系列 GPU 上获得 60% 的训练速度提升。

Fine-tune 微调工具包含了一个基于飞桨的训练组织框架 Propeller,可以帮助开发者进行模型管理、参数热启动、自动多卡并行等工作,从而让开发者更专注于网络结构以及输入数据流水线的构建。

特色 3:极速预测 API

ERNIE Fast-inference API 旨在解决产品应用的延迟敏感场景,为企业开发者提供极速预测的 C++ API,便于开发者集成。该工具也充分借助了最新版飞桨的高速预测优势,飞桨 1.6 通过 OP 聚合算法,有效加速了 ERNIE 的预测。

在延迟敏感场景下,对比竞品在 GPU(P4) 设备 21% 的延迟降低,ERNIE Fast-inference API 在 CPU(Intel Xeon Gold 6148 CPU)设备上的延迟降低 60%。

特色 4:向量服务器,支持跨平台灵活部署

为进一步降低开发者使用成本,套件提供预测服务方案——ERNIE Service,来方便获取 ERNIE 模型的向量分布以及预测打分。

ERNIE Service 架构

ERNIE Service 是基于 Python 构建的多 GPU 预测服务,Client 端发送的请求会自动分发至 GPU 上执行 ERNIE Fast-inference API 来获取 ERNIE 向量 及打分。目前 ERNIE Service 支持不同平台、不同设备、不同语言的灵活调用,具备预测性能高等特点,相比竞品 BERT-as-service 在 QPS 上提升 13%。

特色 5:平台赋能

此外,套件还包含了 ERNIE 的平台化使用方案,开发者可通过 EasyDL 专业版一站式完成 NLP 任务的数据标注、处理、ERNIE 微调、优化、部署等全流程的功能,为开发者提供丰富的算法、算力服务,进一步降低 ERNIE 的产业化应用门槛。平台预置了常用的 NLP 文本分类、文本匹配等经典网络,能够快速满足多层次开发者的需求。

综合来看,ERNIE的语义理解开发套件依托百度在预训练模型等自然语言处理技术和飞桨平台领先优势,为人工智能产业化大生产贡献力量,赋能各行各业。

相关链接:

  • ERNIE 工业级开源工具:https://github.com/PaddlePaddle/ERNIE

  • ERNIE 平台化服务:https://ai.baidu.com/easydl/pro

工程百度深度学习语义理解ERNIEWAVE Summit+
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

百度智能云机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://www.baidu.com
推荐文章
暂无评论
暂无评论~