【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

BERT+Transformer 或可成为 NLP 领域的大一统模型?

  • 2019-08-10
  • 本文字数:5875 字

    阅读完需:约 19 分钟

BERT+Transformer或可成为NLP领域的大一统模型?

NLP 是人工智能中最难的问题之一,对它的研究与落地充满了挑战性。预训练模型 BERT 的出现给自然语言处理领域带来了里程碑式的改变。我们采访了新浪微博机器学习团队 AI Lab 负责人张俊林老师,他推测,BERT+Transformer 有可能在未来几年替代掉 NLP 各个不同应用领域之前五花八门的具体技术,或可成为 NLP 领域的大一统模型。另外,他也是此次 QCon上海2019 “人工智能应用与实践”专题的出品人,对这个专题感兴趣的同学可以关注一下。

InfoQ:首先请您做一下简单的自我介绍,包括您的工作经历和学习经历。

张俊林:我目前在微博工作,担任微博机器学习团队 AI Lab 的负责人,主要是推动业界先进技术在微博的信息流推荐业务落地。之前在阿里担任资深技术专家并负责新技术团队,也在百度凤巢做过。博士毕业于中科院软件所,主要的专业兴趣集中在自然语言处理及推荐搜索等方向上,喜欢新技术并乐于做些技术分享,之前写过两本书《这就是搜索引擎:核心技术详解》以及《大数据日知录:架构与算法》,这两本书的读者评价还可以。

InfoQ:老师现在主要研究的领域是自然语言处理(NLP)和推荐系统,能介绍一下 NLP 技术吗?它有哪些落地场景?

张俊林:NLP 是个非常大的技术方向,包含很多子领域,比如文本分类、文本摘要、机器翻译、阅读理解、对话机器人……等等,很多子方向。不过不同子领域面临的核心目标是一致的:就是如何让机器真正理解自然语言文本。这个目标难度还是很高的,不说是 AI 的终极目标估计也差不太远。当然,目前的技术水准,距离这个目标明显也差得很远。


至于落地场景,其实有许多,只是它作为技术支撑,比较靠后,不太容易被察觉出来。典型的例子比如搜索、推荐、信息流等相对成熟的应用领域,也有最近比较热的应用领域,比如对话机器人、智能客服、阅读理解等很多应用领域。一般大公司都有专门的 NLP 团队,这说明了 NLP 的应用普遍性,只是普通用户有时候很难直观体会到它的存在。

InfoQ:似乎目前 NLP 领域很少出现“独角兽”企业,也有人说,自然语言处理是个大坑,那么您认为 NLP 落地有哪些难点?

张俊林:NLP 各种任务更偏向后台技术平台的形式,是一种能力输出,往往不会是一种业务形态,它一般是支撑某些业务形态的支撑技术。总体而言,跟用户能够直接感知到的产品形态比较,整体靠后一些,一般终端用户很难感知到它的存在。能够在产品形态方面直接感知到 NLP 技术的业务领域其实很少,比如对话机器人,智能客服等这些算是比较靠前的业务形态,大多数都偏靠后一些。NLP 是个技术领域,和产品形态本来也没必然的关系。所以,我觉得本来就不应该出现 NLP 领域的“独角兽”企业这种说法,如果说是某个独角兽企业,大量应用了 NLP 技术,可能会更准确一些。当然,这种独角兽企业确实也很少,因为独角兽企业本来就很少,摊上用 NLP 技术的更少,所以也正常。


要说落地难点的话,其实本质上就一个:就是技术不够成熟,不足以支撑好的应用体验。当然,这个分具体的子领域,有些领域,比如文本分类聚类、NER 命名实体识别等一些简单任务,其实落地效果已经不错了,也被普遍应用。而对于很多高难度的应用领域,其它问题都是表面问题,本质问题其实是技术不够成熟。


