横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind
整理 | AI 科技大本营(ID:rgznai100)
自然语言处理(NLP)被誉为 AI 皇冠上的明珠,传统 NLP 模型制作复杂,耗时耗力,且用途单一,难以复用。预训练语言模型是 NLP 领域的研究热点之一,“预训练+精调”已成为NLP任务的新范式,当前预训练语言模型正在改变局面,有望让语言 AI 走向入可规模化复制的工业时代。
今日,阿里巴巴达摩院正式开源预训练语言模型体系 AliceMind。历经三年研发,AliceMind 涵盖通用语言模型StructBERT、多语言VECO、生成式PALM、多模态StructVBERT、结构化StructuralLM、知识驱动LatticeBERT、机器阅读理解UED、超大模型 PLUG 等,此次大部分已开源:
https://github.com/alibaba/AliceMind
据了解,AliceMind 从通用语言模型 StructBERT 的基础上,拓展到多语言、生成式、多模态、结构化、知识驱动等领域,能力全面;先后登顶 GLUE 等六大 AI 权威榜单,其中上周再次登顶多模态榜单 VAQ Challenge 2021。
AliceMind 掌握语言超过100种,具有阅读、写作、翻译、问答、搜索、摘要生成、对话等多种能力,目前已成为阿里的语言技术底座,日均调用量超过 50 亿次,活跃场景超过 200 个,已在跨境电商、客服、广告等数十个核心业务应用落地。在阿里之外,AliceMind 广泛运用于医疗、能源、金融等多个行业。其中,浙江电网公司以 AliceMind 为底座为员工构建智能化运维平台,应用于变压器检修、供电抢修等业务,开始在国家电网公司统一推广。
AliceMind 拥有以下 8 大技术创新点:
通用语言模型(StructBERT)
Google 于 2018 年底推出的 BERT 模型是业界广泛使用的自然语言预训练模型,达摩院团队在 BERT 的基础上提出优化模型 StructBERT,让机器更好地掌握人类语法,理解自然语言,2020 年多次在自然语言处理领域顶级赛事 GLUE Benchmark 上夺冠。
StructBERT 通过在句子级别和词级别引入两个新的目标函数,好比给机器内置一个“语法识别器”,使机器在面对语序错乱或不符合语法习惯的词句时,仍能准确理解并给出正确的表达和回应,大大提高机器对词语、句子以及语言整体的理解力。
多语言语言模型(VECO)
跨语言预训练初衷是为多种语言建立起一个统一联合的语义表示,AliceMind 体系内的跨语言预训练模型 VECO 一经提出,便在国际权威多语言榜单 XTREME 排名第一,VECO 目前支持 100 种语言的理解和生成任务。
VECO 效果亮眼,主要是因为两项创新:一是其可以更加“显式”得进行跨语言信息的建模(图1);二是 VECO 在预训练的过程充分学习用于语言理解(NLU)和生成(NLG)任务,并让二者互相学习提高彼此(图2)。因此,VECO 模型成为了多语言领域内的第一个同时在多语言理解(NLU)和语言生成(NLG)任务上均取得业内最佳效果的模型,也被顶会 ACL2021 录用。
图1
图2
生成式语言模型(PALM)
PALM 采用了与之前的生成模型不同的预训练方式,将预测后续文本作为其预训练目标,而非重构输入文本。PALM 在一个模型中使用自编码方式来编码输入文本,同时使用自回归方式来生成后续文本。这种预测后续文本的预训练促使该模型提高对输入文本的理解能力,从而在下游的各个语言生成(NLG)任务上取得更好的效果。
PALM 在 MARCONLG 自然语言生成公开评测上取得了排行榜第一,同时在摘要生成标准数据集 CNN/DailyMail和Gigaword 上也超过了现有的各个预训练生成语言模型。PALM 可被用于问答生成、文本复述、回复生成、文本摘要、Data-to-Text 等生成应用上。
多模态语言模型(StructVBERT)
StructVBERT 是在通用的 StructBERT 模型基础上,同时引入文本和图像模态,在统一的多模态语义空间进行联合建模,在单流架构的基础上同时引入图像-文本描述数据和图像问答数据进行多任务预训练,并在多尺度的图像特征上进行分阶段预训练。此外,模型利用attention mask矩阵控制实现双流架构,从而提升跨模态双流建模能力,结合单流、双流结构的优点进一步提升模型对文本和图像两个模态的理解能力。关联文章已被 ACL2020 录用。
结构化语言模型(StructuralLM)
StructuralLM 在语言模型 StructBERT 的基础上扩展到结构化语言模型,充分利用图片文档数据的 2D 位置信息,并引入 box 位置预测的预训练任务,帮助模型感知图片不同位置之间词语的关系,这对于理解真实场景中的图片文档十分重要。Structural LM模型在 DocVQA 榜单上排名第一,同时在表单理解 FUNSD 数据集和文档图片分类 RVL-CDIP 数据集上也超过现有的所有预训练模型。
机器阅读理解模型(UED)
自最开始声名大噪的SQuAD榜单起,阿里围绕着机器阅读理解发展路线:单段落抽取->多文档抽取/检索->多文档生成->开放式阅读理解,拿下了一系列的榜单冠军:
2018 年在单段落机器阅读理解领域顶级赛事 SQuAD 上首次超出人类回答精准率。
2018 年在多文档机器阅读理解权威比赛TriviaQA和DuReader上双双刷新纪录,取得第一名。
2019年在信息检索国际顶级评测TREC 2019 Deep Learning Track上的段落检索和文档检索任务上均取得第一名。
2019年在机器阅读理解顶级赛事MS MARCO的段落排序、多文档答案抽取以及多文档答案生成3个任务均取得第一名,并在多文档答案抽取任务上首次超越人类水平。
超大规模中文理解和生成统一模型(PLUG)
PLUG 是目前中文社区已开放 API 的最大规模的纯文本预训练语言模型,集语言理解与生成能力于一身。PLUG 可为目标任务做针对性优化,通过利用下游训练数据 finetune 模型使其在该特定任务上生成质量达到最优,弥补之前其它大规模生成模型 few-shotinference 的生成效果不足,适于应用在实际生成任务。同时,PLUG 采用 encoder-decoder 的双向建模方式,因此,在传统的 zero-shot 生成的表现上,无论是生成的多样性,领域的广泛程度,还是生成长文本的表现,较此前的模型均有明显的优势。
知识驱动的语言模型 LatticeBERT
LatticeBERT 在预训练模型中训练中有效地融合了词典等知识,从而能够同时建模字和词的结构,来线性化地表示这种混合粒度的输入。第一步是将涵盖多粒度字词信息的中文文本用词格(Lattice)表示起来,再把这个词格线性化作为BERT 的输入。LatticeBERT 在 2020 年 9 月达到中文予以理解评估基准 CLUE 榜单的 base 模型中的第一名。
传送门:
https://github.com/alibaba/AliceMind/
更多了解:
通用预训练模型StructBERT: https://arxiv.org/abs/1908.04577
多语言预训练模型 VECO: https://arxiv.org/abs/2010.16046
生成式预训练模型PALM: https://arxiv.org/abs/2004.07159
多模态预训练模型E2E-VLP: https://arxiv.org/abs/2106.01804
结构化预训练模型StructuralLM:https://arxiv.org/abs/2105.11210
融合知识的预训练模型 Lattice-BERT: https://arxiv.org/abs/2104.07204
更多精彩推荐
这篇论文,透露谷歌团队构想的“未来搜索”盛夏海边,用Python分析青岛哪些景点性价比高搞深度学习框架的那帮人,不是疯子,就是骗子点分享点收藏点点赞点在看
相关文章:

