用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘

1:引言自从搜刮引擎问世以来,信息检索算法历经多次技术更迭,其演进的历程可大致归纳为四个技术代际:1.0 文本索引 -2.0 超链分析 -3.0 机器学习 -4.0 深度学习。2022 年底,ChatGPT 成为全球技术焦点,其具备的多轮对话、推理和对长文本的理解能力,解决了以往搜刮引擎所无法有效解决的难题。然而,由于 GPT 目前还面临着许多挑战,例如大模型幻觉问题、高额的千次搜刮成本、变现模式的颠覆以及法律的强监管等问题,各搜刮引擎暂时都没有实现用 GPT 替换现有引擎。即使是 NewBing 也只是将传统的搜

1:引言

自从搜刮引擎问世以来,信息检索算法历经多次技术更迭,其演进的历程可大致归纳为四个技术代际:1.0 文本索引 ->2.0 超链分析 ->3.0 机器学习 ->4.0 深度学习

2022 年底,ChatGPT 成为全球技术焦点,其具备的多轮对话、推理和对长文本的理解能力,解决了以往搜刮引擎所无法有效解决的难题。

然而,由于 GPT 目前还面临着许多挑战,例如大模型幻觉问题、高额的千次搜刮成本、变现模式的颠覆以及法律的强监管等问题,各搜刮引擎暂时都没有实现用 GPT 替换现有引擎。即使是 NewBing 也只是将传统的搜刮引擎结果作为 ChatGPT 的输出来增强效验。因此,搜刮引擎是否会进入 5.0 GPT 技术代际,仍在探索中。

腾讯 QQ 浏览器作为一款国民级智能工具,用户通过搜刮举行信息查询是其中一个重要的使用场景。本文主要探讨 QQ 浏览器・搜刮在 4.0 时代 – 即深度学习模型方面的各种实践,以及在 5.0 时代 – 即生成式超大模型方向的尝试。

在这两个技术代际过程中,预训练语言模型是核心技术基座,模型性能的好坏通常由模型结构、样本数据、输出表示信息、模型规模和算力等因素共同决定,如图 1 所示。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                    图 1

2:搜刮婚配四大难题

语义婚配、内容掷中、需求切换、多需求 PK

搜刮引擎是一种智能化的信息检索工具,能够从互联网上的海量信息中为用户提供精准的搜刮结果。在实际应用中,搜刮引擎需要解决的关键问题是如何让用户快速、准确地找到所需内容。虽然通过字面婚配可以获得最相关的文档,但在大多数情况下,这种婚配方式会面临多种挑战,例如:

Query 和 Doc 非直接掷中,而是语义满足的,需要通过语义建模才能挖掘出最婚配的 Doc,如图 2。

Query 和 Doc 的标题掷中不好,但是和 Doc 的内容文本掷中较好,需要对 Doc 的内容域举行建模,如图 3。

对于相同的搜刮请求,用户会随着时间的变化产生不同的结果页需求,需要对需求切换举行建模,如图 4。

同一个搜刮 Query 下,相同婚配的结果在满足用户需求上存在差异,需要对多需求 PK 举行建模,如图 5用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                               图2(左)和图3(右)用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                               图 4(左)和图5(右)

3:技术框架

如图 6 所示,QQ 浏览器整个搜刮系统选择分层治理,返回结果条数呈现金字塔型,自下而上分别是:

数据层:主要是抓取存储解析各种数据内容。

召回层:从千亿级 Doc 中召回和 Query 相关的百万级目标,然后通过粗排模型举行进一步筛选获取十万级。

精排层:在粗排召回的基础上引入更多的精细特性,引入更复杂的模型计算获得和 Query 最相关的百级 Doc,大量的深度语义模型都分布在这一层。

混排层:主要是用于普通结果和卡片类结果举行插入混排。

为了解决搜刮引擎面临的诸多挑战,在整个系统的多个模块中引入了深度语义婚配模型,典型的有:

精排层相关性模型,除去传统的字面婚配特性之外,重要特性是深度语义婚配。

