BERT

百分点认知智能实验室出品:智能问答中的对抗***及防御策略

こ雲淡風輕ζ 提交于 2020-04-29 13:02:22
编者按 深度学习模型应用广泛,但其自身有一定的“脆弱性”,即模型输入的微小改动,在不影响人判断的情况下,可能使模型的输出出错,这个过程被称为对模型的对抗***。针对对抗***的研究,早期集中在图像领域,近几年,文本领域也逐渐增多。2019年,百分点从业务实际出发,与北京市科学技术委员会联合主办了数据智能创新应用(DIAC)大赛,聚焦于智能问答中的语义等价问题的对抗***。经过一个多月的研究实践,参赛队伍对该任务做了富有成效的探索,在优胜队伍的方案中,数据增强、对抗样本纠错、使用Focal Loss损失函数和基于FGM的对抗训练成为行之有效的策略。 本文作者:陈旭 一、对抗***概述 随着近些年深度学习的快速发展,深度神经网络逐渐成为机器学习领域的主流模型,被广泛应用于计算机视觉、自然语言处理等领域,但在研究与应用的同时,人们渐渐发现,深度神经网络具有一定的“脆弱性”。比如,在图像识别中,对模型的输入也就是图像像素值做轻微扰动,这种扰动不会改变图像的实际分类,人也难以觉察,却可能导致模型对图像的分类出错;或者在一段文本的情感分析中,文本中有一个字写错,这个错误不影响人的理解,也不会改变人对这段文本的情感判断,模型却可能判断出错。这类错误一方面会降低人们对系统使用体验的好感度,另一方面可能会造成严重的后果,从而也限制了深度神经网络在一些安全要求很高的场景下的应用。 近几年

腾讯开源TurboTransformers,推理加速性能超TensorRT主流优化引擎

与世无争的帅哥 提交于 2020-04-28 20:25:24
  机器之心报道    机器之心编辑部    昨日,腾讯发布了在 GitHub 上的第 100 个开源项目「TurboTransformers」,在多种 CPU 和 GPU 硬件测试中,这款 Transformer 推理加速工具获得了超越 PyTorch/TensorFlow 和目前主流优化引擎的性能表现。      在自然语言处理领域,以 BERT 为代表的 Transformer 神经网络模型是近年来最重要的模型创新,为诸如阅读理解、文章摘要、语义分类、同义改写等 NLP 任务带了显著的效果提升。但 Transformer 在提高模型精度的同时,也引入了更多的计算量,这导致 Transformer 的线上 NLP 服务在部署方面面临着巨大挑战。      业界普遍采用 TensorFlow 或者 Pytorch 来完成 Transformer 的训练部分,但由于深度学习的训练和推理任务存在差异,训练框架直接应用于线上推理并不能得到极致的性能。   昨日,腾讯宣布开源 Transformer 推理加速工具「TurboTransformers」。Turbo 的意思是「涡轮」,一般用来增加发动机氧气含量,带来更大动力,TurboTransformers 则意味着可使推理引擎更加强劲。   项目地址:https://github.com/Tencent

腾讯第100个开源项目:微信开源推理加速工具TurboTransformers

老子叫甜甜 提交于 2020-04-26 18:50:10
出品 | AI科技大本营(ID:rgznai100) 4月24日,腾讯正式宣布开源Transformer推理加速工具TurboTransformers。该工具面向自然语言处理领域中Transformers相关模型丰富的线上预测场景,在微信、腾讯云、QQ看点等产品的线上服务中已经广泛应用,这也是腾讯通过Github对外开源的第100个项目。 据了解,TurboTransformers的诞生源于腾讯内部对开源协同的推动。2019年初,腾讯技术委员会成立,下设开源协同、自研上云两个项目组和对外开源管理办公室,以此来促进内部代码的开放共享和协同共建。 TurboTransformers来自于深度学习自然语言处理基础平台TencentNLP Oteam,作为基础性技术版块,率先进行了开源协同的实践,旨在搭建统一的深度学习 NLP (Natural Language Processing,自然语言处理)基础平台、提升研发效能。在内部对技术反复打磨的基础上,该项目进一步对外开源。 在自然语言处理领域中,以BERT为代表的Transformers相关神经网络模型是近年来最重要的模型创新。可以为阅读理解、文章摘要、语义分类、同义改写等NLP任务提供显著的效果提升。但提高模型精度的同时,Transformes相关模型也带来了更多的计算量。由于深度学习的训练和推理任务存在差异

腾讯开源项目破百:NLP领域新突破,推理加速工具 TurboTransformers开源

