Glue

切分也重要:基于多粒度语言单元切分的BERT模型

杀马特。学长 韩版系。学妹 提交于 2020-09-30 01:56:29
论文标题: AMBERT: A PRE-TRAINED LANGUAGE MODEL WITH MULTI-GRAINED TOKENIZATION 论文作者: Xinsong Zhang, Hang Li 论文链接: https://arxiv.org/pdf/2008.11869.pdf 不同粒度语言单元的切分 在深度学习时代,将语言单元切分为怎样的粒度是一个很重要的问题,它首先影响了词典的大小,比如英语,如果切分为字符,那词典最多也不会超过100,但是如果切分为词,那词典就会成千上万。 词典大小直接影响了数据的分布,即词典中的有些词是高频词,有些是低频词,甚至可能出现很多未登录词(OOV),这些都对模型最终的效果有影响。 当前主流预训练模型的切分方式大致是:对英语来说,默认采用子词(Subword)的形式,一种介于字和词之间的语言单元粒度,比如BERT采用的是字词。 对中文来说,一般采用字级别的粒度。采用这种粒度的切分方式,相比其他粒度而言表现更好。 但是,这些模型都是基于“单粒度”的切分,也就是说,要么只采用字词,要么只采用字,而单粒度的切分可能会产生一些问题。 比如下图是采用字级别切分粒度的中文BERT模型的注意力图示。可以看到,“拍”关注了“卖”,“北”关注了“京”,“长”和“市”组合了。 但是在这些例子中,它们都错误地关注了字,这是因为对于字级别的模型而言,“北京

《BERT 的优秀变体:ALBERT 论文图解介绍》2020-05,作者:amitness,译者:ronghuaiyang

断了今生、忘了曾经 提交于 2020-08-20 05:10:12
ALBERT论文: https://arxiv.org/pdf/1909.11942.pdf 英文原文: https://amitness.com/2020/02/albert-visual-summary/ 译文链接: https://www.6aiq.com/article/1589833968655 NLP 最新发展的基本前提是赋予机器学习这些表示的能力。 BERT 1. 掩码语言建模 传统的语言建模 BERT使用的掩码语言建模 2. 下一个句子预测 “下一个句子预测”的目的是检测两个句子是否连贯。 3. Transformer结构 将输入转换成大小为768的向量。关于Transformer和BERT非常好的文章: https://jalammar.github.io/illustrated-transformer/ http://jalammar.github.io/illustrated-bert/ ALBERT总结的BERT的两类问题 1. 内存限制和通信开销 BERT模型非常大,BERT-large有24个隐含层,约3.4亿参数,若想改进需要大量计算资源。 2. 模型退化 更大的模型,更好的性能? Albert作者将BERT-large的隐含层单元从1024增加到2048,在语言建模任务和阅读理解测试中,都有所下降。在阅读理解测试中从73.9%下降到54.3%。

分布式定时任务—xxl-job学习(一):简单demo搭建

↘锁芯ラ 提交于 2020-08-17 23:51:56
分布式定时任务—xxl-job学习(一):简单demo搭建 一、xxl-job简介 1.1 xxl-job特性介绍 1.2 官方仓库+文档地址 二、简单搭建一个xxljob_demo 2.1 搭建调度中心 2.1.1 初始化“调度数据库” 2.1.2 配置部署“调度中心”xxl-job-admin 2.1.2.1 配置调度中心 2.1.2.2 部署xxl-job-admin项目 2.1.2.3 调度中心集群(可选) 2.2 搭建执行器项目demo 2.2.1 创建一个springboot的maven项目 2.2.2 执行器配置 2.2.3 执行器组件配置 2.2.4 开发一个简单的demo定时任务 2.2.5 部署 2.2.6 调度中心配置相应任务 2.2.6.1 新建一个执行器 2.2.6.2 新建一个任务 2.2.6.3 查看调度日志 2.2.6.4 查看执行日志 2.2.6.5 终止运行中的任务 三、彩蛋 一、xxl-job简介 XXL-JOB是大佬许雪里开源的一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 1.1 xxl-job特性介绍 Features特性: 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、启动/停止任务

Hacker News 简讯 2020-08-06