WP8:Unity3D之间的值传递
原地址:http://www.cnblogs.com/zhxilin/p/3799210.html 在前面的讨论中,我们介绍了如何在Unity3D for WP8中使用高于.Net 3.5的第三方库,传送门:http://www.cnblogs.com/zhxilin/p/3311240.html 在Unity3D和WP8的交互当中,如果要…

未来的程序员面临着怎样的职业变化
作为程序员,我们总是身处于如万花筒般变化无常的技术世界里。我们可能也是那群能够最早感知到科技变化所带来巨大影响的人。然而,面对这一波又一波向我们袭来的技术变革,我们是否也能从中窥见一丝规律,从而使自己更好地应对未来呢…

C#中使用Win32和其他库
C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成…

神经网络的学习方式网络传播和图卷积,两者到底什么关系?
作者 | Remy Lau本文转载自CSDN博主「deephub」你可能听说过图卷积,因为它在当时是一个非常热门的话题。虽然不太为人所知,但网络传播是计算生物学中用于网络学习的主要方法。在这篇文章中,我们将深入研究网络传播背后的理论和直觉࿰…

string与数值之间的转换
9.50 编写程序处理一个vector<string>,其元素都表示整数型。计算vector中所有元素之和。修改程序,使之计算表示浮点值的string之和。 程序如下: #include<string> #include<vector> #include<iostream> using namespace std;int…