精排层时效性模型,除去时间因子,爆发系数特性之外,重要的特性是深度语义。

深度点击模型,除了有点率,点击率,跳过率,时长之外,重要的特性也是深度语义。

TOPK 模型,除相关性,时效性,质量,热度特性之外,也有内容深度语义婚配特性。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                  图 6

4:训练 pipeline

如图 7 所示,QQ 浏览器・搜刮构建了从预训练 ->post 预训练 -> 第一轮 finetune-> 第二轮 finetune 的 pipeline。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                    图 7

A:预训练

选择百科,新闻,H5 等 1000 亿级别数据举行无监督预训练。预训练任务选择 Mask LM,将字级别 mask 升级为 Phrase + 词级别和实体级别 mask,同时以一定概率替换为同义或者近义词,增大模型区分的难度。Nsp 任务的前后句正负样本通常都来自于同一篇主题,进一步增大模型区分的难度。在位置编码中将绝对位置编码换成相对位置编码,让每个 term 更关注自身附近 term 的 attention。两阶段式训练任务,第一阶段以 max_seq_len=128 配置,第二阶段以一阶段产出模型热启动,之后以 max_seq_len=512 的配置完成第二阶段的预训练,达到训练加速。

B:post 预训练

选择搜刮 100 亿级别的点展数据再做一次 post 预训练,让模型的效验更适应搜刮场景。

C:第一轮 fine-tuning

同样还是选择 100 亿级别的点展数据,将 Q – 有点和 Q – 无点构造成 pairwise 对输出训练模型,选择有监督的方式对模型举行微调训练。由于搜刮获取点展数据的成本相对较低,因此可以获得大量级的样本对模型举行 fine-tune 训练。

D:第二轮 fine-tuning

在人为标注的精标样本下,加上 meta-search 样本举行第二轮有监督微调,进一步提拔模型精度。

同时为了让模型能同时学习好语义,文本婚配的能力,在第二轮 fine-tuning 过程中,同时加入了相关性婚配,词权分档举行多任务学习,如图 8 所示。训练的 loss 为相关性的 HingeLoss + 词权 Cross-Entropy Loss,其中 HingeLoss = max (0,-[y_i-y_j] + margin),Cross = -(ylog (p) + (1-y) log (1-p)),通过 2 个任务举行协同训练,防止模型过度偏向语义婚配而丢失文本婚配的能力。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                     图 8

5:模型结构

BERT 模型选择全连接层,由于每层都涉及到全交互,因此效验较好。然而,在实际应用中,搜刮引擎对在线应用有严格的响应时间要求,通常都在几十毫秒级别。QQ 浏览器・搜刮选择 12 层在线推理模型,全交互结构无法满足响应时间要求,因此对该模型举行了升级,选择了如图 9 所示的模型结构。

输出层:输出信息的来源,包括 Query、Title、Content(图文核心句,视频为 ASR+OCR)、ClickQuery、Anchor、Meta、标签域等。

表示层:各个 filed 通过共享参数的方式学习各自的语义信息,模型结构深度 L=7,宽度 H=768,头数 = 12。

婚配层:选择 SE-GATING 注意力机制动态分配 Doc 的各个域的婚配权重(可理解为 Attention 机制,是通过 SE-NET 网络实现),模型结构为全连接,深度 L=2。

交互层:在考虑性能的前提下,举行更深层次的交互学习,模型结构深度 L=3,宽度 H=768,头数 = 12。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                   图 9

6:多域动态婚配

搜刮召回的 Doclists 中,有的 title 掷中较好,有的 cont 掷中较好,也有一些需要 title+cont 共同掷中才能得到较好的结果。为了召回相关性较好的 Doc,通常需要叠加不同的婚配域,但不同的域在不同婚配时权重不同。当召回的 Doclists 中存在 title、cont、anchor、click 等不同域的掷中时,如何分配各域之间的动态权重是搜刮模型需要解决的一个典型难题。

如图 10 所示,标准的 transformer 将 query、title、cont 等域拼接后输出模型,然后整体举行全域交互计算,但不同的 Query 和 Doc 在掷中域的权重分配不是固定不变的,而是一个动态分配的过程。