时间秒杀一切 提交于 2020-08-17 18:57:17
最后更新时间: 2020-08-06 23:01 Simdjson: Parsing Gigabytes of JSON per Second - (github.com) Simdjson:每秒解析千兆字节的JSON 得分:295 | 评论:75 Usbkill – anti-forensic tool to halt computer when new USB device is connected - (github.com) Usbkill–当连接到新的USB设备时停止计算机的反取证工具 得分:183 | 评论:96 OpenCore bootloader – open-sourced Apple UEFI drivers, enabling Hackintosh - (github.com) OpenCore bootloader–开源的Apple UEFI驱动程序,支持Hackintosh 得分:159 | 评论:68 Scientists rename human genes to stop MS Excel from misreading them as dates - (theverge.com) 科学家将人类基因重新命名,以防止Excel将其误读为日期 得分:168 | 评论:138 Germany plans to dim lights at night to

分布式定时任务—xxl-job学习(二):源码分析——执行器的启动过程

谁说胖子不能爱 提交于 2020-08-14 20:31:10
分布式定时任务—xxl-job学习(二):源码分析——执行器的启动过程 前言 一、执行器的启动 1.1 分析核心类XxlJobSpringExecutor 1.1.1 initJobHandlerRepository() 1.1.2 initJobHandlerMethodRepository() 1.1.3 GlueFactory.refreshInstance(1) 1.1.4 super.start() 1.2 分析核心类XxlJobExecutor 1.2.1 XxlJobFileAppender.initLogPath(logPath) 1.2.2 initAdminBizList(adminAddresses, accessToken) 1.2.3 JobLogFileCleanThread.getInstance().start(logRetentionDays) 1.2.4 TriggerCallbackThread.getInstance().start() 1.2.5 initEmbedServer(address, ip, port, appname, accessToken) 1.3 分析EmbedServer.start(address, port, appname, accessToken) 1.3.1

“数据湖”:概念、特征、架构与案例

折月煮酒 提交于 2020-08-14 14:08:55
写在前面: 最近,数据湖的概念非常热,许多前线的同学都在讨论数据湖应该怎么建?阿里云有没有成熟的数据湖解决方案?阿里云的数据湖解决方案到底有没有实际落地的案例?怎么理解数据湖?数据湖和大数据平台有什么不同?头部的云计算玩家都各自推出了什么样的数据湖解决方案?带着这些问题,我们尝试写了这样一篇文章,希望能抛砖引玉,引起大家一些思考和共鸣。感谢南靖同学为本文编写了5.1节的案例,感谢西壁的review。 本文包括七个小节:1、什么是数据湖;2、数据湖的基本特征;3、数据湖基本架构;4、各厂商的数据湖解决方案;5、典型的数据湖应用场景;6、数据湖建设的基本过程;7、总结。受限于个人水平,谬误在所难免,欢迎同学们一起探讨,批评指正,不吝赐教。 一、什么是数据湖 数据湖是目前比较热的一个概念,许多企业都在构建或者计划构建自己的数据湖。但是在计划构建数据湖之前,搞清楚什么是数据湖,明确一个数据湖项目的基本组成,进而设计数据湖的基本架构,对于数据湖的构建至关重要。关于什么是数据湖,有如下定义。 Wikipedia是这样定义的: A data lake is a system or repository of data stored in its natural/raw format,[1] usually object blobs or files. A data lake is usually

分布式任务调度平台XXL-JOB快速搭建教程

有些话、适合烂在心里 提交于 2020-08-13 01:03:44
1. XXL-JOB简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。它的有两个核心模块,一个模块叫做调度中心,另外一个模块叫做执行器,它把任务调度和任务执行分成两个部分。这样调度模块只需要负责任务的调度属性,触发调度信号。执行模块只需要接收调度信号,去执行具体的业务逻辑,两者可以各自的进行扩容和缩容。图1是一张来自官方的架构图。 2. XXL-JOB搭建 既然是一个分布式调度平台,肯定会有一个调度中心,当然执行器(被调度者)也是必不可少的,可以参考架构图。所以,使用xxl-job搭建一个demo,也必须有两个端,下面本文分别从准备工作、搭建“调度中心”、搭建“执行器”三个部分进行说明。 2.1 准备工作 2.1.1 下载源码 源码地址: https://github.com/xuxueli/xxl-job 我使用的源码是2.2.0版本,这是目前最新的release版本。 源码包含了文档(数据库初始化脚本、官方文档、架构图等)、调度中心源码、核心core、各个版本的执行器源码。如图2所示: 2.1.2 数据库准备 数据库脚本在doc路径下,将其执行之后可以创建一个数据库,如图3所示: 2.2 搭建调度中心 2.2.1 配置调度中心 将数据库连接信息和报警信息配置成自己的,配置文件如下:

