2021年12月,基于网页搜索的问答新范式迎来重要突破,清华、人大、腾讯的研究人员共同发布了中文领域首个基于交互式网页搜索的问答开源模型框架WebCPM。该框架利用了开源大模型工具学习引擎BMTools,通过与搜索引擎实时交互,能够像人类一样收集回答问题所需的事实性知识并生成答案。WebCPM的基础模型CPM是由面壁智能与OpenBMB开源社区开发的百亿参数中文语言模型。该研究引起了自然语言处理领域的广泛关注,相关工作还被ACL 2023顶级会议录用。
论文地址:https://arxiv.org/abs/2305.06849
项目地址:https://github.com/thunlp/WebCPM
WebCPM的研发背景源于人们在当今信息化时代对获取各种知识和信息的需求,特别是复杂问题的回答。传统的长文本开放问答模型存在一定缺陷,而WebCPM通过交互式网页搜索的方式提供了一种新的解决方案。研究团队构建了一个开源的交互式网页搜索界面,通过记录人类的搜索行为和网页浏览行为构建了中文领域首个基于交互式网页搜索的LFQA数据集。该数据集包含了高质量的问题-答案对以及真实用户的网页搜索行为,为后续研究提供了宝贵的资源。
WebCPM的发布填补了中文问答领域的空白,为学术界和工业界提供了一个重要的工具和研究平台。其利用交互式网页搜索的方式使得回答问题更加准确和实时,具有广阔的应用前景。
OpenAI发布的支持LFQA的交互式网页搜索工作WebGPT引起了广泛关注。该工作利用微软必应搜索(Bing)提供的支持,通过构建网页搜索界面并招募标注员收集信息,然后使用微调的GPT-3模型模仿人类的搜索行为并生成答案。实验结果表明,WebGPT在LFQA任务上具有出色的能力,甚至超过了人类专家。这一技术也是微软最新推出的New Bing搜索技术背后的核心。
尽管WebGPT和New Bing的效果令人惊叹,但其相关细节仍未完全公开,核心设计元素的工作原理也不透明,给学术界和工业界带来了一定的神秘感。鉴于交互式网页搜索的重要价值,为了支持后续研究,我们迫切需要一个标准数据集和相关的开源模型。
为推动该领域的发展,来自清华大学、人民大学和腾讯公司的研究团队在ACL论文中介绍了一个开源的交互式网页搜索界面,用于记录人类在收集与开放式问题相关信息时的网页搜索行为。该界面利用必应搜索API支持网页搜索功能,包括10种主流网页搜索操作。用户可以执行预定义的操作进行多轮搜索和浏览,并将找到的相关信息作为支持事实记录下来。当收集到足够的信息后,用户可以完成网页搜索,并根据收集到的事实回答问题。界面还会自动记录用户的网页浏览行为,用于构建WebCPM数据集。
基于这个界面,研究团队构建了中文领域首个基于交互式网页搜索的LFQA数据集,包含5500对高质量问题-答案对和数十万条真实用户的网页搜索行为。与现有的中文问答数据集相比,WebCPM的问题、支持事实和答案都更长,展现了问题的复杂性和答案内容的丰富性。这一成果填补了中文问答领域的空白,为后续研究提供了宝贵的资源,有望进一步推动交互式网页搜索的发展。
作者提出了的 WebCPM 框架包括:搜索模型与答案综合模型。

WebCPM 模型框架
搜索模型
该模型模仿人类网页搜索行为、与搜索引擎交互并进行信息检索。作者将网页搜索任务划分为 3 个子任务:搜索行为预测(action prediction)、查询语句生成(search query generation)和 支持事实摘要(supporting fact extraction)。搜索行为预测模块在每一步决定执行哪个具体的搜索行为。该模块可以调用其它两个模块来生成下一步查询语句或摘录重要信息。每个子任务都基于生成式中文大模型来训练。通过组合 3 个训练得到的模块,该模型能够在搜索引擎界面上执行一系列操作以收集与问题相关的信息。每个模块在当前界面状态的条件下执行推理。
包括原始问题



