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