科技改变生活 · 科技引领未来

  • 首页
  • 资讯
  • 技术
  • 百科
  • 问答
  • 学习
  • 看看
  • 站长
  • 生活
  • 快讯

首页 > 资讯 > 快讯

谷歌 BERT 在环信 NLP 中的应用

时间:2019-07-29 01:40 作者:陈阳

Google 的 BERT 模型一经发布便点燃了 NLP 各界的欢腾,Google Brain 的资深研究科学家 Thang Luong 曾给出其“开启了 NLP 新时代”的高度定义,国内外许多公司及开发者对其进行了研究及应用,本文作者及其团队对 BERT 进行了应用探索。

随着 Google 推出的 BERT 模型在多种 NLP 任务上取得 SOTA,NLP 技术真正进入了大规模应用阶段,环信一直致力于帮助企业应用先进的AI技术提高生产效率,对于 BERT 的探索我们一直走在了行业前列。

训练模型

训练数据

训练其他模型时我们已经标注了大量的训练数据,主要把相似句对分为三类来标注:

不相似(0)、相关(0.5)、相似(1)

所以,训练 BERT 模型时就可以“拿来主义”了。

模型修改

我们的主要应用点是相似度计算,期望模型返回的结果是一个概率(分值)而不是每个类别的概率。当然如果模型给的结果是每一个类别的概率,依然可以通过加权求和输出一个分值,但这样是不是又复杂了。

所以我们在官方代码上做了点小的修改(将最后的 softmax 改为了 sigmoid)使得模型输出是一个分值,这个分值也就是我们要的相似度了。

模型训练

我们使用之前标注的数据集在 GeForce GTX 1070 上训练(Fine-Tune),大概训练了 8 个小时左右。

模型导出

模型训练完会产生几个 Checkpoint,这些 Checkpoint 是不能直接在工程中使用的,需要导出成 PB 文件,可以使用 Estimator 的 export_savedmodel 方法导出。

模型使用

通过调研,主要有两种方式:

Java JNI:基于我们的 GPU 编译[1]一个合适的 libtensorflow 和libtensorflow_jni_gpu(如果你的配置和官方一致就不需要自己编译 了,自己编译太多坑,这里有一份经过验证的编译环境配置[2])打成 jar 包并加入到工程依赖,使用 TensorFlow 提供的 Java API 加载 BERT 模型,在你的 Java 工程中使用[3]。

Docker + Nvidia-docker + Tensorflow Serving:需要一个合适的 Tensorlfow Serving 的 image,这里有一份官方做好的 image 列表[4],当然你也可以自己做一个。

这两种方式各有优缺点,我们主要考虑以下几个方面:

性能:我们对两种方案做了实验,Tensorflow Serving 是 C++ 写成的服务,对于 batch 做过优化[6],性能优于 Java JNI。

多模型支持能力:方案 2 是支持多模型的,也就是多个模型共用一个 GPU,方案 1 不支持。

简单好部署:两种方案都不复杂。

与现有服务开发和运维体系兼容性:方案 1 更有优势。

另外,方案 2 不仅支持多模型还支持多版本、模型的冷启动和热加载。综合考虑下,我们使用了方案 2 进行模型部署。

效果对比

我们用一些典型客户的数据构建了测试环境,抽取这些客户的真实访客数据,对现有模型和 BERT 模型做了对比实验,BERT 模型的效果相比于对照模型提高了超过 10%。

调用图

这是我们的调用时序图:

FAQ 服务->相似度计算服务:句子 1 和 句子 2 相似度是多少 ?

相似度计算服务->TensorflowServing: 句子 1 和 句子 2 相似度是多少 ?

Note right of TensorflowServing: bert 模型预测

TensorflowServing->相似度计算服务: 句子 1 和 句子 2 相似度是 xx

相似度计算服务->FAQ 服务: 句子 1 和 句子 2 相似度是 xx

这里抽象出一个相似度计算服务,是因为我们集成了多种相似度计算方法。

优化

后处理

这种模型的一个主要问题是:模型并不能完美解决所有问题,时不时总会有 bad case 出现。一旦模型上线,如果有问题我们无法及时解决(训练模型和上线都会消耗大量时间)。为此我们增加了后处理,以便于我们的训练师能够及时干预,解决问题。

预训练

BERT 预训练的模型使用的数据来源于维基百科,与我们的主要应用场景不一致。我们可以猜想如果在 BERT 原有 Pre-Training 模型的基础上,使用客服里的数据再次进行 Pre-Training 应该会更好,事实上我们也的确这样做了。结论是影响不大,可能是数据不够多,新的训练实验还在进行中。

数据标注

