百度自然语言处理技术新突破“端到端问答”迈出重要一步

人工智能自然语言处理领域的开放域问答技术在智能搜索、智能助手、智能客服等多个场景下 , 都发挥着重要作用 。 特别是近些年 , 随着各种智能手机、智能音箱的普及 , 智能搜索快速进化 , 可以帮助用户在这些小屏和无屏设备上更快速、准确的获取有用信息 。
近日 , 百度提出RocketQA , 一种面向端到端问答的检索模型训练方法 , 助力机器问答理解技术迈出突破一步 , 推动了智能问答领域技术发展 。 该方法不仅在多个问答相关数据集中取得了当前最佳结果 , 同时也超越谷歌、微软、脸书、阿里、美团、卡内基梅隆大学、清华大学等企业和高校 , 问鼎微软MSMARCO数据集段落排序任务榜首 。
百度自然语言处理技术新突破“端到端问答”迈出重要一步文章插图
(微软MSMARCO数据集排行榜截图)
据了解 , 微软MSMARCO数据集是微软提出的大规模的面向问答的数据集 , 不仅规模大 , 而且贴近真实场景 , 包含约100万问题、880万相关段落以及人工标注的问题答案 。 RocketQA在其中的脱颖而出 , 正显示了百度在模型检索能力方面的领先实力 。
百度RocketQA训练方法是一种对偶式检索模型增强训练方法 , 并基于百度自研的语义理解技术与平台文心(ERNIE)进行训练 , 大幅提升了对偶式检索模型的效果 。 所谓对偶式检索模型 , 是一种区别于传统的检索模型的基于深度语义表示的模型 , 能够利用强大的网络结构进行更深层次的学习 , 同时基于预训练语言模型 , 使语义理解更加丰富 。 然而在检索问答场景上 , 该模型的表现仍有欠缺 , 其训练仍然存在着 , 诸如训练场景和预测场景中样本数量差异较大、数据集中存在大量漏标注的正确答案、人工标注训练数据相对规模小成本大等问题和挑战 。
【百度自然语言处理技术新突破“端到端问答”迈出重要一步】针对对偶式检索模型训练中存在的问题和挑战 , 百度RocketQA通过跨批次负采样(cross-batch negatives)、去噪的强负例采样(denoised hard negative sampling)与数据增强(data augmentation)等3项技术 , 解决了上述问题和挑战 , 从而使得对偶式检索模型效果大幅提升 。 在实现RocketQA的过程中 , 这3项技术处于层层递进的关系 , 最终合成一套 。 同时 , 实现过程中还使用了百度文心(ERNIE)初始化模型参数 。
实验结果也显示 , RocketQA在微软MSMARCO和谷歌Natural Question数据集的效果均大幅超过了已经发表的最好的检索模型 。 同时在答案抽取任务上 , 百度RocketQA检索结果的有效性也得以验证 。
百度自然语言处理技术新突破“端到端问答”迈出重要一步文章插图
(RocketQA在微软MSMARCO和谷歌Natural Questions数据集上段落检索的效果)
此外 , 百度RocketQA的提出 , 更代表着向实现“端到端问答”迈出的重要一步 。 不同于传统的级联式问答系统 , “端到端问答”摒弃了传统系统中繁杂的构件 , 系统复杂性大大降低 , 并且其中每个模块(段落检索和答案定位)都是可学习的 , 这样的设计能够让整个系统实现端到端训练 。 从而能够基于用户实时的反馈实现在线训练 , 而不是只在封闭的数据集上闭门造车 。 正是基于上述优异性 , 端对端回答成为智能问答技术的发展趋势 , 甚至可能会引发问答系统的新一代技术变革 。 而百度RocketQA正是面向端对端回答方向 , 在优化解决对偶式检索模型训练中存在的 , 诸如训练、预测场景样本数量差异较大 , 人工标注规模小、成本高等问题之后 , 并取得MSMARCO榜首的好成绩 , 为“端对端回答”攻下一城 。
实际上 , 在研发算法的过程中 , 高性能的并行训练也必不可少 , 它是研发人员快速尝试各种想法的利器 。 百度RocketQA的实现即完全基于飞桨深度学习框架 。 据相关资料显示 , 百度研究人员在使用飞桨分布式训练API(paddle.distributed.fleet)进行训练的同时 , 也采用了飞桨分布式训练扩展工具FleetX 。 前者是百度飞桨新API体系下的通用分布式训练API , 其提供的经典数据并行训练方案能够大幅提升试验效率;后者是百度飞桨框架分布式训练扩展工具 , 提供数据分片并发下载、快速定义模型、快速提交集群任务等功能 , 能够实现了研发人员的使用效率的极大提升 。