上面说的这个问题有长期性,不是短期内能够解决的。如果说 NLP 落地短期难点的话,比如 Transformer 和 Bert 这种效果很好的新技术,可能因为模型比较重,高效的分布式大规模训练系统以及快速的在线服务,可能是影响大规模应用目前的短期障碍,但是我相信很快会有大公司开源出一些好用的系统的,所以其实问题也不大。

InfoQ:发展到现在,自然语言处理领域出现了很多令人激动的新想法与新工具,比如号称最强 NLP 预训练模型的 BERT,它的出现对 NLP 领域有哪些重大影响?

张俊林:BERT 的出现不仅仅是自然语言处理领域的里程碑,即使放到人工智能这个大的领域,也是非常重要的里程碑性的工作。对我而言,我觉得 BERT 的出现比把深度学习引入 NLP 还要重要些,主要原因是 BERT 的两阶段模式效果远远超出预期。另外,它给 NLP 研发者趟通并指明了一条光明大道:就是通过自监督学习,把大量非监督的文本充分利用起来,并将其中的语言知识编码,对各种下游 NLP 任务产生巨大的积极作用。这是非常了不起的贡献,在 BERT 之前,其实很多工作希望能够达到这个目的,但是应该说路并没有被趟通,而 BERT 证明了这条路是能走通的。


而且我的个人判断是:BERT+Transformer 有可能在未来几年替代掉 NLP 各个不同应用领域之前五花八门的具体技术,有可能成为一个 NLP 领域的大一统模型,这在 NLP 历史上也是没有出现过的情形。总而言之,BERT 的重要性再强调也不为过。当然,我这个人一向在技术路线上比较激进,所以上述观点纯属个人判断。

InfoQ:中英文语言有相当大的差异,那么 BERT 在处理中文语言时,会不会比处理英文语言更难?他们有哪些异同?

张俊林:我不认为 NLP 的技术在处理英文和中文的时候有什么本质的区别,也包括 BERT 在内。大家一般的传统意识会认为中文更难一些,因为中文是表意文字,而且中文还需要分词等等。我觉得这个不是什么重要区别,如果我们具备一个强大的特征抽取器,那么理论上语义作为特征,能够被编码到参数里,所以是中文是英文无所谓。至于中文分词,我觉得并不是必须存在的,如果特征抽取器足够强,中文 NLP 任务也应该以字作为输入,至于哪些连续的字应该作为一个单词是合理的,这应该作为内部特征,由特征抽取器来自动做,人并不需要看到这些单词。目前很多 NLP 任务,都是先分词,再往后走,以前是这样,但是目前技术发展足够成熟了,现在,包括以后,我不觉得这是必须具备的步骤。


总体而言,我觉得之所以之前大家普遍认为中文比较难,是因为技术发展不够成熟,没有一个强大的特征抽取器导致的。所以需要很多人工的工作,或者需要把 NLP 划分为多个阶段,把一个难题分而治之,但是也会带来相应的问题,比如错误累计和放大等问题等。随着技术的发展,我觉得这些都不是必要的,不同语言不是问题,所有任务都应该 End to End 的被解决,包括分词等,我感觉也不是必须单独存在的。

InfoQ:许多推荐系统产品都离不开 NLP,NLP 在新浪微博有哪些业务形态?做推荐系统需要对 NLP 有很深的研究吗?

张俊林:NLP 在微博主要是作为推荐业务的后台支持方向存在的,也有比较多的适用场景,比如要深入理解用户的兴趣,需要能够理解用户发的或者互动过的微博内容,而对微博内容的理解,以及用户兴趣的建模等,都离不开先进的 NLP 技术积累。目前,我们也大规模地应用了 BERT 等模型,并取得了较好的业务效果。


