速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 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:343458

评论

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

Flutter _ 你真的会用 Slider 组件吗?(1),androidapp开发入门

android 程序员 移动开发

Flutter 中 Wrap 的使用详解(含对比图) _ Flutter Widgets

android 程序员 移动开发

Flutter 2(1),字节跳动高工面试

android 移动开发

新一代云原生的微服务架构分享

鲸品堂

云原生

Flutter Dio二次封装,Android开发还不会这些

android 程序员 移动开发

Flutter 与 原生交互(Android),含BATJM大厂

android 程序员 移动开发

压缩性能提升10-20倍,TDengine助力零跑科技实现性能和成本最优化

TDengine

数据库 大数据 tdengine 后端

Flutter 命令本质之 Flutter tools 机制源码深入分析,kotlin实战

android 程序员 移动开发

架构训练营模块七作业-王者荣耀商城异地多活架构设计

李焕之

DialogFragment探索与实现,android高级工程师面试题

android 程序员 移动开发

模块七:王者荣耀商城异地多活架构设计

apple

Flutter App的启动流程,kotlin单例模式

android 程序员 移动开发

Flutter GetX使用---简洁的魅力!,Android高级

android 程序员 移动开发

Flutter _ 你真的会用 Slider 组件吗?,kotlin中文文档pdf

android 程序员 移动开发

上万规模数据湖如何在实验室测试

华为云开发者联盟

容器 数据湖 测试 MRS 集群

Flutter 插件使用必知必会,我的阿里春招之路分享

android 程序员 移动开发

DialogFragment探索与实现(1),2021年是做安卓开发人员的绝佳时机

android 程序员 移动开发

Flutter 性能优化 Tips,Android攒了一个月的面试题及解答

android 程序员 移动开发

Flutter-可以缩放拖拽的图片,安卓内存优化管理器

android 程序员 移动开发

FFmpeg之OpenGL绘制与Native Window绘制(五),安卓面试题及答案2020百度

android 程序员 移动开发

Flutter 2,面试官问的那些Android原理你都懂吗

android 程序员 移动开发

esp8266~lwip突破MTU最大1500限制,apt编译时期自动生成代码&动态类加载

android 程序员 移动开发

Python代码阅读(第53篇):字符串重复拼接

Felix

Python Code 字符串 阅读代码 Python初学者

百度爱番番数据分析体系的架构与实践

百度Geek说

架构 数据分析 后端

Flutter 网络请求框架封装,android源码设计模式解析与实战

android 程序员 移动开发

Flutter-可以缩放拖拽的图片(1),android最新开发语言

android 程序员 移动开发

Flutter 1,基于h5框架的移动app开发

android 程序员 移动开发

Flutter 中获取屏幕以及 Widget 的宽高,flutter小程序开发

android 程序员 移动开发

Flutter 扩展NestedScrollView (二)列表滚动同步解决(1)

android 程序员 移动开发

Flutter 扩展NestedScrollView (二)列表滚动同步解决(2)

android 程序员 移动开发

Flutter 扩展NestedScrollView (二)列表滚动同步解决

android 程序员 移动开发

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