QQ 浏览器・搜刮选择了如图 11 所示的结构,选择多塔交互,将 query 分别与 title、cont、anchor 等各自举行交互,而 title 和 cont 之间不举行 attention。这种结构借鉴了 CV 中的 SE-NET 注意力机制,在经过这个操作后得到每个域的 Channel,然后再举行 Query 和域的注意力计算,这样模型可以获得一个更宏大的视野,比如整个域不相关时,那这个域就直接不起作用,起到门控的功能,对比直接将 Doc 中不同域的 Term 全部输出模型的方式,虽然 Transformer 能够学习到 Term 间的注意力,但是不相关的 Field 中的 Term 还是或多或少影响得分,通过这个结构过滤不相关域的噪音,从而能够将不同婚配程度的域计算不同的权重。与标准结构相比,多域动态权重结构能带来相关性正逆序率 8% 的提拔。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                 图 10        

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                  图 11

7:模型簇 & 自训练

在预训练 -》finetune-》蒸馏范式下,teacher 模型的效验决定了蒸馏后的 student 模型的天花板。得益于 teacher 模型在海量参数下强大的语义捕捉能力,特别是对于长尾语义婚配的解决效验非常好,因此在检索婚配方向对于 teacher 模型的效验提拔是首要的工作。

但是,随着多轮迭代之后单个 teacher 效验达到瓶颈,基于 transformer 结构,若想继续提拔效验,需要扩大模型层数或者标注大量样本。然而,当 teacher 达到 48 层之后继续扩层会带来成本指数级增加,同时人为标注大量样本同样也意味着成本的大幅度增加。

为解决扩层带来的成本问题,QQ 浏览器・搜刮选择模型簇的方式提拔模型效验,如图 12 所示。选择不同的样本数据(如点展数据、人为标注数据、metasearch 数据),并选择不同的模型结构(如标准 BERT、QQ 浏览器・搜刮预训练大模型、深度点击模型等)训练多个 48 层模型。

然后,将这些模型作为离线 XGB 模型的重要特性,在人为标注的百万级相关性样本下融合其他人为婚配等特性训练决策树模型。由于此模型引入了大量的效验较好的大模型做特性,因此对 Query-DOC 的相关性婚配打分效验较好,并且由于是离线部署因此没有响应速度的制约。

通过 XGB 模型对未标注的亿级 Query-DOC 举行打分预测,和人为标注样本相比,这种标签数据精度略低,但也能接近人为标注精度的 90+%。这种标签我们称之为伪标签,虽然伪标签的样本精度无法和人为标注相比,但是由于成本非常低,可以轻易获得亿级量级,通过量变产生质变带来搜刮效验提拔。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                    图 12

在获得亿级伪标签样本之后,基于预训练模型,进一步 finetune 出一个 48 层的大模型作为 teacher,从而解决了标注样本成本高的难题。然后,在百万级的人为标注样本上蒸馏得到一个效验较好的 student。通过模型簇和伪标签样本举行自训练,未增加成本的情况下,最终实现了大幅度提拔 teacher 和 student 模型的效验。

8:助教网络

在教授和本科生之间添加一位博士

搜刮排序模型面临的挑战是模型效验和响应速度以及部署成本之间的矛盾。模型参数越大,效验越好,但响应时间会增加,同时成本会指数级增加。

为了满足亿级用户的海量搜刮请求,工业界搜刮引擎往往选择蒸馏技术来减小模型参数,并最大限度保留效验。

为了进一步提拔蒸馏的 student 模型效验,最直接的手段是提拔 teacher 模型的效验。但是,teacher 模型层数增加带来效验提拔的同时,不代表 student 模型也会同步提拔。大量的实验发现,teacher 模型参数扩大之后,在特定的任务下效验提拔。然而,由于 student 和 teacher 两者之间的模型参数差异过大,学习能力相差过大,导致 student 并没有学会 teacher 新学习到的能力。因此,如何减少 student 和 teacher 之间的蒸馏损失,也是近年来工业界一直在研究的重要方向。