一个完整的大作业
1.选一个自己感兴趣的主题。网址为http://news.gzcc.cn/html/xiaoyuanxinwen/ 2.网络上爬取相关的数据 import requests import re from bs4 import BeautifulSoup urlhttp://news.gzcc.cn/html/xiaoyuanxinwen/ resrequests.get(url) res.encodingutf-8 soupBeautifulSoup(res…

剖析C#的多态
一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了…

OSPF单区域配置
OSPF单区域配置 实验名称:OSPF单区域配置 实验拓扑: 实验配置步骤: 交换部分: Switch1 Enable Vlan database Vlan 10 name magi Exit 将vlan10加入到端口f0/2 Conf t Int fa0/2 Switchport mode access Switchport access vlan …

一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo...
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 可以说,…

全“芯”关注用户需求 AMD“超轻薄笔记本”杀出重围
现在10.6寸跟11.6寸的笔记本已经占据整个笔记本市场的15%左右,跟过去只有几个点相比,已经有很大的提升了,几乎是百分之百的提升,超轻薄笔记本是大势所趋。这种趋势也带动了两大芯片巨头英特尔和AMD的角逐,英特尔为新一…

“去了太空就别回来了!”贝索斯还没“上天”,就遭美国 5 万多人请愿:不准重返地球...
整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)美国富翁们有钱了都干什么?比尔盖茨买跑车、甲骨文老板拉里埃里森买游艇,还有呢?那必然是亚马逊创始人杰夫贝索斯和特斯拉 CEO 埃隆马斯克都很热爱的“上太空”&…

C语言中的字符串处理
•字符串字面量(字符串常量,在C标准中称为,字符串字面量) 如何存储字符串字面量 从本质上而言,C语言把字符串字面量作为字符数组来处理。当C语言编译器在程序中遇到长度为n的字符串字面量时,它会为字符串字面量分配长度为n1的…

php 派生类 数据库连接 单例模式 xhprof实测 高效连接
2019独角兽企业重金招聘Python工程师标准>>> 、 <?php //要解决的问题 在一个方法中多次调用类 //多次调用父类相同的类 class Pdoo {public function __construct(){}//这是个数据库的类function select($name) {echo "正宗" . $name;} } class Con…

安装MariaDB
结果我还是成功安装了MariaDB,其实大部分时候系统的操作不会有什么问题的,只是有时候会遇到一些问题较折腾。 最简单的指南:https://www.linode.com/docs/databases/mariadb/how-to-install-mariadb-on-centos-7 根据stackoverflow网友的说法…
CentOS5.6下安装Oracle10G软件 【保留报错经验】
CentOS5.6下安装Oracle10G ******************************************************************************** *目标:在Centos系统下,安装Oracle10g软件 *步骤: * 1、安装包 * 2、域名解析设置及网络配置 *…

人大团队研究:面向文本生成,预训练模型进展梳理
作者 | 刘媛媛来源 | 数据实战派文本生成是 NLP 中最重要且颇具挑战性的任务之一。近年来,预训练语言模型 (Pretrained Language Models ,下文简称 “PLM”) 的范式,极大地推动了该领域的发展。例如,我们曾介绍过 AI 在古诗生成上…

