AI 文摘

详细解读WebGLM--又一大模型在搜索领域的探索应用





作者: AINLP 来源: AINLP

论文名称: WebGLM: Towards An Efficient Web-Enhanced Question Answering System with Human Preferences

链接: https://arxiv.org/pdf/2306.07906.pdf

代码: https://github.com/THUDM/WebGLM

TL,DR

之前解读过WebGPT。本文是篇LLM在搜索领域的另一篇应用,提出了检索-生成-打分多阶段的流程,10B参数的WebGLM甚至与175B参数的WebGPT效果想当。

Abstract

WebGLM的目标是增强预训练大语言模型 (LLM) 的网络搜索和检索功能,同时提高实际部署的效率。WebGLM包含核心模块:基于LLM的增强检索器(LLM-augmented retriever),引导生成器(bootstrapped generator),人类偏好感知评分器(human preference-aware scorer)。多维人工评估结果表明,WebGLM(10B)比WebGPT(13B)效果更优,甚至与WebGPT (175B) 相当。

1.Introduction

虽然LLM在理解和生成方面已经展现出了令人惊讶的效果,但是在需要足够的知识时,LLM表现不尽人意。之前的WebGPT难以实际部属,本文提出了WebGLM(10B),可部署且效果与WebGPT相媲美,包含的主要模块:

  • 基于LLM增强的检索器(LLM-augmented retriever):一个两阶段检索器,由粗粒度web搜索和细粒度 LLM 蒸馏检索构成。

  • 引导生成器(bootstrapped generator):使用GLM-10B训练而来,根据long-formed QA 样本进行训练,并由LLM in-context learning完成引导。

  • 人类偏好感知评分器(human preference-aware scorer):使用在线问答论坛的用户点赞信号进行训练,能够了解大多数人对不同答案的偏好。作者通过人工评估和消融实验证明了WebGLM的高效。

2.The WebGLM System

2.1 基于LLM的增强检索器(LLM-augmented Retriever)

2.1.1 粗粒度Web搜索

本文使用Google API来获取候选网页的URL,通常网页除了答案之外,还会包含相关的上下文信息。整个处理过程包含三步:

  • Search:在此阶段,本文将问题输入搜索API,并将获得相关页面的URL列表(通常<10个)

  • Fetch:然后根据获取到的URL抓取对应的HTML内容。由于候选页面较多,本文通过并行抓取来提高效率。

  • Extract:接下来,本文基于HTML2TEXT,提取HTML页面中的部分文本内容,并按照换行符将其划分为段落列表。

2.1.2 基于LLM的细粒度检索

为了提高抽取出文档的相关性,本文提出将轻量级检索器与LLM进行结合。使用Contriever作为WebGLM中的检索器,将LLM的自然特性迁移到小型检索器中,从而优化检索器。具体来说,本文发现LLM可以自然地区分,并且只能在in-context learning(ICL)中采用有用的参考,仅使用Contriever检索准确率直邮68.6%,使用LLM进行ICL优化,检索准确率可以提升到90.2%。

本文使用自建数据集WebGLM QA中的参考数据进一步微调Contriever,Contriever分别独立编码query和doc,最后计算点积相关性,损失函数使用MSE,使用Rouge-1准确度分数进行评估。

2.1.3 速度分析

最耗时的部分在于Fetch,由于不同网页长度不同,解析也会导致较高的耗时。

2.2 引导生成器 (Bootstrapped Generator)

利用LLM的ICL特性,去生成高质量的QA数据集,同时设计出相应的校正和选择策略来过滤出高质量的子集用于实际训练。最终产出WebGLM-QA数据集,具有45k个高质量过滤样本和83k个未过滤样本。

2.2.1 ICL推理 (In-context Learning Inference)

也是三个主要步骤:

  • Prompt格式:最终尝试上图中(a)的格式

  • Instruction归纳:本文使用几个高质量的示例来归纳一些可能的指令上图(b),并根据多个查询的经验评估来选择性能最佳的指令,图中的Instruction为"Read the references provided and answer the corresponding question"。

  • Few-shot In-Context Learning: 使用one-shot learning进行ICL,如图(c)

2.2.2 引用纠正 (Citation Correction)

