人工智能在自然语言处理领域的开放域问答技术,在智能搜索、智能助手、智能客服等多个应用场景中扮演着重要角色。近年来,随着智能手机和智能音箱的普及,智能搜索技术得到了迅速发展,用户可以在这些小型或无屏幕设备上更快、更准确地获取所需信息。
最近,百度推出了一种名为RocketQA的新型检索模型训练方法,专门应用于端到端的问答系统。这一创新不仅在多个问答数据集中取得了领先的成绩,还在微软MSMARCO数据集上超越了谷歌、微软、脸书、阿里、美团、卡内基梅隆大学和清华大学等机构,位居榜首。
据了解,微软MSMARCO数据集是一个大规模的问答数据集,涵盖大约100万个问题、880万个相关段落以及人工标注的答案。RocketQA在该数据集上的优异表现,展示了百度在模型检索能力方面的强大实力。
百度的RocketQA训练方法采用了一种对偶式检索模型,并结合百度自主研发的语义理解技术和文心(ERNIE)平台进行训练,显著提升了检索模型的效果。对偶式检索模型是一种基于深度语义表示的模型,利用强大的网络结构进行更深层次的学习,并通过预训练的语言模型增强语义理解能力。然而,在实际应用中,这种模型仍面临一些挑战,如训练和预测场景中的样本数量差异、数据集中存在大量未标注的正确答案,以及人工标注训练数据成本高昂等问题。
为解决这些问题,百度RocketQA引入了跨批次负采样、去噪的强负例采样和数据增强三项技术,有效提升了模型效果。这三项技术层层递进,最终形成了一套完整的解决方案。此外,百度文心(ERNIE)也被用于初始化模型参数。
实验结果显示,RocketQA在微软MSMARCO和谷歌Natural Questions数据集上的表现均超越了现有的最优检索模型。此外,在答案抽取任务中,RocketQA的检索结果也得到了验证。
百度RocketQA的提出标志着端到端问答系统的重大进展。与传统的级联式问答系统不同,端到端问答系统简化了系统结构,使其复杂性降低,并且每个模块(如段落检索和答案定位)都可以进行学习,从而实现端到端训练。这种设计使得系统可以根据用户的实时反馈进行在线训练,而不是局限于封闭的数据集。因此,端到端问答系统有望引领智能问答技术的发展趋势,甚至可能引发新一轮的技术变革。百度RocketQA正是朝着这个方向前进,解决了对偶式检索模型训练中的诸多挑战,并取得了卓越的成绩。
在开发算法的过程中,高性能的并行训练也是不可或缺的一部分,它使研究人员能够快速尝试各种想法。百度RocketQA的实现完全基于飞桨深度学习框架。据相关资料显示,百度的研究人员在训练过程中使用了飞桨的分布式训练API(paddle.distributed.fleet),并结合了飞桨分布式训练扩展工具FleetX。前者提供了经典的数据并行训练方案,大大提高了实验效率;后者则提供了数据分片并发下载、快速定义模型、快速提交集群任务等功能,显著提升了研究人员的工作效率。
目前,RocketQA已被逐步应用于百度的核心业务,包括搜索和广告等。例如,在百度搜索中,用户可以体验到问答技术带来的便利。传统的搜索引擎通常会列出多个链接供用户选择,而基于问答技术的搜索引擎可以直接提供唯一且精确的答案,从而让用户更快、更准确地获取信息。
例如,当用户在百度搜索框中输入“佩奇是公猪还是母猪”这样的问题时,搜索结果页面会直接展示“女生”这一答案,而不再是传统的链接列表。这种改进大大提高了查询效率,提升了用户体验。随着RocketQA的广泛应用,百度搜索的用户体验将进一步提升。
总之,百度RocketQA不仅在技术上取得了突破,也在实际应用中展现了其价值。未来,这一技术有望在更多场景中发挥作用,进一步推动智能问答技术的发展。