Transformers

高效Transformer层出不穷,谷歌团队综述文章一网打尽

雨燕双飞 提交于 2020-10-01 10:40:36
  选自arXiv    作者:Yi Tay 等    机器之心编译    编辑:魔王    自 2017 年诞生以来,Transformer 模型在自然语言处理、计算机视觉等多个领域得到广泛应用,并出现了大量变体。近期涌现的大量 Transformer 变体朝着更高效的方向演化,谷歌研究者对这类高效 Transformer 架构进行了综述。   Transformer 是现代深度学习领域一股令人敬畏的力量,它广泛应用于语言理解、图像处理等多个领域,并产生了极大的影响。过去几年,大量研究基于 Transformer 模型做出基础性改进。人们对此的巨大兴趣也激发了对更高效 Transformer 变体的研究。   近期涌现了大量 Transformer 模型变体,研究者和从业者可能难以跟上创新的节奏。在该论文写作时(2020 年 8 月),之前的半年出现了十多个新的高效 Transformer 模型。因此,对已有文献进行综述对于社区而言是有益和及时的。   自注意力机制是 Transformer 模型的核心典型特征。该机制可被看作是一种类似图的归纳偏置,将序列中的所有 token 与基于相关性的池化操作连接起来。对于自注意力的一个担忧是其时空复杂度都是平方级的,这妨碍模型在多种环境下的可扩展性。最近出现了大量试图解决该问题的 Transformer 模型变体,本文将这类模型称作「高效

Bert: 双向预训练+微调

五迷三道 提交于 2020-09-30 15:02:23
最近要开始使用Transformer去做一些事情了,特地把与此相关的知识点记录下来,构建相关的、完整的知识结构体系。 以下是要写的文章,文章大部分都发布在公众号【雨石记】上,欢迎关注公众号获取最新文章。 Transformer:Attention集大成者 GPT-1 & 2: 预训练+微调带来的奇迹 Bert: 双向预训练+微调 Bert与模型压缩 Bert与模型蒸馏:PKD和DistillBert ALBert: 轻量级Bert TinyBert: 模型蒸馏的全方位应用 MobileBert: Pixel4上只需40ms 更多待续 Transformer + AutoML: 进化的Transformer Bert变种 Roberta: Bert调优 Electra: 判别还是生成,这是一个选择 Bart: Seq2Seq预训练模型 Transformer优化之自适应宽度注意力 Transformer优化之稀疏注意力 Reformer: 局部敏感哈希和可逆残差带来的高效 Longformer: 局部attentoin和全局attention的混搭 - Linformer: 线性复杂度的Attention XLM: 跨语言的Bert T5 (待续) 更多待续 GPT-3 更多待续 背景 Bert,全称是Bidirectional Encoder Representation from

深2.5至4倍,参数和计算量却更少,DeLighT Transformer是怎么做到的?

微笑、不失礼 提交于 2020-09-30 13:16:37
Google 团队提出的 NLP 经典之作 Transformer 由 Ashish Vaswani 等人在 2017 年发表的论文《Attention Is All You Need》 中提出。但由于模型参数量过大,该模型训练困难、部署不方便,研究人员一直在探究如何优化 Transformer。近日,来自华盛顿大学和 FAIR 的 Sachin Mehta 等人提出了一个网络结构较深但轻量级的 Transformer——DeLighT。 论文链接: https:// arxiv.org/abs/2008.0062 3 代码链接: https:// github.com/sacmehta/del ight 论文简介 在这篇文章中,作者提出了一个网络较深但轻量级的 Transformer——DeLighT,与之前基于 transformer 的模型相比,它的参数更少,但性能相当甚至更好。 DeLighT 能够更高效地分配参数,主要表现在:1)每个 Transformer 块使用结构较深但参数较少的 DExTra;2)在所有块上使用逐块缩放(block-wise scaling),使靠近输入的 DeLighT 块比较浅且窄,靠近输出的 DeLighT 块比较宽且深。总的来说,DeLighT 的网络深度是标准 transformer 模型的 2.5 到 4 倍,但参数量和计算量都更少。

sklearn之pipeline:sklearn.pipeline函数使用及其参数解释之详细攻略

