写点什么

大规模语言技术前瞻:跨语言与多模态有望短期突破

  • 2021-08-26
  • 本文字数:3318 字

    阅读完需:约 11 分钟

大规模语言技术前瞻:跨语言与多模态有望短期突破

自然语言处理和语音、视觉同为当下人工智能热点领域。人工智能从下到上包括计算智能、感知智能、认知智能和创造智能,其中视觉和语音属于感知智能,自然语言处理属于更高层级的认知智能,因此自然语言处理也被誉为人工智能皇冠上的明珠。


要构建真正的人工智能,自然语言处理是绕不过去的一步。

 

随着大数据、算力和深度学习的浪潮,自然语言处理也进入了一个快速发展期。而大规模语言模型是自然语言处理取得突破的关键。不久前,微软全球合伙人、微软亚洲互联网工程院副院长、首席科学家姜大昕博士在华泰证券“行知”新经济云峰会-数字科技专场上,分享了大规模语言技术的落地实践与发展趋势。

大规模语言模型突破:预训练+微调新范式

 

2018 年底,自然语言处理获得重大突破,BERT 模型横空出世,它在经典的阅读理解测试集上达到了超越人类准确率的水平。BERT 集成了此前深度学习在自然语言处理领域已经取得的成果,表现出强大功能,主要有以下特点:

 

特征学习


BERT 作为深度神经网络可以自动从数据中抽取有效的特征表示,避免了人工设计特征这样费时费力的步骤。

 

自监督学习


BERT 采用了自监督的学习方式,能够自己构造训练数据,利用网页数据作为训练集,从而可以训练上亿参数大模型。

 

开创“预训练+微调”的新范式


这一点尤其重要,宣告了大规模预训练模型时代的到来。过去自然语言处理需要根据任务选择相应模型,导致每个任务都只能从零开始训练模型,数据无法共享、模型无法混用,小数据训练小模型限制了自然语言的应用。

 

而 BERT 模型把训练拆成两步,第一步是预训练,用自监督方法从大量文本中学习语言的特征表示,得到大规模预训练语言模型,帮助模型执行不同任务。

 

第二步是模型微调,针对特定任务,只要用比较少的数据就能训练出特定下游任务的模型,在特定任务上实现比较好的效果。打个比方,预训练模型就像本科生学习各种基础课,而微调是研究生学习专业课,基础知识掌握的比较牢固,学习专业课就相对容易,这就是 BERT 的主要思想。

 

沿着 BERT 的思路,大家把模型做得越来越大、能力越来越强。比如 2020 年 3 月,微软推出图灵模型,参数量是上一代的 10 倍,达到了 170 亿参数。仅三个月之后,它又推出了 GPT-3 模型,再翻了 10 倍,达到 1750 亿参数,轰动一时。国内科技公司也预训练了一批大模型,比如对标 GPT-3 的华为盘古,就达到了 1000 亿参数,最近智源悟道发布的模型达到了 1.75 万亿参数。预训练技术和随之产生的大规模模型正在快速推动自然语言处理的发展,这使得大量落地应用成为了可能。

助力数字化转型:聚焦平台层和工具层

 

四年前,我们开始和企业,一起探索如何将大规模语言模型落地应用,推动数字化转型。

 

我们接触了许多企业和政府部门,发现数字化转型有一些共同的痛点。企业想要拥抱 AI 一般有两个选择,采购 AI 解决方案或者自建 AI 能力,但二者都有问题。如果采购,则会面临技术黑盒子、可拓展性差、无法与自建系统深度集成等问题。但完全自建又有技术门槛高、人力成本昂贵等问题。

 

经过一段时间讨论,我们找到了一条中间路线,推出了包含数据层、平台层、工具层和业务层的 Carina 平台。这四层中,微软主要负责平台层和工具层,把我们所擅长的技术集成到这两层,而企业则可以根据具体业务场景开发应用,这样企业可以充分利用我们的技术,我们也不需要特别深入理解企业具体业务。就数据层和业务层而言,因企业之间有较大差异,很难有统一的解决方案,所以合作方式多种多样。