QQ 浏览器・搜刮通过引入助教网络来解决这个问题。助教网络由多个模型组成,它们之间的关系如图 13 所示。具体而言,使用 48 层模型先蒸馏 24 层中间层模型,然后再用 24 层中间模型蒸馏 12 层 student 模型。这个 24 层模型就是助教网络。

这个过程类似于教授直接教本科生的情况,由于两者的知识储备差距较大,导致学生往往很难完全吸收教授想要传授的知识。而通过在中间增加博士节点,让教授先教会博士,再由博士去教学本科生,由于博士在知识接收能力上强于本科生,因此能较好的学会教授已经掌握的知识。同时,博士和本科生在学习能力上相差相对较小,能较好地将知识举行传递。

为进一步提拔效验,助教模型往往不止一个,比如 48 层 teacher-> 助教 1-> 助教 2->……->student,通过多步蒸馏的方式,避免由于 teacher 和 student 模型在参数,layer 上的差异过大导致的蒸馏损失。

在搜刮模型中,通过引入单个助教模型和传统的蒸馏相比,student 效验相对提拔 5%。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                    图 13

9:MatchMatrix 矩阵

自从 BERT 发布以来,搜刮引擎的演进范式已经从重点关注人为特性转向了预训练 ->finetune->distillation 模式。随着深度语义特性在最终模型中的权重越来越大,这种大力出奇迹的方法在带来效验提拔的同时,也会削弱字面婚配特性的作用。这导致了一些 CASE(语义飘移)的出现如图 14 所示,相关的结果排序较低,这些本应该可以通过原始字面婚配解决的 CASE 却出现了逆序的情况。

为了解决这个问题,行业选择了两种建模方法:

Semantic matching:建立单词、短语和句子之间的相似关系,例如 “出租车” 与 “的士”,着重解决句子级别的语义婚配。

Relevance matching:建立精确婚配关系,例如关键词掷中、大片段掷中以及紧密片断是否被拆散掷中,着重解决 phrase 级别的精确婚配。

这种分类建模需要举行大量的人为婚配特性设计,并需要举行大量的人为调参,以及对两类特性的 balance 举行验证,这个过程的成本相对较高。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                   图 14(左)和图 15(右)

QQ 浏览器・搜刮系统选择了对深度语义模型举行升级改造的方法,如图 16 所示。

其中 BERT 模型的 CLS 向量用于捕捉更高级别的信息,如句子级相似度等。在输出 CLS 向量的基础上,构造 match matrix 矩阵,该矩阵通过将 Query 输出的 token 向量和 Doc 输出的 token 向量组合而成。

该矩阵利用了多层显式婚配,并使用了 CNN 和 Pooling 层来提取 match matrix 矩阵,提取 Q 中每个 TERM 在 Doc 中的掷中信息。在构建婚配矩阵的过程中,充分利用不同 term 在 Q 中的词权重,以便为每个 term 构建独特的婚配权重。最后将婚配矩阵和 BERT 输出的 CLS 向量通过 Aggregator 举行合并,以获得深度语义模型隐式婚配打分和显式婚配特性的融合结果。通过将字面婚配特性显式地传递给深度语义模型,可以有效地纠正语义飘移。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                        图 16

如图 15,17 所示,通过构造多层婚配矩阵,选择卷积核举行信息抽取,并选择最大池化将 QxTxK 转换为 QxK,然后再应用 term weighted 将多种婚配信息融合成向量。这种方法能够自动识别许多文本婚配的特性,例如连续掷中、Bigram 逆序、散乱掷中等如图 18 所示,不再需要大量的人为规则去设计这些特性。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                 图 17(左)和图 18(右)

10:生成式大模型应用

ChatGPT 发布之后,各大互联网公司纷纷开始布局生成式大模型,作为其最婚配的应用场景之一,搜刮引擎也受到了广泛关注,各大引擎都在积极尝试如何将自研的生成式大模型应用到搜刮引擎系统之中。

样本生成