被刻印的时光 ゝ 提交于 2020-09-24 23:57:22
sklearn之pipeline:sklearn.pipeline函数使用及其参数解释之详细攻略 目录 sklearn.pipeline函数使用及其参数解释 sklearn.pipeline函数使用及其参数解释 class Pipeline(_BaseComposition): """ Pipeline of transforms with a final estimator. Sequentially apply a list of transforms and a final estimator. Intermediate steps of the pipeline must be 'transforms', that is, they must implement fit and transform methods. The final estimator only needs to implement fit. The transformers in the pipeline can be cached using ``memory`` argument. The purpose of the pipeline is to assemble several steps that can be cross-validated together while setting

BERT解析及文本分类应用

喜夏-厌秋 提交于 2020-08-20 06:37:58
目录 前言 BERT模型概览 Seq2Seq Attention Transformer encoder部分 Decoder部分 BERT Embedding 预训练 文本分类试验 参考文献 前言 在18年末时,NLP各大公众号、新闻媒体都被BERT(《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》)刷屏了,刷新了自然语言处理11项纪录,也被称为了2018年最强自然语言处理模型。 笔者很早便完整看了这篇论文,迟迟没有动手,一方面是因为自己懒,各种事情耽搁了,另一方面还是想通过在具体的任务中进行了确切的实践后再与大家分享交流。废话不多说,下面我们进入正题,2018最强自然语言处理模型BERT(注意修饰语2018,因为最近冒出来的OpenAI的研究人员训练的超大规模15亿参数模型已经进一步打破了记录,并开源了一个117M的小模型和代码: https://github.com/openai/gpt-2,感兴趣的读者可以看看) BERT模型概览 了解BERT模型我们需要先回顾谷歌在早前发表的一些观点和paper,我们首先来简单回顾下seq2seq,之后说说attention引出的transformer模型,最后看看BERT模型的细节以及创新点。 Seq2Seq

推特知乎宣传一波,论文就能中顶会?时代变了,说不定真的可以

被刻印的时光 ゝ 提交于 2020-08-20 01:12:17
  机器之心报道    参与:张倩、蛋酱、小舟       PR or Not PR,结果可能真的不一样。   中国有句古话,叫「酒香不怕巷子深」。而在学术界,论文就是研究者酿出的酒。只要你的「酒」足够醇,总会得到大家的关注与认可。   但在社交网络影响日益扩大的今天,这句话的力量似乎越来越弱了。在论文水平差距不大的情况下,大家真正比拼的可能会是 PR 能力。   这个问题最近在 Reddit 上被提了出来。发帖者表示,ta 担心社交网络上越来越热的「自我宣传」行为会影响到审稿人的判断,导致宣传效果好的论文更易被接收,对盲审制度造成很大的破坏。      NeurIPS 2020 论文的提交截止日期是两周前。从结束提交开始,几乎每天我都会遇到来自机器学习研究人员的 Twitter 长文。这些帖子公开宣传他们的研究工作(显然是 NeurIPS 提交的研究内容,从 arXiv 预印本的格式和日期来看),其作者通常是来自谷歌、Facebook 的著名研究人员。他们有成千上万的粉丝,因此他们的 Twitter 也有很高的浏览量、点赞量和转发量。   我很高兴看到新的令人兴奋的研究,但同时也对这种宣传给论文审核过程带来的影响表示担忧。我知道 NeurIPS 并不禁止提交 arXiv 预印本,但是这种非常吸引人的广告将对盲审的冲击提高到了一个新的层次。   除了有损双盲审查程序以外

Citrix虚拟桌面小技巧篇之四PC机的变形金刚

淺唱寂寞╮ 提交于 2020-08-19 04:32:47
日拱一卒无有尽,功不唐捐终入海。 宁可十年不将军,不可一日不拱卒。 在很多桌面云项目里,用户经常问的一个问题是,我们现在有很多PC,性能还可以,是否可以转换为瘦客户机,从而节省瘦客户机终端的采购成本。 答案当然是肯定的,还记得2011年的时候,看到当时的IGEL厂商,提供了一款UDC的软件,可以快速将现有PC转换为瘦客户机,软件需要收费,所以UDC并没有被普及。 为什么很多客户会有这个需求?其实还是来源于瘦客户机系统相对于传统PC更加稳定,易维护。 PC转换为瘦客户机方法一 Lock 后来思杰也推出了自己的PC转换为瘦客户机的产品,首先来介绍一下这款产品:Workspace app desktop Lock。这款产品到底实现了哪些功能? 这款产品安装之后,实现的效果:用户可以在开机登录窗口,输入用户名和密码直接登录到虚拟桌面,和本地的PC操作系统没有交互,只能使用常用的选项,比如Ctrl+Alt+Del、断开连接等。 当前的最新版本是1909,在后续的1912 LTSR版本,Workspace app版本也会同步更新。 我记得2015年时候,在无锡一家研究所里,他们所有的PC客户端全部部署了Lock的客户端,只能通过Lock登录虚拟桌面,禁止与本地交互。在输入用户名和密码后,就进入了登录界面。 PC转换为瘦客户机方法二 Transformer 今天的主角是WEM

自然语言处理十大应用

强颜欢笑 提交于 2020-08-17 00:27:24
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 介绍 自然语言处理是数据科学领域最热门的课题之一。公司在这一领域投入大量资金进行研究。每个人都在努力了解自然语言处理及其应用,并以此为生。 你知道为什么吗? 因为仅仅在短短几年的时间里,自然语言处理已经发展成为一种无人能想象的强大而有影响力的东西。 为了了解自然语言处理的力量及其对我们生活的影响,我们需要看看它的应用。因此,我列出了自然语言处理的十大应用。 那么,让我们从自然语言处理的第一个应用开始。 搜索自动更正和自动完成 每当你在谷歌上搜索某个东西,在输入2-3个字母后,它会显示可能的搜索词。或者,如果你搜索一些有错别字的东西,它会更正它们,仍然会找到适合你的相关结果。是不是很神奇? 它是每个人每天都在使用的东西,但从来没有太多的关注它。这是自然语言处理的一个很好的应用,也是一个很好的例子。它影响世界上数百万人,包括你和我。 搜索自动完成和自动更正都有助于我们更有效地找到准确的结果。现在,其他许多公司也开始在他们的网站上使用这个功能,比如Facebook和Quora。 搜索自动完成和自动更正背后的驱动引擎是语言模型。 语言翻译 你有没有用谷歌翻译来找出不同语言中的某个词或短语?它将一段文字用一种语言翻译成另一种语言的容易程度是相当惊人的,对吧?它背后的技术是机器翻译。

自然语言处理十大应用

守給你的承諾、 提交于 2020-08-14 13:32:33
作者|ABHISHEK SHARMA 编译|VK 来源|Analytics Vidhya 介绍 自然语言处理是数据科学领域最热门的课题之一。公司在这一领域投入大量资金进行研究。每个人都在努力了解自然语言处理及其应用,并以此为生。 你知道为什么吗? 因为仅仅在短短几年的时间里,自然语言处理已经发展成为一种无人能想象的强大而有影响力的东西。 为了了解自然语言处理的力量及其对我们生活的影响,我们需要看看它的应用。因此,我列出了自然语言处理的十大应用。 那么,让我们从自然语言处理的第一个应用开始。 搜索自动更正和自动完成 每当你在谷歌上搜索某个东西,在输入2-3个字母后,它会显示可能的搜索词。或者,如果你搜索一些有错别字的东西,它会更正它们,仍然会找到适合你的相关结果。是不是很神奇? 它是每个人每天都在使用的东西,但从来没有太多的关注它。这是自然语言处理的一个很好的应用,也是一个很好的例子。它影响世界上数百万人,包括你和我。 搜索自动完成和自动更正都有助于我们更有效地找到准确的结果。现在,其他许多公司也开始在他们的网站上使用这个功能,比如Facebook和Quora。 搜索自动完成和自动更正背后的驱动引擎是语言模型。 语言翻译 你有没有用谷歌翻译来找出不同语言中的某个词或短语?它将一段文字用一种语言翻译成另一种语言的容易程度是相当惊人的,对吧?它背后的技术是机器翻译。

spring-cloud-netflix-ribbon学习笔记(一)通过@LoadBalanced查询Ribbon是如何与SpringCloud整合的

久未见 提交于 2020-08-13 07:14:17
首先用过Ribbon的都知道,要想在Spring-Cloud中使用Ribbon,需要在 RestTemplate Bean 上加入 @LoadBalanced 注解。那么我们可以先看看 @LoadBalanced (代码如下)。 package org.springframework.cloud.client.loadbalancer; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.beans.factory.annotation.Qualifier; /** * Annotation to mark a RestTemplate or WebClient bean to be configured to use a * LoadBalancerClient. * @author Spencer