对于推荐系统算法工程师来说,对 NLP 的了解不需要特别深入,但是也应该具备相关知识和经验。一方面来说,文本内容往往是很多推荐场景的重要特征,而想要把这块做好,选择先进的 NLP 技术对于知识储备还是有要求的;另外一方面,文本特征可能只是很多类型特征中的一种,而且推荐的知识体系和 NLP 还是区别较大(当然,以后也许会被统一到 Transformer 也不一定,不过目前还是区别较大),所以貌似也不需要对于 NLP 有特别深入的了解,也能把推荐这个事情做好。

InfoQ:新浪微博的信息推荐系统有哪些技术栈?

张俊林:因为微博的推荐场景是个典型的信息流业务,所以包含了很多环节。从偏后台的物料质量评估、用户兴趣建模、微博内容理解、图片视频理解以及多模态融合,到业务前台的推荐系统的召回、粗排以及精排等推荐环节,以及离线及在线的大规模机器学习模型训练及服务等。算是一个标准的信息流推荐系统。

InfoQ:为打造更精准的推荐系统,新浪微博做了哪些工作?有计划引入一些新的技术吗?或者说,有在关注哪些新技术?

张俊林:近两年来,在推荐系统的召回和排序两个环节,微博机器学习团队都进行了大规模的技术升级,并获得了明显的业务效果。召回层面,我们目前已经实现了大规模 FM 统一召回模型,正在逐步替代传统的多路召回模型,并在各项指标取得了非常明显的业务效果;排序层面,我们经过了 LR、大规模 FM、FM+FTRL 在线模型等不断的模型升级,每次大的模型升级都取得了收益,目前也小流量了以 DeepFM 为基础的深度学习排序模型。在物料比如微博的理解方面,目前也在尝试多模态的技术路线,并取得了一定进展。


在业务团队将新技术不断升级落地的同时,微博 AI Lab 也不断尝试些推荐领域重要方向的新技术,并推动这些新技术在业务落地。比如我们在 18 年提出的双线性 FFM 模型,在获得和 FFM 模型相近效果的情况下,参数规模减少了几十倍,也提出了几个新的深度学习排序模型,比如 FibiNet 以及 FAT-FFM 模型,这些工作陆续发表在 Recsys2019 以及 ICDM2019 等国际会议上。


我个人比较关注统一召回模型技术以及新型的 CTR 模型上。感觉这两块在业界来说,还有很大的优化空间,是值得深入探索的方向。

InfoQ:2019 年已经过半,您认为在未来,推荐系统和 NLP 领域还有哪些方向值得研究?

张俊林:工业化的推荐系统经过最近几年的发展,目前已经进化到了深度学习时代,代表性的模型有很多,比如 Wide& Deep 或者 DeepFM 模型。但是跟 NLP 或者图像领域相比,很明显深度学习在实用化的推荐系统应用场景还未能发挥符合人们期待的效果。并没有哪个深度学习推荐模型能够相对传统模型有非常大的性能提升,这里面原因可能比较复杂。从模型角度看,我比较看好将 Transformer 模型应用在推荐领域,大家知道,Transformer 在 NLP 里面已经大放异彩,而且从机制上,它是比较适合用来做推荐或者 CTR 模型的。但是可能仍然需要针对推荐领域的特点做些改造,直接应用效果也没有太体现出来,但是总体而言,我个人比较看好这个模型。当然,从实用化的推荐引擎角度,还有很多值得关注的点,比如多模态融合/多目标、多任务与 Transfer Learning 以及 AutoML 的应用等,都是很有前景和值得探索的方向。刚才讲的是排序模型和推荐机制,至于推荐领域的另外一个重要环节:召回阶段,我觉得采用模型统一召回代替传统的多路召回是个比较明显的趋势。


至于 NLP 领域,自从 BERT 的出现,应该说 NLP 各个应用领域进入了一个新时代。Bert 在相当多的 NLP 应用领域使用后,取得了目前最佳的效果,而且不少领域有大幅度的性能提升。这预示着大量无监督数据开始被 NLP 真正使用起来,这个如果能用好威力无穷。而且目前看,BERT+Transformer 有统一 NLP 各个子领域的能力和趋势,这也是非常好的一个进展。当然,因为 BERT 和 Transformer 的出现时间还比较短,所以大家其实对这两者理解还不够深入,对其中真正发挥作用的因子还没有整理清楚,所以深刻理解两者的作用机理,以及针对性的对两者进行改进,是非常值得深入探索的方向。比如如何将 BERT 应用在文本生成领域,如何融合多模态的信息等很多方向都具备很大的挑战。

