欢迎大家关注「澜舟科技」公众号,加入孟子开源社区,一起探索 NLP 领域的前沿技术!
官方网站:langboat.com
在自然语言领域,感知智能之后的下一个窗口是什么呢?澜舟科技创始人周明对「认知智能」的发展前景和需要解决的问题做了详细的综述和展望。
3月23日,机器之心AI科技年会在线上召开。在下午的人工智能论坛上,创新工场首席科学家、澜舟科技创始人、ACL前主席和CCF副理事长周明做了主题为《认知智能的创新时代》的演讲,点击小程序可观看演讲视频回顾。
机器之心对演讲内容进行了不改变原意的整理,以下为整理内容。
感谢机器之心的推荐,有这样的机会向大家介绍一下我们在澜舟科技所从事认知智能的想法,我的演讲题目是「认知智能的创新时代」。
大家都知道人工智能经过过去几十年的发展,经历了起起伏伏。从最早的图灵测试到达特茅斯会议,带来了AI的起源,然后是 60 年代的专家系统,接着人工智能很不幸地进入了第一次冬天,大家都不太信人工智能了。到 80年代,日本第五代计算机的兴起带来了新的希望,比如Prolog编程语言等。但随后很快又进入了人工智能的第二个冬天。
到90年代,机器学习开始兴起,即基于数据驱动做统计机器学习。当时统计机器翻译等领域也都开始实用化。人工智能真正飞跃源于深度学习的崛起,大概在 2006 年。2016 年出现一个里程碑——ImageNet 评测超过人类。2017年,AlphaGO战胜人类围棋冠军。对自然语言来讲,2018年预训练模型开始兴起,以及后来AlphaFold高精度预测蛋白质结构。所有这些都是人工智能发展历程的里程碑。
总的来讲,人工智能技术大概分为两个流派。第一个流派是人工智能前期基于符号计算的流派,第二个流派是以最近深度学习为代表的神经网络流派。当然,这两个流派各有千秋,前者可解释性比较强,但是需要专家内醒,而且比较脆弱。后者依赖大数据,缺乏可解释性。
无论如何,最近几年深度学习带来的人工智能技术深深改变了人类的生活,从图像到语音到自然语言处理、知识图谱、搜索和推荐都实现大幅提升,并且自动驾驶、安防、自动翻译、医疗诊断等热门技术深深融入到了人们的生活。
我们是从事自然语言理解的,关心的是在感知智能之后自然语言的机会在哪里?我这里在判断感知智能之后的认知智能开始崛起,推动了产业的发展。
这里有几个关键点。第一个关键点是最近基于预训练模型的研究推动了很多自然语言处理任务的飞跃,其中一个代表性工作是 2019 年谷歌用Bert预训练模型做阅读理解,超过了人类的标注水平。再加上知识图谱和推理领域的一些进步,人们对自然语言为代表的认知智能的崛起充满了期待。
认知智能到底要解决什么问题呢?实际上,认知智能要解决语言理解、问题求解、辅助决策和预测规划问题,它还有非常广泛的应用,从机器翻译到搜索、聊天、专家系统、广告、情感分析、对话、信息抽取、故障诊断、推理、知识图谱、情感计算等。
有了认知智能,人们就可以从大数据出发,走到信息检索,走到知识和推理,再走到洞见的发现,基于大数据充分地加强智能引擎,促进各行各业的数字化转型,推动业务的升级。
我们在创新工场孵化了一个团队——澜舟科技,旨在推动认知智能的发展。
我们首先做了预训练模型,它是基于自研的孟子轻量化模型,可以处理多语言和多模态,同时支持理解和生成,通过定制来满足不同领域和不同场景的需求。
然后在预训练的基础上做一系列自然语言处理任务。以机器翻译为例,我们用预训练模型和多语言联合训练,加上术语识别和翻译的技术,实现了以中文为中心的世界主要语言之间的翻译,而且在很多垂直领域都做到了业界顶尖的水平,通过与传神等公司的合作,帮助译员提高生产效率。
第三个是文本生成。所谓文本生成,用户有一些关键词或者是一些题目,让电脑生成一篇文章甚至一篇小说。我们用了自研的预训练模型,在通用和领域大数据的支撑下开发了一个交互式可控文本生成技术。用户可以指定关键词或知识单元或应用场景来生成一篇文本,应用于营销文案生成(与数说故事—容徽公司合作)、新闻摘要、小说或者剧本的写作等。
第四个是搜索引擎。我们基于预训练模型从头开始做一个新的搜索引擎。20 年以前,大家都基于 TF-IDF 人工定义了很多的特征(feature),比如很多搜索引擎用了上万个特征来做排序。我们想通过预训练模型不去手工定义这么多特征,通过端到端学习提高 relevance 和recall,同时使用知识图谱实现从搜索到推理到洞见发现的全流程过程。我们想帮助金融、营销、法律、政务等领域提高搜索加研判的效率。
2021 年,我们的工作获得了HICOOL 国际创业大赛一等奖,参赛队伍共4800支,有6个队获得了一等奖。并且,我们在人工智能和金融赛道获得的是第一名。
但是,认知智能这件事听起来很玄,你做了很多技术,各行各业怎么用起来呢?这就涉及到认知智能的解决方案问题。我们的想法是这样的。首先,最底层要构建大规模的预训练模型,包括GPU的集群、数据、训练、微调、压缩、模型的轻量化等。在此基础上,训练单语言、多语言和多模态预训练模型,支撑从搜索引擎到文本理解、机器翻译、文本生成、语音识别和合成、图像和视频的标注和生成等各项任务。注意,它们都是从自然语言出发,通过多模态延伸到其他模态的理解和处理。
在此基础上,我们通过一个柔性AI智能云把自身的能力释放出去。所谓柔性AI智能云,就是用户可以用拖拉拽的方式所见即所得,很快形成业务的组成。具体实践中,可通过SaaS或者深度定制的方法得到相应的服务。
我们的大规模预训练模型走了一条逆袭之路。很多公司都在追求大规模的预训练模型,越大越好。而我们认为,预训练模型到了一定程度可能要做得更加精,更加准,更加轻量化,用户才可以很容易地实施。
这里给大家介绍一下大规模预训练模型的大概思路。第一你得有大规模的海量文本,也要有大规模算力去计算一个语言模型。这个语言模型还得针对下游任务进行微调,有时大家也在研究不需要微调的zero-shot方法,像GPT-3,然后去完成一些下游任务。这种方法的好处是解决了碎片化的问题,你只要有数据来训练模型,这个模型就能通过迁移学习的过程,在处理新任务的时候对较小的标注数据集做微调,从而达到相对比较高的水准。
这种新范式带来了自然语言生产效率的大幅度提高,也标志着NLP进入到了工业化和实施的阶段,这无疑是一件好事。所以大家都在研究预训练模型,现在主要的模型有 Encoder模式(比如Bert)、Decoder模式(比如GPT)和 Encoder-Decoder模式(比如T5)。
现在很多预训练模型都是遵循这些流派。大家的思路无外乎是,要么去研究更多数据或者模型更大,要么去研究更加高效的预训练方法,要么研究如何用知识来增强预训练模型,或者研究小样本学习和统一的微调机制等。
我们为什么要关注轻量化模型呢?模型的训练代价非常之高,如下图所示,据报道最开始训练一个GPT-3模型需要 460万美金,当然现在这个数字要小很多,但依然花费很高。过去几年,预训练模型的参数增长了不止三个数量级,硬件能力虽然也在增长,但其速度远远低于模型参数量的增长速度,所以训练费用仍然上升了两个数量级。
我们很多业界的同仁都在研究如何降低训练成本,但依然是一个很大的数字。训练的成本主要考虑如下几个因素:模型参数量、GPU和TPU算力以及数据量。在实际任务中,大模型适配下游任务的过程中,实施的代价比较大,用户也不能承受买那么多GPU来做推理。有鉴于此,我们需要降低成本,提高训练能力,加快训练速度,研究轻量化模型现在是我们澜舟科技的一个重中之重。
我们已经研究了很多轻量化模型的技术,这里简要介绍一下。
第一个是模型优化,针对不同类型的预训练,我们都做了相应的模型优化。
第二个是知识增强,包括基于实体抽取的增强、常识知识和领域知识的增强、事件依赖与因果关系和多模态世界知识的感知,从各个方面研究如何能够使用相应的知识来在同样大小的模型下使它的能力有所提高。我们也用基于语言学的知识来增强,比如用依存关系来增强这样的模型。
最后,我们考虑了数据增强,包括领域知识增强,即基于领域文本在已有模型基础上继续训练;任务数据增强,比如通过信息检索获得问答对,用于问答任务;跨语言资源增强,比如某种语言的资源比较多,通过多语言预训练做语言的知识迁移,迁移到低资源的语言。
诸如此类的工作使得我们训练的小模型的能力并不一定低,而且可以针对新的领域实现快速定制。目前,我们已经开源了四个小模型,包括文本分析、生成、图像理解和金融模型。
下图是我们2021 年 7月到9月份参加 CLUE打榜的成绩体现。我们的模型是10亿参数,但是对比其他公司的百亿和千亿参数的模型,毫不逊色,甚至有所提升。在语义相似度等多项自然语言处理任务上,我们的模型在所有任务的综合体现中都是第一名。
我们模型的特点是小,成本低,但是比较精,这得益于它引入了很多的知识。另一大特点是快,我们训练一个新的模型几天就可以完成,做一个新的任务半天就可以完成。然后比较专,每个领域每个任务都可以定制一个预训练模型,这种专有程度肯定超过通用大模型的能力。
我们的孟子开源模型也荣获了中国《50家最佳开源产品》。这些模型包括了Mengzi-BERT-base、Mengzi-BERT-base-fin、Mengzi-T5-base和Mengzi-Oscar-base。相关文档和模型下载方式如下:
论文地址:https://arxiv.org/abs/2110.06696
项目地址:https://github.com/Langboat/Mengzi
我们最近为这样的模型增加了很多图文的能力,如图转文,即一个图片生成一段丰富的文字,来描写这个图片的内容。或者文转图,即给定一小段文字生成一个图片。生成的效果还不错,我们模型比较轻量化,所以用起来代价比较低。刚刚说到,我们的很多模型已经开源,很多人在开源社区里通过充分讨论和互相交流来提高对预训练模型的认知,也增强了他们的业务能力。
在此基础上,我们研究了机器翻译。这里说的机器翻译包括通用的翻译,以中文为中心,涵盖中英、中德、中法等主要语言之间的翻译。下图为中英翻译在各个垂直领域的表现,很多是跟传神公司合作的。跟目前非常流行的翻译相比有不错的提高。无论是在金融、汽车、法律、合同、机械、工程、石油、电力等方面,现在都是居于一流的水平。
基于孟子预训练模型,我们也在做文本生成领域的技术研究。我们研究可控文本生成,可控意味着用户可以输入主题、关键词、知识图谱、风格、人设等。我们的系统就要生成包含用户这些信息,并真实体现用户意图的文本。我们管这个叫可控文本生成。
下图为我们跟数说故事-容徽公司一起合作做的营销文案生成范例。用户输入标题「让您的肌肤重返18岁」,关键词如「姜汁、美白、面膜」等,输入一些知识图谱,即用三元组来描述的事实点,用户可以随意输入很多知识点或事实点。我们的系统「孟子」生成一篇比较流畅的营销文案。
对比GPT等流行的模型,我们的模型有三个特点。第一生成的文本可能更加丰富,第二前后文更加连贯,第三体现用户的输入事实。GPT输出的每句话可能都通顺但前后句子不连贯或者说出了反事实的话。我们在这些方面都做了深入的研究并有所克服。
基于孟子预训练模型,我们又做了新一代的行业搜索引擎,以金融搜索引擎为例。我们可以搜通用的股票股价信息,可以搜新闻、公告、年报,可以用问答方式得到新的事实点,也可以得到公司的财务信息。
其中一个特色是我们可以根据产业链和事件链来引导进行搜索。比如用户输入一个关键词,我们搜索到一些结果。但是用户想理解对产业链上下游的影响,我们可以根据这个产业链来生成新的搜索关键词,用户得到新的搜索结果。同时,用户希望发现这篇搜索结果中有哪些新的事件或者重要事件,我们需要对事件进行抽取,然后根据事理图谱进行上下滑动得到「这样的事件会影响什么样的事件」,或「预示什么样的事件会发生」。
这样,我们做了一个基于产业链和事件引导的搜索体验,帮助投研人员来分析哪些重要事件出现的时候对产业链的影响,对下游的影响或者预示有哪些新的事件产生,从而采取一些行动。
基于我们预训练模型的文本生成技术,我们也在做智能研报的生成。所谓智能研报,就是有些客户提供一些主题,传统的方法需要在互联网上人工搜索证据和文档,然后人工进行整合抽取。
我们想把这些过程全部自动化,所以给定一个主题,我们通过搜索得到很多相关的研报,然后基于孟子轻量化模型利用知识图谱、小样本学习和对比学习等做一些结构化事件的信息抽取、情感舆情分析、摘要生成、观点研报和智能问答,把这些东西都做完了之后再组配起来形成一个研报。
大家可以看到下图中的例子,比如给一个关键词「新能源汽车」,通过澜舟的搜索引擎,从互联网上搜索到很多相关的研报或者新闻,通过整合就可以得到常见的问题对、事件抽取、摘要生成和舆情分析,然后所有这些内容输入到我们的引擎中生成一个研报,包括标题、大纲及具体内容。
基于这样的技术,我们就可以做「企业ESG社会责任报告生成」,道理也是一样。用户输入某个公司的企业责任报告题目,根据这个报告的主题,自动地生成对应的写作大纲,包括责任管理、市场绩效、社会绩效、环境绩效、报告后记等,生成大标题、小标题,以及最后的总结和建议。
针对每个大纲的大标题和子标题,我们用信息抽取的方法抽出关键的信息,然后生成相应的文本,每个段落生成之后再形成整篇报告。
当然这些生成结果,不可能代替人工专家,还需要人工专家核实、修正和完善,确保无误。我们希望AI能够配合人类专家提升整个工作的效率。
最后讲一下未来认知智能面临的一些挑战。
第一个挑战是缺乏常识和推理。
大家可以看到下图一个有趣的问题,比如事实为「特朗普是美国第五十四届总统」。经过如下问答过程,你会发现人类甚至小孩都可以回答,但是有些机器回答不了。比如谁是美国总统?机器和人都可以回答。又如特朗普是美国最有权的人吗?人可以回答,但是除非在文档中出现了这样的证据或话语,机器才能回答,否则回答不了。这里有个推理,美国总统应该是美国最有权的人,这是常识。没有这个常识,机器就回答不了这样的问题。如何组织常识、利用常识进行推理,是目前预训练模型所存在的一个缺陷。
第二个是在多轮对话中如何保证前后一致,这也是我们文本生成中遇到的一个挑战,即前后句子不一致,比如说时间上不一致、空间不一致或逻辑上不一致等。
这些挑战带来了很多思考,包括认知智能在内的下一代人工智能应该怎么做,做什么,什么是我们的重点。我这里根据自己的认知列出了四个比较重要的问题。
第一个是可解释性,对于现在我们的端对端学习,给一个输入然后给出一个分类或一个结果,实际上没有一个解释,导致面对很多应用的时候用户不敢用,比如在金融中的应用。
第二个小样本学习,现在端对端学习需要很多的标注文本来进行学习,如果标注的语料比较小,学习的效果不好。这就需要解决小样本学习问题。
第三个是推理问题,刚才说到有了知识图谱或者常识,如何从输入到输出走出一个推理链条给出结论。
最后就是常识问题,前面提到了,这里不再赘述。
这里回顾一下,对于人工智能和认知智能而言,它们实际上有两个阶段。先说第一阶段,利用符号来推理,它有输入有输出,有逻辑有推理。人们遇到一些不熟悉事实的时候,都会习惯做一些逻辑性的推理。这是System2。相比System2呢,System 1,就是现在深度学习的东西。利用经验和数据就可以从一个输入快速给出输出,不需要一个深度推理过程,因而缺乏可解释性。
如果把这两者结合起来,则具备两者的能力,既可以快速给出结果,又能给出背后的逻辑。但是,基于规则的这种符号体系不可微,所以没有办法根据输出结果得到损失来调整网络结构。而神经网络可微但不具备可解释性。
我在想能不能做一种基础能力「Foundation Skill」的学习。一个启发是人们做一件大事的时候,比如说推导一道数学题或者做一篇作文,它有很多基础能力是以前在别的地方学过的,不需要针对一个新的任务做端对端学习。如果把人类的每一个基础能力都做好,处理一个大任务的时候快速地拼在一起。如果能够解决可微的问题,不管基础能力是基于数据还是基于逻辑,都可以快速地拼接成一个大系统,从而有效地解决小样本学习的问题。
所以,为了研究基于基础能力的小样本学习求解复杂推理问题,我们正在做美国司法考试LSAT的自动答题研究。LSAT具有分析推理、逻辑推理和阅读逻辑三大问题。下图示例中为分析推理题,已知有六个条件,问「如果某一件事成立,上面哪个答案是最有可能的」。
要解决这一问题,首先要做自然语言理解,把自然语言输入变成一个逻辑表达式。第二步是需要一个推理,从初始状态出发,经过一步步的推理,得到可能的终态。然后从可能的终态再去看满足约束条件的多和少,把满足约束条件多的答案抽取出来。
这里如何来解决自然语言理解问题呢?因为这是小样本学习,LSAT 总共只有几千道题,所以从端到端学习逻辑理解是非常困难的。那么,我们能不能用刚才所说的基础能力加上微调的能力去学习呢?也就是说分词、语义表达、逻辑表达生成都在别的渠道或者用别的数据学完了,在这里针对这样一个新的数据集做快速的适配和迁移学习,看能不能解决这样的问题。这里也涉及到常识如何嵌入到整个的逻辑理解或者推理过程之中。
总之,LSAT 是一个非常好的数据集,来帮助大家进行复杂推理任务的研究。
最后,我总结一下,认知智能现在发展的越来越好,大家也对它充满了期待。现在有个很好的机遇,因为预训练模型加微调大大解决了碎片化问题。而SaaS模式希望能够解决最后一公里把服务交到用户手中的问题。当然,机会与挑战共存,最大的挑战是知识化、轻量化和伦理道德的问题。我们还需要解决小样本学习、可解释和常识推理,这是未来5-10年的发展目标。澜舟现在做了一些工作,即融合神经网络和符号系统,加上一些基础能力和微调的设想,试图来推进相关的实验。
澜舟科技是一家认知智能公司,针对商业场景做数字化转型,以自然语言处理为基础提供商业洞见类的产品,主要的产品包括基于预训练模型的功能引擎,像搜索、生成、翻译、对话以及针对垂直行业场景的SaaS产品。我们有志于成为世界上NLP的顶尖技术公司。
我们常年招聘研究员、工程师、产品经理和实习生,有兴趣大家可以访问我们的网站获得详细信息,langboat.com。