平台层


平台层的目标是围绕机器学习模型的生命周期,为企业提供模型开发、部署的环境和工具。以 Carina 为例,包含了训练、部署、调度和共享四大平台,在这个大框架下,我们再根据企业操作人员痛点设计具体功能和模块。经过不断开发验证和改进,这个平台已经非常稳定、好用,可以支持上千人同时协同开发。

工具层


工具层的目标是提供各种自然语言处理模型、调用接口和定制化工具,企业开发各种场景具体应用时可以使用。企业业务人员在开发具体应用的时候可以调用工具层提供的各种工具,这可以是一个模型,也可以是接口,甚至是一个简单的定制化工具。

 

这一层要解决三个挑战:自然语言处理任务繁多、算法各异,标注数据昂贵且质量越高越贵,通用模型往往在细分领域表现不佳。为此,我们制定了“四步走”策略:

 

第一步,预训练大规模语言模型,我们广泛采用了包括微软图灵模型在内的业界流行的预训练模型,这为后面所有工作打下了很好的基础。

 

第二步,在通用模型基础上为不同任务微调,我们使用了各类标注数据,有了这些数据,平台上每一个任务的表现都经过经验,可以满足工业级应用需求。

 

第三步,针对不同领域进一步微调,在这一步,平台提供工具让使用者可以便捷地加入知识和数据,让模型适应用户的具体场景。

 

第四步,把大模型压缩变成小模型部署上线,最常使用的方法是知识老师,让它产生很多训练数据,再训练一个小的学生模型,通常这个小模型只有几十兆,在 CPU 上也可以跑起来。

展望未来突破点:跨语言模型和多模态

 

大规模语言模型技术的未来会是什么样呢?我的观点是,常识和推理任重道远,还需要很长时间才能解决,跨语言和多模态有望在未来几年取得突破。

跨语言模型


跨语言模型正快速发展,不仅仅是机器翻译,还包括支持上百种语言的自然语言处理任务的模型。

 

除了学术界的研究非常活跃,工业界的跨语言模型也到了成熟落地时期,比如微软的所有产品都要求支持 200 多个地区的 100 多种语言。我下面展示几个例子。

 

第一个例子是来自于搜索引擎,目前我们是跨语言的,可以为世界上 100 多种语言,200 多个地区提供搜索服务。

 

第二个例子是在搜索的同时,我们也为 100 多种语言提供自然拼写纠错功能,用户搜索的时候打错了查询关键字,我们也可以帮助找到正确的拼写,别的语言,我们不认识,对于中文语言比如“一起来看流星雨”,星字拼错了,我们会换成正确的流星雨的拼写。

 

第三个例子是邮件自动回复功能,用户收到邮件,我们用很简短话来回复,在下面有一些回复框,点击回复内容就可以自动回复了,这一功能目前也支持绝大多数主流语言。

 

第四个例子是大家用的 Teams 里面的智慧助手,这可以为多语言提供语言理解服务,可以准确识别用户的意图,并且抽取关键字。

 

目前,语料丰富的大语种已经实现了工业级应用,但是许多小语种,由于语料很少、尤其是双语拼音数据的缺乏,效果还不理想。如何把大语种的丰富语料知识应用到小语种上还有待研究。

 

另外,即使是大语种,有了落地的成熟工业级应用,但我认为也就是八、九十分的水平,最后的十分、二十分非常难拿。比如歧义,“我的钢笔没有水了”,机器可能不理解这是指“墨水”,从而翻译成“水”;再比如缺少对应翻译,“一带一路”、“到基层去”这类内容就很难翻译,只能意译。这也是有待解决的问题。

多模态


多模态是指让计算机拥有处理语音、文本、图像、视频、知识等不同模态信息的能力。过去,语音、视觉、自然语言处理几大人工智能领域平行发展,彼此很少有交流,模型之间可以互相交流,但一个模型很难同时接受多个模态的输入。

 

很多学者相信,人类不是接收外界信息还是表达自己的意图,都会综合运用大脑中多个感知和认知模块,既然人类智能是多模态的,我们也应该让机器把不同模态的信息加以融合,所以多模态学习成为当前的热点方向之一。

 