,上一个窗口和当前窗口中显示的内容 和
、当前已经摘录的支持事实
答案综合模型
该模型根据原问题与收集到的事实生成连贯的答案。然而与人类不同,经过训练的搜索模型偶尔会收集到不相关的噪声,这将影响生成答案的质量。为了解决这一问题,作者在答案综合模型的训练数据中引入噪声,使其具备一定的去噪的能力,从而忽略不相关的事实,只关注重要的事实以生成答案。
作者首先对每个子模块分别评估,然后,将所有模块组合起来形成整体的 pipeline,并测试其效果。最后,作者对每个模块的性能进行深入分析。
单个子任务的性能评估结果,作者测试了包括 CPM 模型在内的多个有代表性的中文大模型。
单个子任务评估
作者测试了多个有代表性的中文大模型,并得出以下结论(结果如上图所示):不同模型在四个子任务上的性能各有优劣。例如在搜索行为预测、查询语句生成和支持事实摘要中,mT0 的表现优于 mT5,但在综合信息方面表现较差。此外,CPM 系列模型的性能随着模型参数量的增加也不断提高。得益于 scaling law ,更大的模型通常拥有更强的理解和生成能力,能表现出更好的下游任务性能。
整体 pipeline 评测
对于每个测试问题,作者比较了模型(CPM 10B 模型)和人类用户使用搜索引擎回答问题和做相同任务的表现,并进行人工评测。具体而言,给定一个问题和模型与人类分别给出的答案,标注员将根据多个因素(包括答案整体实用性、连贯性和与问题的相关性)决定哪个答案更好。从下图 (a) 的结果可以得出以下结论:模型生成的答案在 30%+ 的情况下与人写的答案相当或更优。这个结果表明整个问答系统的性能在未来仍有巨大的提升空间(例如训练性能更加强大的基底模型);当将人工收集的事实应用于信息综合模型时,性能提高到了 45%,这可以归因于收集的事实质量的提高。

整体 pipeline 评测效果,作者测试了 WebCPM 数据集和 DuReader 数据集
此外,作者也将整体 pipeline 应用于 DuReader 中文 QA 数据集(包含 Zhidao 和 Search 两个子数据集),并比较了模型生成的答案和人工标注的答案,从上图 (b) 可以观察到模型生成的答案比 DuReader 标注答案更好的情况接近 50%,这反映了该模型强大的泛化能力,体现了 WebCPM 数据标注的高质量。
WebCPM 案例分析
为了探究查询模块所学习到的人类行为,作者抽样不同测试问题生成的查询语句来进行案例分析。下图展示了部分结果,以研究查询模块的性能。可以看出,该模块已经学会了复制原始问题,将问题分解为多个子问题,用相关术语改写问题等多种人类搜索策略。这些策略使查询语句更加多样化,有助于从更多的来源收集更丰富的信息。

WebCPM 成功实践 BMTools

近年来,大模型在诸多领域展现出惊人的应用价值,持续刷新各类下游任务的效果上限。尽管大模型在很多方面取得了显著的成果,但在特定领域的任务上,仍然存在一定的局限性。这些任务往往需要专业化的工具或领域知识才能有效解决。因此,大模型需要具备调用各种专业化工具的能力,这样才能为现实世界任务提供更为全面的支持。最近,新的范式大模型工具学习(Tool Learning)应运而生。这一范式的核心在于将专业工具与基础模型的优势相融合,以在问题解决方面达到更高的准确性、效率和自主性,工具学习极大地释放了大模型的潜力。

在应用方面,ChatGPT Plugins 的出现补充了 ChatGPT 最后的短板,使其可以支持连网、解决数学计算,被称为 OpenAI 的 “App Store” 时刻。然而直到现在,它仅支持部分 OpenAI Plus 用户,大多数开发者仍然无法使用。为此,工具学习引擎 BMTools 也应运而生,它是一个基于语言模型的开源可扩展工具学习平台。研发团队将各种各样的工具(例如文生图模型、搜索引擎等)调用流程都统一到一个框架上,使整个工具调用流程标准化、自动化。开发者可以通过 BMTools,使用给定的模型(ChatGPT、GPT-4)调用多种多样的工具接口,实现特定功能。此外,BMTools 工具包也已集成最近爆火的 Auto-GPT 与 BabyAGI。
- BMTools 工具包 :https://github.com/OpenBMB/BMTools
- 工具学习综述链接 :https://arxiv.org/abs/2304.08354
- 工具学习论文列表 :https://github.com/thunlp/ToolLearningPapers
WebCPM 是 BMTools 的一次成功实践,相信在不断发展和完善大模型工具学习技术的过程中,大模型工具学习的范式将会有更加广泛的应用。