千里“传音”,随AWS云服务走遍“一带一路”

跟風遠走 提交于 2020-08-11 10:12:02
点击上方关注我们! 2020年4月22日,亚马逊云服务(AWS)正式宣布开放AWS非洲(开普敦)区域。目前,AWS在全球已经有24个区域、76个可用区, 同时还 宣布计划在印度尼西亚、日本和西班牙开通 3个AWS区域、9个可用区。 在 AWS非洲(开普敦)区域开通之际,在非洲市场 占有率排名第一的 知名手机厂商传音控股( “传音”)也第一时间入驻该区域,通过亚马逊云服务为非洲客户提供更加优异的客户体验,提升竞争优势。 AWS非洲(开普敦)区域目前有三个可用区。AWS区域通常由多个可用区组成,每个可用区又有一个或多个数据中心。 可用区之间相互隔离,位于不同的地理位置,距离足够远到可以显著降低单个事件影响业务连续性的风险,但又足够近到保持高可用应用程序需要的低延迟 。每个可用区都有独立的电源、冷却和物理安全设施,并且通过冗余的、超低延迟的网络进行连接。因此,对 高可用性比较在意的 AWS客户,可以设计将应用程序部署在多个可用区运行,从而实现更高的容错能力。跟全球所有AWS基础设施一样,开普敦区域的可用区都配备了备份电源,可以确保持续可靠的电力供应。 AWS全球区域覆盖示意图 传音作为中国 “ 出海 ” 企业的代表,随着自身业务的深入发展,对于云服务也提出了更高的要求。 非洲是 “一带一路”沿线的重要地区之一。AWS开通非洲(开普敦)区域,在云端开辟了更宽广、更通畅的道路,这是传音 这样

阿里提供中文搜索新选项!AI引擎+达摩院黑科技,你要试试吗?

别说谁变了你拦得住时间么 提交于 2020-08-09 11:20:24
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 最近中文搜索引擎市场又突然热了起来,一家巨头的入场让外界充满期待。 6月9日,阿里向外界确认成立智能搜索业务部,隶属阿里创新业务事业群,由UC事业部总经理、书旗事业部总经理吴嘉担任负责人。 阿里人事变动,莫非要进军搜索引擎市场?其实阿里的产品早已先行。 今年4月,一款名为“夸克”的智能搜索App首次在苹果应用商店排名超越百度,并首次跻身前20。 其实早在2018年,夸克就开始发力智能搜索,2019年1月,夸克发布3.0版,在自主订制的AI搜索引擎、搜索直达、指令控制等方面实现了重要升级。 搜索引擎诞生已有20余年,无论国内外,市场似乎早已尘埃落定,阿里为何如此“头铁”,夸克为何近两年来越来越进击智能搜索? 这恐怕与近年来AI成熟落地密不可分,也不得不从搜索行业的变化开始说起。 多模态搜索的变革 PC时代,我们以文字作为主要的搜索形式。移动互联网兴起后,手机端的搜索引擎App依然如此。 后来,智能手机开始普及,说一段话、拍一张图变得容易起来,各大搜索引擎公司又加入了语音、图片搜索。 如果我们仔细思考就会发现,现阶段大多数语音、图片搜索,其实本质上还是把多媒体信息转变成文字,然后再进行搜索。 这类搜索只是理解用户输入的信息,实际上对另一端抓取的信息是没有理解的

C语言之在#define中使用参数-诺禾

吃可爱长大的小学妹 提交于 2020-08-08 11:06:41
在#define中使用参数可以创建外形和作用与函数类似的类函数宏。带有参数的宏看上去很像函数,因为这样的宏也使用圆括号。类函数宏定义的圆括号中可以有一个或多个参数,随后这些参数出现在替换体中,如下图所示。 C语言之在#define中使用参数 Parts of a function-like macro definition 下面是一个类函数宏的示例: #define SQUARE(X) X*X 在程序中可以这样用: z = SQUARE(2); 这看上去像函数调用,但是它的行为和函数调用完全不同。程序macarg.c 演示了类函数宏和另一个宏的用法。该示例中有一些陷阱,请读者仔细阅读序。 The macarg.c Program / mac_arg.c -- macros with arguments / #include <stdio.h> #define SQUARE(X) X*X #define PR(X) printf("The result is %d.n", X) int main(void) { int x = 5; int z; printf("x = %dn", x); z = SQUARE(x); printf("Evaluating SQUARE(x): "); PR(z); z = SQUARE(2); printf("Evaluating SQUARE(2