导读:对话技术是数字人交互的核心能力之一,这次分享主要从百度 PLATO 相关的研发和应用出发,谈谈大模型对对话系统的影响和对数字人的一些机会,本次分享题目为:大模型推动的人机交互对话。
今天的介绍从以下几点展开:
- 对话系统概览
- 百度 PLATO 及相关技术
- 对话大模型落地应用、挑战及展望
一、对话系统概览
1、对话系统概览
日常生活中,我们常常接触到一些偏任务类型的对话系统,比如让手机助手定闹铃、让智能音箱放首歌。这种在特定领域内的垂类对话,技术相对成熟,系统设计上通常是模块化的,包括对话理解、对话管理、自然语言生成等模块。
传统任务型对话的大致流程如下:用户输入一句话,系统通过自然语言理解模块,解析出相关的意图和槽值对(slot-value pairs),这些词槽是预先定义好的;通过对话管理模块追踪多轮对话状态,以及与外部数据库交互,进行系统动作的决策;然后通过对话生成模块,产出回复返回给用户。
最近几年很多研究是关于开放域对话技术,即不限定领域、可以就任意话题聊天。代表性的工作有 Google Meena、Mata Blender 和 Baidu PLATO 等,与传统模块化的对话系统相比,这些端到端的对话系统是给定对话上文,直接生成相应的回复。
2、端到端对话生成——对话系统的新机遇
端到端对话系统可以基于 RNN、LSTM 或 Transformer 等进行设计,网络架构主要包括两部分:编码器 Encoder 和解码器 Decoder。
编码器将对话上文编码成向量,对对话内容做理解。
解码器是根据对话向量和之前的隐藏向量,生成相应的回复。训练语料主要是人人对话语料,可以从公开的社交媒体论坛(微博、贴吧、推特等)抽取评论作为近似的对话语料。训练目标主要是最小化负对数似然函数。
3. 开放域对话面临的挑战
基于大量语料训练出的大规模模型,已经可以产生比较连贯的回复,但仍然存在很多问题。
第一个问题是内容比较空洞、缺乏信息。模型回复的比较简略、无实质内容,容易降低用户的聊天意愿。
另一个问题是知识滥用,模型回复的一些详细信息有时候是错误的、编造的。
二、百度 PLATO
百度 PLATO 针对上述两类问题做了一些技术探索。
针对内容空洞,提出了基于离散隐变量的预训练对话生成技术,实现开放域回复的合理性、多样性的生成。对于知识滥用问题,提出融合知识的弱监督对话生成模型,一定程度上缓解了知识滥用的问题,提升了对话丰富度和知识准确率。
1、开放域对话“一对多”问题
对话模型为什么会产生内容空洞的“安全回复”?
本质上,开放域对话是一对多的问题,一个对话上文,通常是有很多个合理回复的,不同人背景、经历、所处场景不同,给出的回复很可能不一样。而神经网络训练通常是一一映射的,学到的是这些回复的均值状态,比如是“挺好的”“哈哈哈”这类安全而没有信息量的回复。
2、PLATO-1 隐空间对话生成模型
PLATO-1 提出基于离散隐变量进行对话一对多关系的建模。
这里涉及两个任务,将原来的对话上文 Context 和对话回复 Response 对应到隐变量 Latent Action 上,然后基于隐变量去学习回复生成。PLATO 是利用同一网络对两个任务进行联合建模,先通过估计隐变量的分布,通过 Gumbel Softmax 采样出隐变量后再学习回复生成,这样通过采样不同的隐变量,就能生成多样化的回复。
案例展示,选择了不同隐变量,产生不同回复的效果。这些回复都是基于上文的回复,回复质量不错、很合适且信息量丰富。
3、PLATO-2 基于课程学习的通用对话模型
PLATO-2 在 PLATO-1 的基础上,继续扩展。参数上,达到了 16 亿的规模;预训练语料上,中文有 12 亿对话样本,英文有 7 亿样本;训练方式上,是基于课程学习。何为课程学习 Curriculum Learning?就是先学习简单的再学复杂的。
另外,PLATO-2 继续沿用统一的网络设计 PrefixLM,同时学习对话理解和回复生成。基于课程学习的训练效率高,基于统一网络的性价比高。
PLATO-2 第一阶段先训练简化的通用回复生成,第二阶段训练多样化的回复生成,在这个阶段把隐变量加进来了。第二阶段还引入了对话连贯性评估训练,相对于常见的生成概率排序,连贯性评估有效地提升了回复选择的质量。
PLATO-2 能否作为通用的对话框架?我们知道对话领域大致分为三类,任务型对话、知识对话和开放域闲聊系统。分别给不同类型对话系统进行预训练成本太高,PLATO-2 的课程学习机制恰好可以助力其成为一个通用对话框架。任务型对话相对聚焦,在课程学习第一阶段的一对一映射模型正好满足这类情况,知识对话和闲聊中都有一对多的情况,知识对话中可以用不同知识回复用户,闲聊对话中可以有不同的回复方向,所以课程学习第二阶段模型可以应用到知识对话和闲聊系统上。
4、PLATO-2 in DSTC-9
为了验证这一能力,PLATO-2 参加了对话领域的国际竞赛 DSTC,它全面的涵盖了各种对话领域,PLATO-2 以统一的技术框架在 6 项任务中取得了 5 项冠军,这在 DSTC 的历史中尚属首次。
5、PLATO-XL 首个百亿参数中英文对话生成模型
如果继续推高 PLATO 模型参数规模,会达到怎样的效果?2021 年 9 月我们推出全球首个百亿规模中英文对话生成模型 PLATO-XL。
在中英文上,分别对比了常见的几个商业产品,从合理性、丰富度和吸引度等角度评测,PLATO 的效果是遥遥领先的。
微信公众号“百度 PLATO”接入了 PLATO-XL 模型,大家可以去试用和体验。
PLATO 模型参数量从一亿到十亿再到百亿规模,其实到十亿规模的时候对话已经比较流畅、通顺了,到百亿规模的时候模型的逻辑能力显著提升了很多。
6、知识滥用问题
大模型都存在知识滥用的问题,如何解决呢?我们人类遇到不知道的问题如何解决的?可能会去搜索引擎上查一下,这种通过查找外部知识的方式能否借鉴一下到模型中?
融合外部知识辅助回复生成,是缓解知识滥用很有希望的方向。但对于大规模的对话语料,只存在对话上文和回复信息,无法知道某条语料与外部知识对应关系,也就是缺少知识选择的标签信息。
7、PostKS 基于后验指导的知识选择
PostKS 是知识对话领域代表性的工作之一,提出了基于后验指导的知识选择,在训练过程中,让先验的知识分布逼近后验的知识分布。
在推理阶段由于不存在后验信息,模型需要使用先验知识进行回复生成。训练和推理阶段会存在不一致的情况,训练基于后验但推理只能基于先验。
8、PLATO-KAG 基于联合优化的无监督知识对话
PLATO-KAG 无监督模型,联合建模了知识选择和回复生成。基于先验选择了 top-k 条知识,并送给生成模型,做一个端到端的联合训练。如果知识选的准,对生成目标回复很有帮助,生成概率会比较高,联合优化会鼓励这种选择并利用给定知识;如果知识选的差,对生成目标回复没有作用,生成概率会比较低,联合优化会打压这种选择并忽视给定的知识。这样就同时优化了知识选择和回复生成。
9、PLATO 全面知识增强对话
从人类学习知识经验来看,我们大脑中也记忆了很多的知识,PLATO 尝试了全面的知识增强,同时做了知识外用和知识内化。一方面利用外部的通用无结构化知识和画像知识,另一方面也将大量问答知识通过预训练内化到模型参数中。经过这样全面的知识增强,对话通用知识错误率从 30% 降低到 17%,画像一致性从 7.1% 提升到 80%,问答准确率从 3.2% 提升到 90%,提升的非常明显。
下图是做了全面知识增强后的效果对比。
值得注意的是,虽然效果得到了显著改善,但知识滥用问题并没有完全解决,只是缓解而已。即使模型规模扩大到千亿参数,知识滥用问题也依然存在。
目前仍有几个点值得我们继续努力:第一个是外部知识的触发时机,就是什么时候查外部知识,什么时候使用内化知识,这会影响对话的流畅度和吸引度。第二个是知识选择的准确性,这涉及到检索技术,中文知识语料建库是几十亿规模,通过给定的对话上文准确检索到合适的知识没那么容易。第三个是知识利用的合理性和保真度,模型有时候会无法准确理解知识或者混乱拼凑出不准确的回复等。
三、对话大模型落地应用、挑战及展望
上面介绍了 PLATO 对话的一些技术,比如引入大规模的模型、加入离散隐变量提升对话丰富度、通过无监督引入外部知识缓解知识滥用等,那么在实际生产中有哪些落地的应用呢?
1、落地应用
PLATO 在智能音箱、虚拟人、社区聊天等多场景提供开放域聊天能力。
左侧是数字人度晓晓,在百度 APP 搜索度晓晓或者直接输入“你好”就能调用数字人,通过聊天能便捷搜索的过程,高效获取答案和信息。右侧是百度输入法中的虚拟人,既高颜值又很会聊。
2、落地应用遇到的挑战
落地应用中,第一个挑战就是推理性能,图中列出了 16 亿参数 PLATO 的性能数据。通过算子融合减少了 98% 的算子数量,模型推理耗时从原来 v100 上的 1.2s 降低到 A10 卡上的 300ms 以内。通过计算精度优化,减少了 40% 的显存,推理卡从 v100 换到 A10 降低成本,同时做了架构优化和平台迁移,降低了链路开销。
第二个挑战是对话安全。比如有害言论、政治敏感、地域歧视、隐私等很多方面需要高度注意。PLATO 对语料做了深度清洗,删除不安全样本,在部署后使用安全判别模型移除不安全候选回复。同时维护了关键词表和添加对抗训练,查漏补缺,提升安全性。
3、展望
以前人们认为开放域闲聊是一个兜底功能,随着近几年大模型的发展,对话领域也有了显著进展,目前模型可以生成连贯、流畅、丰富和跨领域的对话,但情感、人设、人格和思辨等方面仍然有很大提升空间。
道阻且长,行则将至,行而不辍,未来可期。也希望对话领域的同行们,大家一起努力,共同攀登人机对话的高峰。
4、引用
五、问答环节
Q:对话效果如何评估的?
A:目前对话系统还没有自动指标能和人工评估比较一致,人工评估仍是黄金标准。开发阶段可以参考困惑度 perplexity 进行迭代,最终进行全面评估时,还是需要请大量的众包人员与不同机器进行交互,在一些指标上进行人工评估。评估指标上,也随着技术的发展而变化,比如当流畅度不再是问题的时候,那么可以添加安全性、知识准确性等指标评估更高级的能力。
以上是大模型推动的人机交互对话的详细内容。更多信息请关注PHP中文网其他相关文章!