如图 19 所示,搜刮的婚配模型选择的是 BERT 模型下典型的预训练 ->post 预训练 -> 蒸馏的范式,而在蒸馏的过程中,往往需要人为标注千万级样本,成本高且耗时长。

而通过生成式模型可以快速的标注大量的自动化样本。标注的方法分为判别式,既输出 QT 问生成式模型结论,如 “都安气车到班领气车” 和 “都安汽车到班领汽车” 哪个是正确写法;也有通过生成式大模型生成样本如 “query = 北京” 可以扩充哪些需求词。通过生成式大模型低成本快速获得亿级别样本,大幅度提拔了蒸馏模型的效验。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                    图 19

离线生成式应用

生成式大模型拥有强大的语言理解能力,如何将这种能力转化为搜刮排序模型的效验是非常重要的研究。

如图 20 所示,在现有的婚配模型输出域上,通过生成式大模型举行域提取升级如 Doc 的核心句提取,以及对缺失后验数据的 Doc 补充 Click-Query,同时也通过使用生成式大模型对原始标题举行标准化改写的方式扩充新的标题域,多种方式对输出信息域优化,提拔输出域的质量进而提拔模型效验。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                    图 20

涌现能力蒸馏

生成式大模型在参数量和样本量扩大之后,涌现了一些惊人的模型能力。如何将这种大模型的能力迁移到现有的搜刮排序模型中?

搜刮选择集成蒸馏的思想如图 21 所示,根据不同的数据集,不同的模型 BASE 训练多个 teacher,然后通过将多个 teacher 共同蒸馏 student 的方式,提拔 student 模型的效验。由于生成式大模型和原有的 teacher 在参数量级和输出文本长度上都获得了一个极大的提高,因此能够带来蒸馏的 student 效验大幅度提拔。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                       图 21

端到端生成

生成式大模型拥有巨大的参数量级进而导致较慢的推理速度,而搜刮引擎往往需要在毫秒级时间内向用户返回搜刮结果,因此如何将生成式大模型引入搜刮引擎的在线检索系统是个难题,但是由于生成式大模型有惊人的效验,因此端到端的模型替换原有的系统将是一个趋势。

如图 22 所示,在纠错端到端方向,通过在生成式大模型 BASE 模型之上,通过人为标注数据做为样本集,选择 SFT 对模型举行微调产出微调之后的生成式大模型。然而此时的模型往往还有效验不佳,幻觉等方面的问题,因此通过挂载搜刮结果,知识图谱库等方式对模型举行搜刮增强,产出搜刮增强之后的生成式大模型。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                   图 22

11:评估效验

在搜刮系统中,评估模型效验好坏的一个重要指标是 Query-Doc 的相关性正逆序比。计算方法是根据排出的结果举行从前到后两两组对,如果排在前面的结果比排在后面的结果更相关则是一个正序对,反之则为逆序对。正序对 / 逆序对为正逆序比,值越大越好。如图 23 所示,在 TOP350 条结果采样正逆序比从基线 2.5 优化提拔到 4.0。

用AI大模型「改造」QQ浏览器搜刮,腾讯独家揭秘                                   图 23

当前,搜刮系统正处于 4.0 深度学习阶段向 5.0 生成式大模型阶段的过渡,整个系统将在生成式模式下举行重塑,随着模型的参数越来大,未来的搜刮效验将能获得进一步的大幅度提拔,最终将会让智能化搜刮成为可能。

作者团队介绍:QQ 浏览器搜刮应用部搜刮排序中心,承接用户天级几亿次搜刮需求,负责搜刮系统的排序优化工作,在千亿索引的基础之上,选择千亿级参数大模型为基座,叠加预训练,大数据挖掘,深度语义建模,智能摘要抽取,自动化热点发现,超大规模并行计算等技术,实现极致的用户需求满足。

给TA打赏
共{{data.count}}人
人已打赏
工程

13B模型全方位碾压GPT-4?这背后有什么猫腻

2023-11-18 10:24:00

工程

真正实现一步文生图,googleUFOGen极速采样,生成高质量图像

2023-11-20 15:24:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索