乐趣区

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

关注官网微信公众号【百度 NLP】,及时获取更多自然语言解决畛域技术干货!


近日,百度公布对话生成网络 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 亿参数)的成果。在中文上更是达到了全新高度。

论文名称:

PLATO-2:Towards Building an Open-Domain Chatbot via Curriculum Learning

论文地址:

https://arxiv.org/abs/2006.16779

GitHub 地址:

https://github.com/PaddlePadd…

点击链接,查看 PLATO- 2 中文对话成果演示_
https://mp.weixin.qq.com/s/X6…

引言

传统对话零碎需要大量的人工编码,通常只能解决畛域内的问题。随着深度学习的遍及和一直倒退,端到端的凋谢域对话零碎成果也在稳步晋升。基于大量语料和超大规模模型的预训练凋谢域对话生成技术近些年获得了十分多的停顿。如微软公布的 DialoGPT, Google 公布的 Meena, Facebook 公布的 Blender 等,依靠数亿到数十亿级级别参数的 Transformer 模型,以及数亿到数十亿的语料训练模型,模型能模仿人产生和人类十分相近的对话。

对话中存在“一对多”问题,也就是同样的对话语境下,能够有多种不同的回复。这些不同的回复,除了与上下文相干,也和背景常识相干。这些背景常识包含集体属性(性别年龄,画像等等)、生存常识、相干常识、价值观和态度(如认同 / 不认同一个观点)、对话产生的场景信息,对话人情绪状态用意等等(图 1)。然而这些背景常识往往十分难获取,这就给对话零碎训练带来十分大的乐音。个别的 Encoder-Decoder 神经网络不论有如许简单,依然是一个“一对一”的函数,如果间接应用,就很容易产生诸如“哈哈”,“不晓得”之类的平安回复。

图 1 对话零碎难点:对话语料上面的丰盛暗藏信息

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

PLATO-2 介绍

这次颁布的 PLATO-2, 是在 PLATO 工作根底上的进一步扩大。PLATO 应用了 12 层 Transformer 作为根底,参数为 1.1 亿。PLATO-2 通过扩大网络,减少训练数据集,将网络扩大到 16 亿参数。思考到精细化的引入隐变量的网络训练,计算耗费很大,PLATO-2 采取了课程学习的办法,逐渐优化参数,放慢训练效率。

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)模型(橙色局部)。

图 2 PLATO-2 模型构造简图

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

PLATO-2 成果

PLATO-2 蕴含中英文两局部模型。其中,中文模型在 12 亿中文凋谢域多轮对话数据集上进行训练,而英文模型则在 7 亿英文凋谢域多轮数据集上训练。PLATO-2 训练消耗了 64 张英伟达 V100 卡共 3 周的工夫,依靠了百度飞桨弱小并行能力,包含 Fleet 并行库和 Recompute 等扩大显存的形式。单个 Batch 蕴含 52 万 Token,训练过程中约进行了 30 万次梯度回传。

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

图 3 PLATO-2 动静评估成果

图 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,则十分频繁地转换话题,并且在每个话题上聊得绝对较浅。

图 5 PLATO-2 中文对话演示

图 6 PLATO-2 英文对话演示和 Blender 应用雷同对话种子比照

总结

PLATO-2 基于全新的隐空间技术和 Transformer 模型,从内容丰盛,连贯性上都达到了新的高度。期待 PLATO-2 能为智能对话开拓全新的畛域。此外,PLATO-2 的英文模型和代码行将陆续在 Github 凋谢,而中文模型也无望于不久的未来,凋谢接口提供相干服务。对智能对话感兴趣的小伙伴肯定不能错过。

百度自然语言解决(Natural Language Processing,NLP)以『了解语言,领有智能,扭转世界』为使命,研发自然语言解决核心技术,打造当先的技术平台和翻新产品,服务寰球用户,让简单的世界更简略。

退出移动版