用C#编写获取远程IP,MAC的方法
如果要想获得远程的地址,需要用sendarp这个函数来实现。具体的代码如下: [DllImport("Iphlpapi.dll")] private static unsafe extern int SendARP(Int32 dest,Int32 host,ref IntPtr mac,ref IntPtr length); [DllImport("Ws2_32.dll…

纯JS导出excel(支持中文)
JsonExportExcel 简介 github EXAMPLE 使用方法 1.引入js (dist目录下JsonExportExcel.min.js) <script src"https://cuikangjie.github.io/JsonExportExcel/dist/JsonExportExcel.min.js"></script>npm install -save js-export-excelconst ExportJson…

C#如何取硬件标志
using System; using System.Runtime.InteropServices; using System.Management; namespace Hardware { /// <summary> /// Hardware_Mac 的摘要说明。 /// </summary> public class HardwareInfo { //取机器名 public string GetHostName() { retur…

Java发送邮件工具类(可发送匿名邮件)
为什么80%的码农都做不了架构师?>>> 为了不想到处去下载jar包,我使用maven为我管理,在开始编码这些东西之前,我们先在pom.xml文件中<dependencies>标签内加入以下内容: <!-- Following jars are …

华为、百度、小米踏上造车新征程,软件如何吞噬汽车?
【编者按】在全行业线上化的今天,新一轮的技术变革从根本上动摇了传统汽车行业的百年游戏规则,并出现了以特斯拉、蔚来、小鹏等为代表的造车新势力,和以英伟达、百度、华为等为代表的技术赋能者。传统汽车企业如何应对才能拿到行业变革的门票…

js同时打开两个连接
js同时打开两个、多个连接 <html xmlns"http://www.w3.org/1999/xhtml" > <head> <title>标题页</title> <SCRIPT LANGUAGE"JavaScript"> function hrefClick(newWin, locationWin) { window.open(newWin); //打开…

C#下用P2P技术实现点对点聊天
.NET将关于多线程的功能定义在System.Threading名字空间中。因此,要使用多线程,必须先声明引用此名字空间(using System.Threading;)。 即使你没有编写多线程应用程序的经验,也可能听说过“启动线程”“杀死线程”这些…

Java全能手册火了!Redis/Nginx/Dubbo/Spring全家桶/啥都有
前言本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。本来想将文件上传到github上,但由于文件太大有的都无法显示所以…

关于小数的精确运算
package test;import java.math.BigDecimal;public class Test { public static void main(String[] args) { //double 只适合做科学运算,如果要进行精确运算,是不能用double来做的 double a 0.1; double b 0.006; Sys…

转载:什么才是程序员的核心竞争力
下文转载自http://www.cnblogs.com/ajianbeyourself/p/4189449.html,版权归原作者所有。 文章格式略有编辑,内容稍作整理,应该不影响原意。 1.对人的态度,对待工作和问题的态度,技术能力,我认为这是做技术的…

在C#中使用代理的方式触发事件
事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某个按钮,某…

发布AI操作系统、应用市场,开源机器学习数据库和AI操作系统内核,第四范式这波操作有点秀!
“AI的发展经历了高期望——能否落地——落地是否有用”等多次潮起潮落。今天,AI的价值再次引发一些讨论和怀疑。” 第四范式创始人兼首席执行官戴文渊在近日举行的新品发布会上如是说。 那么,应该如何打破这些质疑呢?号称全球迁移学习第一的…

.NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
阅读目录 1.复杂的JSON啥样子?2.使用JSON C# Class Generator介绍和使用3.就这么完了?No,没那么简单4.资源去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的…

C语言字符串处理的库函数
使用C语言字符串处理的库函数,务必包含头文件string.h,即#include <string.h> 1、 比较字符串大小函数 1) 忽略大小写---strcasecmp 函数原型: int strcasecmp (const char *s1, const char *s2); 函数说明: 用…