对话智能新高度:百度发布超大规模开放域对话生成网络PLATO-2

简介: 近日,百度发布对话生成网络 PLATO-2,宣布在开放域对话生成模型上迎来重要进展。PLATO-2 承袭 PLATO 隐变量进行回复多样化生成特性,模型参数高达 16 亿,涵盖中英文版本,可就开放域话题深度畅聊。实验结果显示,PLATO-2 中英文对话效果已超越谷歌 Meena、微软小冰和 Facebook Blender 等先进模型。


百度 NLP 于去年 10 月预公布了通用领域的对话生成预训练模型 PLATO,近期在 ACL 2020 上展示。最近,百度又新发布了超大规模模型 PLATO-2。PLATO-2 承袭了 PLATO 隐变量进行回复多样化生成的特性,模型参数规模上升到了 16 亿。PLATO-2 包括中英文版本,能够就开放域话题进行流畅深入的聊天。据公开数据,其效果超越了 Google 于今年 2 月份发布的 Meena (26 亿参数)和 Facebook AI Research 于今年 4 月份发布的 Blender (27 亿,最高 94 亿参数)的效果。在中文上更是达到了全新高度。



微信图片_20211204001140.png

47

PLATO-2中文对话效果演示


1. 引言


传统对话系统需求大量的人工编码,通常只能解决领域内的问题。随着深度学习的普及和不断发展,端到端的开放域对话系统效果也在稳步提升。基于大量语料和超大规模模型的预训练开放域对话生成技术近些年取得了非常多的进展。如微软发布的 DialoGPT,Google 发布的 Meena,Facebook 发布的 Blender 等,依托数亿到数十亿级级别参数的 Transformer 模型,以及数亿到数十亿的语料训练模型,模型能模拟人产生和人类非常相近的对话。


对话中存在 “一对多” 问题,也就是同样的对话语境下,可以有多种不同的回复。这些不同的回复,除了与上下文相关,也和背景知识相关。这些背景知识包括个人属性(性别年龄,画像等等)、生活常识、相关知识、价值观和态度(如认同 / 不认同一个观念)、对话发生的场景信息,对话人情绪状态意图等等 (图 1)。然而这些背景知识往往非常难获取,这就给对话系统训练带来非常大的噪音。一般的 Encoder-Decoder 神经网络不管有多么复杂,仍然是一个 “一对一” 的函数,如果直接使用,就很容易产生诸如 “哈哈”,“不知道” 之类的安全回复。


微信图片_20211204001046.png

图 1 对话系统难点:对话语料下面的丰富隐藏信息


在百度去年发布的 PLATO 模型,和微软近期发布的 OPTIMUS 模型中,都提到了利用隐变量(Latent Space)来建模这种不可见的多样性的方法。而百度 PLATO 模型更是独特采用了离散隐变量的方式来建模,且采用了多样化生成 + 合适度判断的方式,其中合适度判断用于回复筛选(Response Selection)。PLATO 在 Persona-Chat, Daily Dialogue 和 DSTC7-AVSD 三个不同类型的公开数据集上获得了 SOTA 的效果。


2. PLATO-2 介绍


这次公布的 PLATO-2, 是在 PLATO 工作基础上的进一步扩展。PLATO 使用了 12 层 Transformer 作为基础,参数为 1.1 亿。PLATO-2 通过扩展网络,增加训练数据集,将网络扩展到 16 亿参数。考虑到精细化的引入隐变量的网络训练,计算消耗很大,PLATO-2 采取了课程学习的方法,逐步优化参数,加快训练效率。


2.1 PLATO-2 模型结构


和 DialoGPT 单向网络,以及 Meena 和 Blender 使用的 Encoder-Decoder 结构不同,PLATO-2 使用了 Unified Network 结构,针对上文部分使用双向 Attention,回复部分使用单向 Attention,两者共享网络参数,只是 Attention Mask 进行了灵活设计。这种设定经过各项任务的反复验证,发现在同等规模参数量的情况下具有最佳的性价比。同时,PLATO-2 采用了 GPT-2 的前置正则化层的方式,以更好适应大规模训练的需求。


此外,PLATO-2 承袭了 PLATO 结构, 包括三个逻辑模块,Generation、Recognition 和 Response Selection,如图 2 右边所示。其中 Recognition 网络用于在训练过程中识别隐变量, Generation 则能够根据不同隐变量来生成回复(蓝色部分)。Response Selection 承担从不同隐变量生成的回复中,选择合适度最好的回复,因此也可以认为是一种评估(Evaluation)模型(橙色部分)。


微信图片_20211204001050.png

图 2 PLATO-2 模型结构简图


2.2 PLATO-2 训练方法


PLATO-2 采用了课程学习方法。因为带隐变量的模型需要同时训练三个不同模块,其训练成本很大,因此,第一步,PLATO-2 先训练了不含隐变量的模型。该模型进行的是简化的 “一对一” 建模,容易生成安全回复。第二步,在前一步模型基础上,添加上隐变量,然后同时训练 Generation + Recognition 和 Response Selection 两个不同模型。其中,Response Selection 模型在合适度预测的基础上,还添加了 Masked Language Model 作为辅助任务,以强化模型对语义的理解。


3. PLATO-2 效果


PLATO-2 包含中英文两部分模型。其中,中文模型在 12 亿中文开放域多轮对话数据集上进行训练,而英文模型则在 7 亿英文开放域多轮数据集上训练。


PLATO-2 训练耗费了 64 张英伟达 V100 卡共 3 周的时间,依托了百度飞桨强大并行能力,包括 Fleet 并行库和 Recompute 等扩展显存的方式。单个 Batch 包含 52 万 Token,训练过程中约进行了 30 万次梯度回传。


