自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谢杨易的博客

搜索推荐 + NLP算法专家

  • 博客(10)
  • 收藏
  • 关注

原创 Transformer家族5 -- 推理加速(Faster-Transformer、TurboTransformers)

1 背景之前介绍了从编码长度、计算效率、通用性等角度对Transformer进行优化,并介绍了几个重要模型。本文介绍如何进行Transformer推理加速。相比于离线训练,在线推理加速更加关键。一方面由于在线流量大,加速可带来硬件成本的节省。另一方面在线推理加速,可大大提升AI应用的用户体验。事实上,之前的多种方法,特别是计算效率优化,对推理加速很有帮助。这些模型从算法的角度,进行了推理速度优化。本文主要从框架层的角度,讲解如何对推理进行加速。主要带来NVIDIA的Faster-Transformer框

2020-06-30 20:52:47 19423 6

原创 Transformer家族4 -- 通用性优化(Universal-Transformer)

1 背景之前讲Transformer的时候,也提到过它的通用性的缺点。相比于RNN,Transformer不是图灵完备的,虽然大多数任务都是吊打RNN,但在某些看起来极为简单的任务上,却表现很差,比如字符串拷贝等。这个问题其实也不算大,但谷歌还是给出了他的解决方案,也就是Universal Transformer。这篇看看就好了,个人感觉实际应用中作用有限。2 Universal-Transformer论文信息:2018年7月,谷歌,ICLR2019论文地址 https://arxiv.org/ab

2020-06-30 10:27:16 18364 3

原创 Transformer家族3 -- 计算效率优化(Adaptive-Span、Reformer、Lite-Transformer)

1 背景上文我们从编码长度优化的角度,分析了如何对Transformer进行优化。Transformer-XL、LongFormer等模型,通过片段递归和attention稀疏化等方法,将长文本编码能力提升到了很高的高度。基本已经克服了Transformer长文本捕获能力偏弱的问题,使得下游任务模型performance得到了较大提升,特别是文本较长(大于512)的任务上。但Transformer计算量和内存消耗过大的问题,还亟待解决。事实上,Transformer-XL、LongFormer已经大大降

2020-06-29 16:16:46 18720 5

原创 Transformer家族2 -- 编码长度优化(Transformer-XL、Longformer)

1 背景NLP中经常出现长程依赖问题,比如一个词语可能和它距离上千位置的另一个词语有关系。长程关系的建立十分困难。常见序列结构模型都有一些难点,如下。在RNN中,由于反向传播梯度衰减和梯度爆炸问题,使得模型只能捕获较短距离。LSTM利用门限机制,将连乘转变了为连加,提升了模型长程捕获能力,但梯度弥散问题没有从根本上得到解决,故其最大程度只能在400左右。Transformer利用self-attention机制进行建模,使得任何两个位置token距离都为1。如果没有内存和算力的限制,Transfo

2020-06-28 19:33:14 19048 14

原创 NLP预训练模型1 -- 综述

复旦大学邱锡鹏教授发表了一篇NLP预训练模型综述,“Pre-trained Models for Natural Language Processing: A Survey”,从多个角度分析了当前预训练语言模型。本文基于这篇文章来分析1 为什么需要预训练模型邱老师认为预训练模型有三大优势预训练模型从大规模语料中学习知识,对下游任务帮助很大预训练提供了一种更好的参数初始化方式,使得在目标任务上泛化能力更好,收敛速度更快预训练可以认为是一种正则化手段,可以防止模型在小数据集上过拟合。2 预训

2020-06-27 22:16:35 21274 12

原创 NLP预训练模型6 -- 模型轻量化(ALBERT、Q8BERT、DistillBERT、TinyBERT等)

1 背景模型压缩和加速在工业界应用中十分重要,特别是在嵌入式设备中。压缩和加速在算法层面,大体分为结构设计、量化、剪枝、蒸馏等。本文从这四个方面分析怎么实现BERT轻量化,从而实现BERT模型压缩和加速。2 结构设计通过结构设计来实现模型轻量化的手段主要有:权值共享、矩阵分解、分组卷积、分解卷积等。BERT中也广泛使用了这些技术。以ALBERT为例:矩阵分解:embedding层矩阵分解,分解前参数量 (V * H),分解后(V * E + E * H), 压缩 E/H 倍。权值共享:ALB

2020-06-27 18:58:51 20156 4

原创 NLP预训练模型5 -- 模型结构优化(XLNet、ALBERT、ELECTRA)

1 背景上文我们从预训练任务优化(NLP预训练模型3 – 预训练任务优化(ERNIE、SpanBERT))和训练方法优化(NLP预训练模型4 – 训练方法优化(RoBERTa、T5))两个角度,分析了如何提升BERT和NLP预训练模型的performance。本文我们从模型结构优化的角度来进行深入分析。模型结构优化一直以来都是比较fancy的工作,优秀的模型结构设计,可以大大提高模型参数的效率,甚至小模型效果可以超过大模型。本文我们以XLNet、ALBERT、ELECTRA为例进行分析。虽然他们也可以认

2020-06-27 16:26:19 18009 5

原创 NLP预训练模型4 -- 训练方法优化(RoBERTa、T5)

1 背景上文 NLP预训练模型3 – 预训练任务优化(ERNIE、SpanBERT)我们从预训练任务的角度讲解了如何对BERT进行优化,本文我们从训练方法的角度来讲解BERT优化。训练方法包括数据语料、文本预处理、超参调整等。BERT使用的一套超参,比如batch_size、training steps、optimizer、learning rate,是否还有优化的空间呢?每个深度学习调参侠都知道答案是显然的。虽然BERT在大模型大数据的作用下,对超参不是很敏感,但超参调整始终是模型优化一个绕不开的

2020-06-26 21:15:10 19900 5

原创 NLP预训练模型3 -- 预训练任务优化(ERNIE、SpanBERT等)

1 背景前面一篇文章 NLP预训练模型2 – BERT详解和源码分析 中,我们从模型结构、实现源码、实验结果等角度,分析了预训练语言中大名鼎鼎的BERT模型。BERT大幅刷新的GLUE得分,提高了7.7个点之多,甚至有些中文NLP任务上达到了人类水平。那是不是在预训练模型方面就没法进行其他创新了呢,答案显然是否定的。前文中我们也提到了BERT存在的很多缺点,从预训练任务、模型结构、语料数据、模型轻量化等方面我们都可以进行深度优化。本文我们就先从预训练任务的优化讲起。BERT是一个multi-mask任务

2020-06-24 22:10:00 20459 3

原创 NLP预训练模型2 -- BERT原理详解和源码分析

1 模型结构BERT自18年10月问世以来,就引起了NLP业界的广泛关注。毫不夸张的说,BERT基本上是近几年来NLP业界意义最大的一个创新,其意义主要包括大幅提高了GLUE任务SOTA performance(+7.7%),使得NLP真正可以应用到各生产环境中,大大推进了NLP在工业界的落地预训练模型从大量人类优质语料中学习知识,并经过了充分的训练,从而使得下游具体任务可以很轻松的完成fine-tune。大大降低了下游任务所需的样本数据和计算算力,使得NLP更加平民化,推动了在工业界的落地。pr

2020-06-22 20:16:38 29758 15

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除