InfoQ:您觉得深度学习在推荐系统的应用方面存在哪些问题?

张俊林:就像上面说的,尽管推荐领域目前也进入了深度学习时代,但是明显技术前进的步伐缓慢,应该说深度学习在推荐领域还没有发挥出特别大的作用。一方面,并没有哪个 DNN 推荐模型相对传统模型有幅度巨大的效果提升,包括从模型深度来说,图像领域比如 ResNet 已经做到了几百层,NLP 领域的 Transformer 也能够做到了 40 到 70 层,而你会发现 DNN 版本的推荐系统目前还只能做到 3 到 5 层,深度做不起来。说深度貌似没说到点上,其实不然。我们回顾一下,在 ResNet 出现之前,图像领域最多只能做到 20 多层,NLP 也只能做到超不过 10 层,ResNet 和 Transformer 突破了这种情况,把深度做起来了,效果也跟着深度做起来了。其实深度和效果是有比较紧密的正相关作用的,所以我个人觉得,目前推荐模型,如何把深度做起来可能是比较核心的问题。如果深度做不起来,效果可能也很难获得很大的提升,背后的原理,因为是我个人的猜测,所以就不细说了,避免造成误导。


其实,之所以推荐模型感觉进步慢,还有一个隐藏的比较深的原因,那就是领域内缺乏超大规模的真实训练数据,尽管网上可以下到个别规模比较大的数据,但是公认的规模大、高质量的推荐数据还是严重缺乏的。这其实是比较拖技术发展后腿的一个缺陷。如果一个新技术是在小规模数据上验证的,并没有任何保证能够在大规模数据集合上这种技术优势仍然会存在;而很多新技术的论文使用的数据规模比较大,但是都是私有数据,其他人无法复现或者在现有技术上改进。这严重制约了技术发展步伐。如果能够有几个高质量、大规模的推荐数据,那么大家就可以在这些数据上不断尝试新技术,明显技术迭代速度会快很多。一个很好的参照就是 NLP 的阅读理解领域,从早期的小规模阅读理解数据,到大规模但是难度不太高的 Squad 1.1,再到更难的 Squad 2.0,每次数据集规模的扩大及难度的提高,都带来很多新的有效模型的提出。两者道理其实是类似的,而推荐领域这块明显落后太多。

InfoQ:在即将于 10 月份举办的 QCon 上海 2019 中,您将担任“人工智能应用与实践”专题的出品人,可否讲讲您的策划思路?

张俊林:因为我参加过多次 InfoQ 举办的会议,也担任过多次人工智能专题的出品人,在这方面多少还是有些经验。总体而言,我觉得应该重视以下几点:首先,专题里的讲座应该具备技术前沿性和先进性,同时具备落地的实用性,这一直是我作为专题出品人对专题内讲座的一个基本期待;其次,在话题方面,考虑人工智能领域覆盖的全面性,我们会邀请各个大的互联网公司技术专家,在搜索推荐、自然语言处理、图像与视频以及人工智能工程架构等多个方面进行经验分享;再次,我一般对分享嘉宾以及分享内容有些比较高的期待,嘉宾希望是有经验的,包括专业实践经验以及比较丰富的演讲经验,分享内容则希望干货尽可能多一点。所以,我会按照上述几个原则去策划这个专题,尽可能给大家一个能够充分交流和学习的机会。


受访嘉宾:


张俊林,中国中文信息学会理事,中科院软件所博士。目前担任新浪微博机器学习团队 AI Lab 负责人。在此之前,张俊林曾经在阿里巴巴任资深技术专家并负责新技术团队,以及在百度和用友担任技术经理及技术总监等职务。他是技术书籍《这就是搜索引擎:核心技术详解》(该书荣获全国第十二届优秀图书奖)、《大数据日知录:架构与算法》的作者。 他本科毕业于天津大学管理学院,之后在中科院软件所直接攻读博士学位,研究方向是信息检索理论与自然语言处理,就学期间曾在 ACL2006、COLING2004、IJCNLP2004 等国际顶级会议发表多篇学术论文。另外,他在此期间领导设计的搜索系统曾在美国国防部 DARPA 主持的 TREC 高精度检索系统评测中取得综合排名第一名的优异成绩。近年来,陆续在 Recsys2019 以及 ICDM2019 等国际会议发表多篇深度学习推荐系统相关论文。


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-08-10 14:003333
用户头像

发布了 69 篇内容, 共 48.1 次阅读, 收获喜欢 157 次。

关注

评论

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

SpringBoot快速整合Mybatis&MybatisPlus(1)

Java 程序员 后端

Springboot 整合Retry 实现重试机制

Java 程序员 后端

SpringBoot实现图片上传demo&Nginx进行代理显示

Java 程序员 后端

SpringBoot整合Elasticsearch

Java 程序员 后端

云图说|威胁检测服务赐您“火眼金睛” ,让潜在威胁无处遁行!

华为云开发者联盟

华为云 云图说 威胁检测服务 MTD

一文搞定Python深拷贝和浅拷贝

老表

Python 深拷贝 浅拷贝 11月日更

springboot整合mybatis

Java 程序员 后端

springboot整合缓存Redis

Java 程序员 后端

焱融科技 YRCloudFile 与安腾普完成兼容认证,共创存储新蓝图

焱融科技

云计算 分布式 高性能 文件存储 科技

springboot多数据源配合docker部署mysql主从实现读写分离

Java 程序员 后端

SpringBoot技术实践-SpringRetry重试框架

Java 程序员 后端

SpringBoot2---静态资源映射规则

Java 程序员 后端

SpringBoot使用Logbook记录HTTP请求响应日志

Java 程序员 后端

springboot实现AOP切面编程

Java 程序员 后端

SpringBoot实现对HikariCP连接池的整合

Java 程序员 后端

SpringBoot快速整合Mybatis&MybatisPlus

Java 程序员 后端

SpringBoot技术实践-SpringRetry重试框架(1)

Java 程序员 后端

springboot+mybatis+druid整合笔记

Java 程序员 后端

11 K8S之节点资源

穿过生命散发芬芳

k8s 11月日更

springboot多数据源配合docker部署mysql主从实现读写分离(1)

Java 程序员 后端

SpringBoot实现幕课网在线学习系统

Java 程序员 后端

springboot整合rabbitMq

Java 程序员 后端

SpringBoot整合SpringSecurity超详细入门教程

Java 程序员 后端

SpringBoot核心【基本配置】

Java 程序员 后端

SpringBoot注解最全详解(整合超详细版本)

Java 程序员 后端

Springboot 整合RabbitMq ,用心看完这一篇就够了

Java 程序员 后端

鸿蒙轻内核虚拟内存基础知识:虚拟内存进程空间编号

华为云开发者联盟

鸿蒙 虚拟内存 鸿蒙轻内核 虚拟内存进程空间编号

SpringBoot整合Redis实现声明式缓存

Java 程序员 后端

Springboot 最简单的发送邮件(文本、附件、图片)实战案例

Java 程序员 后端

微软资深算法工程师为AI初学者量身打造的机器学习入门书上市啦!

图灵教育

机器学习 入门

SpringBoot+shiro+mybatis实现权限登录

Java 程序员 后端

BERT+Transformer或可成为NLP领域的大一统模型?_AI&大模型_邓艳琴_InfoQ精选文章