为了全面对比 PLATO-2 和其他基线的效果,PLATO-2 的论文进行了静态和动态评估。其中,静态评估是利用现有对话上文,要求模型预测一句下文,人工评估对话的合适度。而动态评估中,由于中文的对比模型没有开放 API 接口,中英文采用了不同的评估数据收集方式。英文动态评估采用了两个模型进行相互对话(Self-Chat)的形式,通过人工来评估效果。中文则采用了人机对话的形式。中英文动态评估中,都是先给定一句起始话题(第一句对话),然后进行多轮交互,最后对这些多轮对话进行评估。


微信图片_20211204001053.png


微信图片_20211204001056.png

图 3 PLATO-2 动态评估效果


微信图片_20211204001059.png

图 4 PLATO-2 静态评估效果


从结果上看,PLATO-2 在动态(图 3)或者静态(图 4)评估中,均明显超越了 DialoGPT、Meena 和 Blender,在中文上和微软小冰拉开了极大的差距。这意味着,PLATO-2 的对话智能达到了全新的领域。

此外,文章也放出了 PLATO-2 一些中文(图 5)和英文(图 6)对话的演示。从对话效果上看,PLATO-2 和之前的模型,包括 Meena 和 Blender 有非常明显的区别。一方面 PLATO-2 在对话内容丰富度上提升明显,另一方面,PLATO-2 能够就一个话题深入聊天并扩展到相关话题。而之前的最佳模型 Blender,则非常频繁地转换话题,并且在每个话题上聊得相对较浅。


微信图片_20211204001103.jpg

图 5 PLATO-2 中文对话演示


微信图片_20211204001106.png

图 6 PLATO-2 英文对话演示和 Blender 使用相同对话种子对比


4. 总结


PLATO-2 基于全新的隐空间技术和 Transformer 模型,从内容丰富,连贯性上都达到了新的高度。期待 PLATO-2 能为智能对话开辟全新的领域。此外, PLATO-2 的英文模型和代码即将陆续在 Github 开放,而中文模型也有望于不久的将来,开放接口提供相关服务。对智能对话感兴趣的小伙伴一定不能错过。文为机器之心发布,转载请联系本公众号获得授权

相关文章
|
2月前
|
传感器 运维 物联网
蓝牙Mesh网络:连接未来的智能解决方案
蓝牙Mesh网络:连接未来的智能解决方案
237 12
|
26天前
|
存储 安全 5G
|
3月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络深度剖析:Python带你潜入AI大脑,揭秘智能背后的秘密神经元
【8月更文挑战第1天】在当今科技飞速发展的时代,AI已成为日常生活中不可或缺的一部分。神经网络作为AI的核心,通过模拟人脑中的神经元连接方式处理复杂数据模式。利用Python及其强大的库TensorFlow,我们可以轻松构建神经网络模型。示例代码展示了如何建立一个含有两层隐藏层的简单神经网络,用于分类任务。神经网络通过反向传播算法不断优化权重和偏置,从而提高预测准确性。随着技术的进步,神经网络正变得越来越深、越来越复杂,能够应对更加艰巨的挑战,推动着AI领域向前发展。
44 2
|
9天前
|
机器学习/深度学习 人工智能 物联网
5G与AI融合:智能网络的新纪元
【10月更文挑战第25天】
29 3
|
2月前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
184 5
|
2月前
|
5G 网络安全 SDN
网络功能虚拟化(NFV)和软件定义网络(SDN):赋能5G网络灵活、智能演进的关键
网络功能虚拟化(NFV)和软件定义网络(SDN):赋能5G网络灵活、智能演进的关键
66 3
|
2月前
|
传感器 物联网 人机交互
物联网:物联网,作为新一代信息技术的重要组成部分,通过智能感知、识别技术与普适计算等通信感知技术,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现了物物相连、人物相连,开启了万物互联的新时代。
在21世纪,物联网(IoT)作为新一代信息技术的核心,正以前所未有的速度重塑生活、工作和社会结构。本文首先介绍了物联网的概念及其在各领域的广泛应用,强调其技术融合性、广泛的应用范围以及数据驱动的特点。接着,详细阐述了物联网行业的现状和发展趋势,包括政策支持、关键技术突破和应用场景深化。此外,还探讨了物联网面临的挑战与机遇,并展望了其未来在技术创新和模式创新方面的潜力。物联网行业正以其独特魅力引领科技发展潮流,有望成为推动全球经济发展的新引擎。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络深度剖析:Python带你潜入AI大脑,揭秘智能背后的秘密神经元
【9月更文挑战第12天】在当今科技飞速发展的时代,人工智能(AI)已深入我们的生活,从智能助手到自动驾驶,从医疗诊断到金融分析,其力量无处不在。这一切的核心是神经网络。本文将带领您搭乘Python的航船,深入AI的大脑,揭秘智能背后的秘密神经元。通过构建神经网络模型,我们可以模拟并学习复杂的数据模式。以下是一个使用Python和TensorFlow搭建的基本神经网络示例,用于解决简单的分类问题。
47 10
|
3月前
|
网络协议 Windows
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
667 2
|
3月前
|
机器学习/深度学习 安全 网络协议
网络安全公开数据集Maple-IDS,恶意流量检测数据集开放使用!
【8月更文挑战第29天】Maple-IDS 是东北林业大学网络安全实验室发布的网络入侵检测评估数据集,旨在提升异常基础入侵检测和预防系统的性能与可靠性。该数据集包含多种最新攻击类型,如 DDoS 和 N-day 漏洞,覆盖多种服务和网络行为,兼容 CIC-IDS 格式,便于直接使用或生成 csv 文件,适用于多种现代协议。
111 0

热门文章

最新文章