时光总嘲笑我的痴心妄想 提交于 2020-04-26 17:36:01
项目背景 以BERT为代表的Transformer神经网络是近年来NLP领域最重要的模型创新,很多NLP任务,如阅读理解、文章摘要、语义分类、同义改写等,都通过采用BERT获得了显著的效果提升。但是,如下图所示,Transformer带来更高的模型精度的同时也引入了更多的计算量,使用Transformer的线上NLP服务的高效部署面临着巨大挑战。鉴于BERT在各大互联网公司的广泛应用,非常必要实现一个能发挥充分CPU/GPU硬件计算能力的Transformer推理方法。 TurboTransformers的诞生源于腾讯内部对开源协同的推动。2019年初,腾讯技术委员会成立,下设开源协同、自研上云两个项目组和对外开源管理办公室,以此来促进内部代码的开放共享和协同共建。TurboTransformers来自于深度学习自然语言处理基础平台TencentNLP Oteam,作为基础性技术版块,率先进行了开源协同的实践,旨在搭建统一的深度学习 NLP (Natural Language Processing,自然语言处理)基础平台、提升研发效能。在内部对技术反复打磨的基础上,该项目进一步对外开源。 在业界,Transformers模型的训练部分通常采用tensorflow或者pytorch这种训练框架完成。由于深度学习的训练和推理任务存在差异,训练框架直接应用于线上推理并不能得到极致的性能

Head First Java(第2版)中文版pdf

孤人 提交于 2020-04-26 09:02:24
下载地址: 网盘下载 内容简介 · · · · · · 《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。 而且不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Java程序,包括了一个船舰炮战游戏和一个网络聊天程序。 Head First系列的图文并茂学习方式能让你快速地在脑海中掌握住知识。敞开心胸准备好学习这些关键性的主题: *Java程序语言 *面向对象程序开发 *Swing图形化接口 *使用Java API函数库 *编写、测试与布署应用程序 *处理异常 *多线程 *网络程序设计 *集合与泛型 如果你想要看“一本正经”的书,去找其他的。但如果你真地想要好好地学习Java,你会需要《Head First Java》。这本书可是Amazon编辑推荐的十大好书之一! 作者简介 · · · · · · Kathy从开始设计游戏(她为Virgin、MGM和Amblin等都编写过游戏)和开发AI应用以来,一直对学习理论很感兴趣。Head First系列的大多数格式都出自她之手,具体说来,都是她为UCLA

在K40小破卡训练50层BERT Large的宝藏trick

隐身守侯 提交于 2020-04-22 16:24:37
前言 虽然TPU的显存令人羡慕,但是由于众所周知的原因,绝大部分人还是很难日常化使用的。英伟达又一直在挤牙膏,至今单卡的最大显存也仅仅到32G(参考V100、DGX-2)。然而,训练一个24层的BERT Large模型的时候,如果sequence length开满512,那么batch size仅仅开到8(有时候能到10)就把这寥寥32G的显存打满了。如果想训练一个48层乃至100层的BERT Large,那完全是土豪们的游戏了,需要疯狂的模型并行+分布式多机训练。 但!是!万能的小夕前不久在Daxiang Dong大佬的安利下,发现了 @陈天奇 大佬2016年的一篇宝藏paper! 传送门: https:// arxiv.org/pdf/1604.0617 4.pdf 简单的划一下重点: 这篇paper用时间换空间的思想, 在前向时只保存部分中间节点,在反向时重新计算没保存的部分 。论文通过这种机制,在每个batch只多计算一次前向的情况下,把n层网络的占用显存优化到了 ( √)O(n)。在极端情况下,仍可用 ( )O(nlogn)的计算时间换取到 ( )O(logn)的显存占用。在论文的实验中,他们成功将将1000层的残差网络从48G优化到了7G。且,这种方法同样可以直接应用于RNN结构中。 看完摘要,瞬间感觉在小破卡上训练BERT Large有救了!!! 此外

基于PaddlePaddle的对话通用理解模块DGU

和自甴很熟 提交于 2020-04-22 02:27:13
对话通用理解模块DGU 1、模型简介 2、快速开始 3、进阶使用 4、参考论文 1、模型简介     对话相关的任务中,Dialogue System常常需要根据场景的变化去解决多种多样的任务。任务的多样性(意图识别、槽位解析、DA识别、DST等等),以及领域训练数据的稀少,给Dialogue System的研究和应用带来了巨大的困难和挑战,要使得dialogue system得到更好的发展,需要开发一个通用的对话理解模型。为此,我们给出了基于BERT的对话通用理解模块(DGU: DialogueGeneralUnderstanding),通过实验表明,使用base-model(BERT)并结合常见的学习范式,就可以在几乎全部对话理解任务上取得比肩甚至超越各个领域业内最好的模型的效果,展现了学习一个通用对话理解模型的巨大潜力。 下载安装命令 ## CPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle ## GPU版本安装命令 pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu 2、快速开始 安装说明   a、环境依赖 Python >= 2.7 cuda >= 9.0