GPT 2.0 的出现再次证明了要想得到好的模型,不仅要有数据量,还要提高数据的品质。我们新的标注也在进行中,相信会对模型效果有所提高。

其他应用

我们在产品中还提供了意图识别的服务,意图识别服务要求必须能够在线训练。如果直接使用 BERT 来做意图识别,很难满足在线训练的要求(BERT 训练太慢了)。为此我们使用了简单的模型来支持在线训练,并把 Fine-tune 模型的倒数第二层作为特征,增强意图识别的效果。

BERT 的近邻

最近 Google 又携 XLnet 屠榜了,从实验效果看对比 BERT 确实有比较大的提升,我们也在关注中,实验的小手已经蠢蠢欲动了。如果在我们的场景实验效果好的话,相信我们环信的客户很快便会体验到。

[1]: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/README.md

[2]: https://www.tensorflow.org/install/source#tested_build_configurations

[3]: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/README.md

[4]: https://hub.docker.com/r/tensorflow/serving/tags

[5]: https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/building_with_docker.md

[6]: https://github.com/tensorflow/serving/tree/master/tensorflow_serving/batching

[7]: https://www.tensorflow.org/tfx/serving/serving_config

[8]: https://arxiv.org/abs/1906.08237

作者简介:董文涛,环信人工智能研发中心算法工程师,负责环信中文语义分析开放平台和环信智能机器人的设计与研发。

相关话题

  • 社区电商帮助老人跨越数字“鸿沟”,让他们的生活更便捷
  • 我国最大综合科考实习船“中山大学”号试航成功
  • 我国首个自营1500米深水大气田“深海一号”正式投产
  • 科技化监管方式加快餐饮行业高质量发展
  • 利用大数据应用到政务业务办理,极大地提高服务效率,为群众带来更多便利!
  • 高科技助力神舟飞船与空间站交会对接,为我国科研和太空生活探索赋能
  • 纳米晶体薄膜可让人们轻松拥有夜市能力,为更多工作提供优势!
  • 厉害了!我国多颗“天链”中继卫星联合保障天地通话清晰流畅
  • 首列中国标准地铁列车下线,中国标准”覆盖率达85%以上
  • 激光电视今年获将开启新的全球化征程
  • 最新太阳能电池产电量显著提升
  • 新型查酒驾利器“耳套”,会有效提升检测效率,将酒驾遏制在萌芽之中
  • 无人驾驶将开展山区道路测试,拉动旅游经济发展
  • 为卫星数据接收天线戴顶“帽子”,确保天线设备更安全、可靠运行!
  • 真给力!科学家突破重重困难,我国首个地球系统模拟大科学装置启用
  • 除了延迟退休,社保还将有更多重要的变化~
  • 7月起,郑州市民可试乘自动驾驶汽车
  • 国产微米级CT设备,破解耳科疾病难题
  • 神舟十二号载人飞船发射圆满成功!
  • 内蒙古首颗光学遥感卫星发射成功!

热门推荐

  • 沈腾马丽回应互联网爸妈
  • 周深贵阳演唱会
  • 中国科学院资深院士张存浩逝世
  • 美俄两国防长通电话
  • TKL3比1DYG拿到第二轮首胜
  • 多地禁止一线教师暑假值班
  • 多部门驳斥美签署所谓涉藏法案
  • 裴文宣的爱都藏在行动里
  • 假如我在飞机上遇到明星
  • 官方:北部湾海域有四艘沉船
  • 曾舜晞:我弟是我偶像
  • 王玉雯带照片让张新成签名
  • 亚马尔17岁生日快乐
  • SNH48王奕周诗雨予你巡演成都站
  • 巧了你也穿了白色入境
  • 杰伦布朗官宣女友
  • 布朗尼三分8中0
  • 原来胡歌也不能笑着离开理发店
  • 银河系比想象中更大
  • 樊振东全红婵再同框

陈阳

关注
免责声明:本文章由会员“陈阳”发布,如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务 如因作品内容、版权和其他问题请于本站联系

关注排行榜

  1. 1沈腾马丽回应互联网爸妈
  2. 2周深贵阳演唱会
  3. 3中国科学院资深院士张存浩逝世
  4. 4美俄两国防长通电话
  5. 5TKL3比1DYG拿到第二轮首胜
  6. 6多地禁止一线教师暑假值班
  7. 7多部门驳斥美签署所谓涉藏法案
  8. 8裴文宣的爱都藏在行动里
  9. 9假如我在飞机上遇到明星
  10. 10官方:北部湾海域有四艘沉船

编辑精选

Copyright ©2009-2022 KeJiTian.Com, All Rights Reserved

版权所有 未经许可不得转载

增值电信业务经营许可证备案号:辽ICP备14006349号

网站介绍 商务合作 免责声明 - html - txt - xml