百度发布PLATO-XL,全球首个百亿参数中英文对话预训练生成模型
【导读】和AI进行无障碍的对话,是什么样的体验?你或许能够在这篇文章里找到答案!百度全新发布PLATO-XL,参数达到了110亿,超过之前最大的对话模型 Blender,是当前最大规模的中英文对话生成模型,并再次刷新了开放域对话效果。
很难相信,以上是AI与人交流的真实对话记录。近日,百度发布新一代对话生成模型 PLATO-XL,一举超过Facebook Blender、谷歌Meena和微软DialoGPT,成为全球首个百亿参数中英文对话预训练模型,再次刷新了开放域对话效果,打开了对话模型的想象空间。
尽管大规模参数的模型在自然语言处理领域如雨后春笋出现,并且在多个自然语言理解和生成任务上取得了很多成果,但多轮开放域对话的主动性和常识性问题一直无法很好解决。百度NLP于2019年10月预发布了通用领域的对话生成预训练模型PLATO,在ACL 2020正式展示。2020年升级为超大规模模型PLATO-2,参数规模扩大到16亿,涵盖中英文版本,可就开放域话题深度畅聊。如今,百度全新发布PLATO-XL,参数规模首次突破百亿达到110亿,是当前最大规模的中英文对话生成模型。
论文名称:
PLATO-XL:Exploring the Large-scale Pre-training of Dialogue Generation
论文地址:
https://arxiv.org/abs/2109.09519
PLATO-XL,全球首个百亿参数对话预训练生成模型
让机器进行像人一样有逻辑、有知识、有情感的对话,一直是人机智能交互的重要技术挑战;另一方面,开放域对话能力是实现机器人情感陪伴、智能陪护、智能助理的核心,被寄予了很高的期望。
预训练技术大幅提升了模型对大规模无标注数据的学习能力,如何更高效、充分的利用大规模数据提升开放域对话能力,成为主流的研究方向。
从谷歌Meena、Facebook Blender到百度PLATO,开放域对话效果不断提升。在全球对话技术顶级比赛DSTC-9上,百度PLATO-2创造了一个基础模型取得5项不同对话任务第一的历史性成绩。
如今,百度发布PLATO-XL,参数达到了110亿,超过之前最大的对话模型Blender(最高94亿参数),是当前最大规模的中英文对话生成模型,并再次刷新了开放域对话效果。
百度PLATO一直有其独特的从数据到模型结构到训练方式上的创新。PLATO-1, PLATO-2不仅刷新了开放域对话效果,也具有非常好的参数性价比,即在同等参数规模下效果超越其他模型。PLATO-XL在参数规模达到新高的同时,其对话效果也不出意外地再次达到新高。下面,我们将展开介绍PLATO-XL模型的核心技术特点。
PLATO-XL模型:更高参数性价比,大幅提升训练效果
PLATO-XL网络架构上承袭了PLATO unified transformer结构,可同时进行对话理解和回复生成的联合建模,参数性价比很高。通过灵活的注意力机制,模型对上文进行了双向编码,充分利用和理解上文信息;对回复进行了单向解码,适应回复生成的auto-regressive特性。此外,unified transformer结构在对话上训练效率很高,这是由于对话样本长短不一,训练过程中padding补齐会带来大量的无效计算,unified transformer可以对输入样本进行有效的排序,大幅提升训练效率。
为了进一步改善对话模型有时候自相矛盾的问题,PLATO-XL引入了多角色感知的输入表示,以提升多轮对话上的一致性。对话模型所用的预训练语料大多是社交媒体对话,通常有多个用户参与,表述和交流一些观点和内容。在训练时,模型较难区分对话上文中不同角度的观点和信息,容易产生一些自相矛盾的回复。针对社交媒体对话多方参与的特点,PLATO-XL进行了多角色感知的预训练,对多轮对话中的各个角色进行清晰区分,辅助模型生成更加连贯、一致的回复。
PLATO-XL包括中英文2个对话模型,预训练语料规模达到千亿级token,模型规模高达110亿参数。PLATO-XL也是完全基于百度自主研发的飞桨深度学习平台,利用了飞桨FleetX库的并行能力,使用了包括 recompute、sharded data parallelism等策略,基于高性能GPU集群进行了训练。
PLATO-XL效果:多种类型、多种任务,对话效果全面领先
为了全面评估模型能力,PLATO-XL与当前开源的中英文对话模型进行了对比,评估中采用了两个模型针对开放域进行相互对话(self-chat)的形式,然后再通过人工来评估效果。PLATO-XL与Facebook Blender、微软DialoGPT、清华EVA模型相比,取得了更优异的效果,也进一步超越了之前PLATO-2取得的最好成绩。此外,PLATO-XL也显著超越了目前主流的商用聊天机器人。
除了开放域闲聊对话,模型也可以很好的支持知识型对话和任务型对话,在多种对话任务上效果全面领先。
PLATO系列涵盖了不同规模的对话模型,参数规模从9300万到110亿。下图可以看出,模型规模扩大对于效果提升也有显著作用,呈现较稳定的正相关关系。
PLATO-XL不管是在英文,还是中文上的多轮对话,模型都可以与用户进行有逻辑、有内容且有趣的深入聊天。
百度PLATO-XL模型英文对话效果
百度PLATO-XL模型中文对话效果
结语
让机器用自然语言与人自由地交流,是人工智能的终极目标之一。百度PLATO-XL的发布,是开放域对话在大模型上的一次深入探索。相信在不久的将来,更加强大的对话预训练模型将会陆续发布。未来,对话模型可以更加拟人、更有知识。
百度开放接口服务供大家体验最新中文PLATO百亿模型的效果,对智能对话感兴趣的小伙伴一定不能错过。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
5种Python使用定时调度任务的方式
摘要:Python 有几种方法可以定时调度一个任务,这就是我们将在本文中学习的内容。 本文分享自华为云社区《Python中使用定时调度任务(Schedule Jobs)的5种方式)》,作者: Regan Yue 。 今天构建的大多数应用程序都需要某种方式的调度机制。轮询 API 或数据库、不断检查系统健康状况、将日志存档等是常见的例子。 Kubernetes和Apache Mesos等使用自动伸缩扩容技术(Auto-scaling)的软件需要检查部署的应用程序的状态,为此它们使用定期运行的存活探针(Liveness Probe)。调度任务需要与业务逻辑解耦,因此我们要使用解耦的执行队列,例如Redis队列。 Python 有几种方法可以定时调度一个任务,这就是我们将在本文中学习的内容。我将使用以下方式讨论调度任务: 简单循环 (Simple Loops) 简单循环但是使用了线程 (Simple Loops but Threaded) 调度库 (Schedule Library) Python Crontab RQ 调度器作为解耦队列 (RQ Scheduler as decoupled...
- 下一篇
表属性设置为 NULL,你可能要面临很多麻烦
我们知道使用 MySQL 去存储数据,我们需要先去建表,那么在表中去添加各个数据列,其实我们需要给数据列指定一些属性,比如说我们在列属性设置为允许,那就可以不放置任何数据到这一列中。但是这会带来哪些麻烦或者是坑呢?那么带着这个问题,我们来聊聊表属性设置为 NULL,你可能要面临很多麻烦。 为什么会有很多人用 NULL 呢? 第一点,NULL 它是一个默认行为,如果你不去主动指定这个列字段是 NOT NULL,那么它就是 NULL,这其实是允许 NULL 列最常见的原因了。很多刚开始学习使用 MySQL 的同学,没有显示的去指定当前列是 NOT NULL ,那么 MySQL 会自动的设置为当前列是允许 NULL 的。 第二点,有一个很严重的误区,就是很多初学者会认为 NULL 它代表的是空,也就是 Mysql 什么都不会存储,所以使用那可以节省存储空间, 但是实际上这是一个误区,那它是会占用存储空间的。 第三点,NULL 属性非常方便,SQL 语句或者代码不需要额外的填充或判断。这个说法看起来非常合理,我们在操作数据时,如果某一列是空值,那么无论是 SQL 语句还是代码,我们都不需要去考...
相关文章
文章评论
共有0条评论来说两句吧...