快速搭建对话机器人,就用这一招!

守給你的承諾、 提交于 2020-04-21 02:29:05
https://github.com/milvus-io/milvus 问答系统是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛的应用。其经典应用场景包括:智能语音交互、在线客服、知识获取、情感类聊天等。常见的分类有:生成型、检索型问答系统;单轮问答、多轮问答系统;面向开放领域、特定领域的问答系统。本文涉及的主要是在检索型、面向特定领域的问答系统,通常称之为——智能客服机器人。 在过去,客服机器人的搭建通常需要将相关领域的知识(Domain Knowledge),转化为一系列的规则和知识图谱。构建过程中重度依赖“人工”智能,换个场景,换个用户都需要大量的重复劳动。 随着深度学习在自然语言处理(NLP)中的应用,机器阅读可以直接自动从文档中找到匹配问题的答案。深度语言模型会将问题和文档转化为语义向量,从而找到最后的匹配答案。本文借助Google开源的Bert模型结合Milvus开源向量搜索引擎,快速搭建基于语义理解的对话机器人。 | 整体架构 本文通过语义相似度匹配来实现一个问答系统,大致的构建过程: 获取某一特定领域里大量的带有答案的中文问题(本文将之称为标准问题集)。 使用Bert模型将这些问题转化为特征向量存储在Milvus中,同时Milvus将 给这些特征向量分配一个向量ID。 将这些代表问题的ID和其对应的答案存储在PostgreSQL中

Transformer 在美团搜索排序中的实践

亡梦爱人 提交于 2020-04-19 17:03:12
近年来,BERT等Transformer模型大放异彩,在搜索推荐系统应用也成为业界的一种潮流。美美今天介绍的这篇文章,将分享Transformer在美团搜索排序上的实践经验。 引言 美团搜索是美团 App 连接用户与商家的一种重要方式,而排序策略则是搜索链路的关键环节,对搜索展示效果起着至关重要的效果。目前,美团的搜索排序流程为多层排序,分别是粗排、精排、异构排序等,多层排序的流程主要是为了平衡效果和性能。搜索核心精排策略是 DNN 模型,美团搜索始终贴近业务,并且结合先进技术,从特征、模型结构、优化目标角度对排序效果进行了全面的优化。 近些年,基于 Transformer[1] 的一些 NLP 模型大放光彩,比如 BERT[2] 等等(可参考《 美团BERT的探索和实践 》),将 Transformer 结构应用于搜索推荐系统也成为业界的一个潮流。比如应用于对 CTR 预估模型进行特征组合的 AutoInt[3]、行为序列建模的 BST[4] 以及重排序模型 PRM[5],这些工作都证明了 Transformer 引入搜索推荐领域能取得不错的效果,所以美团搜索核心排序也在 Transformer 上进行了相关的探索。 本文旨在分享 Transformer 在美团搜索排序上的实践经验。内容会分为以下三个部分:第一部分对 Transformer 进行简单介绍,第二部分会介绍

今日Paper|联合抽取;流式语音识别;差异学习;Skip-Thought向量等

烂漫一生 提交于 2020-04-17 20:02:41
   目录   在序列标注模型中使用位置注意力进行抽取实体与重叠关系的联合抽取   将混合CTC/Attention方法嵌入到Transformer结构中实现在线端到端的流式语音识别架构   基于人工反向修正数据的差异学习   利用一种基于多属性邻近度的方法从可比较的新闻语料库中挖掘事件   Skip-Thought向量    在序列标注模型中使用位置注意力进行抽取实体与重叠关系的联合抽取   论文名称:Joint extraction of entities and overlapping relations using position-attentive sequence labeling   作者:Dai Dai / Xinyan Xiao / Yajuan Lyu / Shan Dou / Qiaoqiao She / Haifeng Wang   发表时间:2019/7/17   论文链接:https://aaai.org/ojs/index.php/AAAI/article/view/4591   本文设计了一种基于位置信息和上下文信息的注意力机制,同时将一个关系抽取任务拆成了n(n为句子的长度)个序列标注子任务,一个阶段即可将实体、关系等信息抽取出来。   本文发表时在两个数据集上达到了SOTA,并且对于跨度长的关系、重叠关系表现尤其好。