多模态的工业落地比如搜索引擎,现在可以用文本搜索到图片、视频,但如果要精确定位到想要的某一段视频,就需要文字和视频信息的紧密融合。另外,多模态研究如果能够获得突破,增强现实、虚拟现实、虚拟人类等方向也会得到飞跃式发展。

 

我一直认为要让机器理解常识,就需要机器把多种模态联系起来。我们人类获得常识的途径往往不是单纯通过文本,而是通过自身在现实世界中的体验。如果让机器也获得“自身体验”比较困难的话,就退一步,让机器能够“观察”到现实世界的体验是多模态的,这对机器理解常识也会有所帮助,从这个意义上说,多模态对推动整个通用人工智能的发展意义非常重大。


自然语言处理处于一个美好的时代,虽然还有很多问题没有解决,但是已经有了很多成功的商业应用。我相信随着技术的进一步发展,自然语言处理一定能够更好助力数字化转型。


以上内容来自华泰证券“行知”新经济云峰会-数字科技专场

 

2021-08-26 18:343447

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发工程师必读经典好书清单

测试人

软件测试 测试开发 测试工程师 测试书籍

直面数字化挑战,戴尔PowerEdge R750最全面的通用服务器

科技热闻

Linux系统-进程信号

可口也可樂

Linux 信号 10月月更

Go语言入门—06切片

良猿

Go golang 后端 10月月更

常见的网路设备和网络参考模型,以及常见的网络层协议及数据通信过程

Python-派大星

10月月更

写个JS深拷贝,面试备用

helloworld1024fd

JavaScript

HummerRisk V0.4.1发布:新增依赖文件检测功能,优化 AWS 检测规则组,优化资源态势等内容

HummerCloud

云计算 云安全 云原生安全 10月月更 安全合规

React Context源码是怎么实现的呢

flyzz177

React

Linux网络-套接字编程

可口也可樂

Linux 10月月更 套接字编程

计算机网络 ,什么是Internet?什么是协议?TCP/UDP的区别以及优缺点 分组交换与电路交换的区别以及优缺点

Python-派大星

10月月更

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

软件测试 | 测试开发 | 校招面试真题 | 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?

测吧(北京)科技有限公司

测试 测试开发

软件测试 | 测试开发 | 测试开发工程师必读经典好书清单,抽奖赠书送福利!

测吧(北京)科技有限公司

测试

React源码分析4-深度理解diff算法

goClient1992

React

vue组件通信方式有哪些?

bb_xiaxia1998

Vue

数通路由交换之网络基础(一)

Python-派大星

10月月更

前端经典面试题合集

loveX001

JavaScript

谈谈曾经做的一个测试报告平台(2)

MegaQi

测试平台 10月月更

Linux网络-基础概念

可口也可樂

Linux 网络基础 10月月更

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

阿里前端二面高频react面试题

beifeng1996

React

三次握手与四次挥的问题,怎么回答?

loveX001

JavaScript

MASA Framework 缓存入门与设计

MASA技术团队

.net MASA Framewrok MASA

有奖测评 | 今天种下{1},明天就会收获一片{11.11}——程序员日暨11.11狂欢季来啦

京东科技开发者

云主机 测评 双十一 京东云 程序员日

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

一文梳理vue面试题知识点

bb_xiaxia1998

Vue

7 步保障 Kubernetes 集群安全

SEAL安全

Kubernetes 云原生 Kubernetes 集群 企业号十月 PK 榜 审计日志

输入到页面展现到底发生什么?

loveX001

JavaScript

即时通讯技术文集(第3期):高性能网络编程系列 [共14篇]

JackJiang

网络编程 即时通讯IM

DOM,Diff算法与Key机制

beifeng1996

React

React源码分析3-render阶段(穿插scheduler和reconciler)

goClient1992

React

大规模语言技术前瞻:跨语言与多模态有望短期突破_语言 & 开发_Geek_c0e0e9_InfoQ精选文章