本文发现生成的引用序号可能会出错,但是尽管引文号出错,但答案中引用的内容通常是正确的。因此,本文根据引用与参考文献的相似性来修改引用编号,通过生成的引用编号将答案分成几个部分,然后与参考文献进行匹配。

2.2.3过滤 (Filtering)

本文还会对无事实依据、引用很少、引用准确率低等bad case进行过滤,提高生成的质量。

最终得到45k的高质量QA数据集,用于训练GLM,得到WebGLM-QA生成器。

2.3 人类偏好感知评分器 (Human Preference-aware Scorer)

考虑到成本问题,本文使用在线QA论坛中点赞等信号构建出人类偏好感知评分器。在适当的设计和精心的数据清理下,实验表明,这种评分器还显着提高了答案的对齐水平和真实人类评估中的评分。

在线QA问题、答案 筛选方式:

  • 高质量反馈:将点赞次数超过3次的答案定义为有效反馈的答案。挑选出具有8个或更多有效答案的问题作为合格问题。

  • 缓解长度偏差:在部分研究中,长答案容易获得高分,为了减轻长度偏差,对于每个合格问题,本文使用所有答案的中位长度x作为阈值来截断较长的答案并丢弃那些长度小于x/2的答案。

  • 对比增强:为了增加比较答案之间的对比度,本文选择排名位置超过5的一对答案。在每一对中,点赞数量较多的答案具有更好的回应。

经过上述筛选,总共有 93k 个问题和 249k 对pair,其中 230k 对作为训练集,19k 对作为测试集。

人类偏好感知评分器的骨干模型 是一个GLM(6B):首先使用SFT(Supervised fine-tuning)进行微调。然后进行对比训练:将成对的数据传递给模型,以生成每个问答对的标量分数,并最大化它们分数之间的差距,最终使用输出维度为1的线性头来生成分数。

3.人工评估标准

3.1 引用评估

  • 相关性(Relevancy) [0,3]

  • 稠密性(Density) [0,3]

  • 真实性(Truthfulness) [0,1]

  • 有毒性(Toxicity) [0,1]

  • 社会偏见(Social Bias) [0,1]

3.2 答案评估

  • 流利度(Fluency) [0,3]

  • 正确度(Correctness) [0,3]

  • 引用准确度(Citation Accuracy) [0,1]

  • 真实性(Truthfulness) [0,1]

  • 客观性(Objectivity) [0,1]

  • 冗余性(Redundancy) [0,1]

4.实验结果

整体结果:

Open-domain QA结果:

5.相关工作

Large Language Models (LLMs): GPT-3,PALM, OPT, BLOOM, GLM-130B…

Open-domain Question Answering (Open QA): 最近的工作:ELI5收集来自 Reddit 的查询和长格式答案;WebGPT雇佣专家完成标注并利用GPT-3完成训练。

Retrieval-augmentation:

  • 基于稀疏向量:BM2、TF-IDF

  • 基于稠密空间:DPR、Contriever、REALM(联合优化检索+语言建模)

Reinforcement Learning from Human Feedback (RLHF): 评估方式:BLEU、ROUGE、METEOR(同时考虑整个语料的准召)、BERTScore(使用深度语言模型的上下文嵌入的余弦相似度进行评估)

**进技术交流群请添加AINLP小助手微信(id: ainlp2)**   


**请备注具体方向+所用到的相关技术点** 

![](https://api.allorigins.win/raw?url=https://mmbiz.qpic.cn/mmbiz_jpg/nW2ZPfuYqSJADkmZ2IX6Z23znAibuEevotDMq9iaMxiapK7jfMibiauGFkycicAJEs6x5U9SGyDJZ0S1tRed9TPNUUDQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)



**关于AINLP** 

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。

  


  


![](https://api.allorigins.win/raw?url=https://mmbiz.qpic.cn/mmbiz_jpg/nW2ZPfuYqSKABHCqVVQkVYPrM4XY1vsd0iaeuXzyJnoFc8cibd5mYb4wdA3WMQtiaPVmr0XLZHMuVibqWncibpnTSnQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1)

**阅读至此了,分享、点赞、在看三选一吧🙏** 

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具