使用Gemma范围探索语言模型的内部工作 了解AI语言模型的复杂性是一个重大挑战。 Google发布的Gemma Scope是一种综合工具包,为研究人员提供了一种强大的探索方式

解锁业务成功:成为商业智能分析师的指南 想象一下,将原始数据转换为驱动组织增长的可行见解。 这是商业智能(BI)分析师的力量 - 在GU中的关键作用

SQL的Alter表语句:动态地将列添加到数据库 在数据管理中,SQL的适应性至关重要。 需要即时调整数据库结构吗? Alter表语句是您的解决方案。本指南的详细信息添加了Colu

介绍 想象一个繁华的办公室,两名专业人员在一个关键项目中合作。 业务分析师专注于公司的目标,确定改进领域,并确保与市场趋势保持战略一致。 simu

Excel 数据计数与分析:COUNT 和 COUNTA 函数详解 精确的数据计数和分析在 Excel 中至关重要,尤其是在处理大型数据集时。Excel 提供了多种函数来实现此目的,其中 COUNT 和 COUNTA 函数是用于在不同条件下统计单元格数量的关键工具。虽然这两个函数都用于计数单元格,但它们的设计目标却针对不同的数据类型。让我们深入了解 COUNT 和 COUNTA 函数的具体细节,突出它们独特的特性和区别,并学习如何在数据分析中应用它们。 要点概述 理解 COUNT 和 COU

Google Chrome的AI Revolution:个性化和高效的浏览体验 人工智能(AI)正在迅速改变我们的日常生活,而Google Chrome正在领导网络浏览领域的负责人。 本文探讨了兴奋

重新构想影响:四倍的底线 长期以来,对话一直以狭义的AI影响来控制,主要集中在利润的最低点上。但是,更全面的方法认识到BU的相互联系

事情正稳步发展。投资投入量子服务提供商和初创企业表明,行业了解其意义。而且,越来越多的现实用例正在出现以证明其价值超出


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中