仿qq浏览器源码,qq浏览器模块

机心柱

作者:周天华、马进、刘杰

腾讯QQ浏览器搜索应用事业部

1.首先

自搜索引擎出现以来,信息检索算法发生了许多技术变革,其演变大致可归纳为四代技术。

1.0 文本索引-2.0 超链接分析-3.0 机器学习-4.0 深度学习。

2023年底,ChatGPT成为全球技术焦点,其多轮交互、推理、长文本理解能力解决了以往搜索引擎无法有效解决的问题。

但是,搜索引擎尚不能用GPT 替换现有引擎。甚至NewBing 也只是将传统搜索引擎结果扩展为ChatGPT 的输入。因此,搜索引擎是否会进入5.0 GPT技术一代还在调查中。

腾讯QQ浏览器作为国家级智能工具,是用户搜索信息的重要使用场景之一。本文主要讨论QQ浏览器和搜索在4.0时代的各种实践,即深度学习模型,以及5.0时代的尝试,即生成式超大型模型的方向。

在这两种技术的生成过程中,预训练语言模型是核心技术基础,模型性能通常取决于模型结构、样本数据、输入表示信息、模型规模和计算复杂度,如图所示。取决于交易能力等因素。如图1所示。

图1

2:搜索匹配四大问题

语义匹配、内容点击、需求切换、多需求PK

搜索引擎是智能信息检索工具,可以从互联网上的大量信息中为用户提供准确的搜索结果。在实际应用中,搜索引擎需要解决的一个关键问题是如何帮助用户快速、准确地找到所需的内容。虽然通过文字匹配可以检索到最相关的文档,但在大多数情况下这种匹配方法面临着各种挑战,包括:

如图2所示,Query和Doc不是直接命中,而是需要语义建模来挖掘最佳匹配的Doc。

该查询不太适合文档的标题,但适合文档的内容文本(如图3 所示)。

由于用户对于同一搜索请求随着时间的推移会有不同的结果页面需求,因此我们需要对需求切换进行建模,如图4 所示。

在同一个搜索查询下,即使是相同的匹配结果,满足用户的需求也是不同的,需要建模多需求PK,如图5所示。

图2(左)和图3(右)

图4(左)、图5(右)

3:技术框架

如图6所示,QQ浏览器整个搜索系统采用分层管理,返回结果条数从下到上依次为:

数据层:主要捕获、存储、分析各种数据内容。

调用层:从数千亿文档中调用与查询相关的数百万级目标,并进一步过滤粗排序模型,得到10万级。

细粒度排名层:在粗排名再现的基础上,引入更细粒度的特征,并引入更复杂的模型计算,以检索与查询最相关的100级文档。这一层分布着大量的深层语义模型。

Shuffle层:主要用于常规结果和卡片式结果的插入和打乱。

为了解决搜索引擎面临的诸多挑战,深度语义匹配模型被部署在整个系统的多个模块中,通常包括:

除了传统的文字匹配功能之外,复杂的排名层相关模型的一个重要特征是深度语义匹配。

在fine-ranking层时效性模型中,除了时间因子和突发因子特征外,一个重要的特征是深层语义。

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

TOPK模型除了相关性、时效性、质量、流行度特征外,还具有内容深度语义匹配能力。

图6

4:训练管道

如图7所示,QQ浏览器搜索构建了一条管道:预训练-后预训练-第一轮微调-第二轮微调。

图7

答:预训练

利用百科、新闻、H5等千亿数据进行无监督预训练。预训练任务使用Mask LM。 Mask LM将词级掩码升级为短语+词级和实体级掩码,并以一定概率替换为同义词或同义词,以增加模型的区分难度。 NSP 任务中的肯定句和否定句通常来自同一主题,这使得模型更难以区分。位置编码用相对位置编码代替绝对位置编码,其中每个术语更关注靠近其自身的术语。两步训练任务。第一阶段配置max_seq_len=128,第二阶段通过第一阶段的输出模型热启动,然后配置max_seq_len=512完成第二阶段预训练来实现。加速训练。

B:预训练后

使用百亿级点击数据进行预训练,使模型更适合搜索场景。

C:第一次微调

我们还使用100 亿级的点扩散数据将Q-point 和Q-no-point 构建成成对输入训练模型,并以监督方式对模型进行微调。搜索点分布数据的成本相对较低,允许您获得大量样本来微调您的模型。

D:第二次微调

使用手动标记的精细标记样本和元搜索样本进行第二轮监督微调,以进一步提高模型精度。

同时,为了让模型能够同时学习语义和文本匹配特征,在第二轮微调中添加了相关匹配和词权分箱进行多任务学习,如图所示。 8. 训练损失是相关的HingeLoss + 词权交叉熵损失。其中HingeLoss=max(0, -[y_i-y_j] + margin), Cross=-(ylog(p) + (1-y) log(1 – p)),模型过度偏向语义匹配,To。为了避免失去文本匹配的能力,我们通过两个任务进行联合训练。

图8

5:模型结构

BERT 模型使用全连接层,因此每一层都充分交互,从而提高了有效性。然而,在现实应用中,搜索引擎对在线应用的响应时间要求严格,通常在几十毫秒量级。 QQ浏览器/搜索采用12层在线推理模型,但完全交互的结构无法满足响应时间要求,因此模型升级为采用图9所示的模型结构。

输入层:输入信息的来源,包括查询、标题、内容(图像和核心文本、视频的ASR+OCR)、ClickQuery、锚点、元、标签字段等。

表示层:每个字段通过共享参数来学习自己的语义信息。模型结构深度L=7,宽度H=768,头数12。

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

交互层:考虑到性能,进行更深入的交互学习,模型结构的深度为L=3,宽度为H=768,头数为12。

图9

6:多域动态匹配

搜索调用的一些文档列表将具有更好的标题命中率,其他文档列表的延续命中率,并且可能需要标题和延续命中以获得更好的结果。调用更相关的文档通常需要重叠不同的匹配域,但不同的域在不同的匹配中具有不同的权重。当被调用的文档列表在标题、延续、锚点、点击等不同域中存在命中时,如何在各个域之间分配动态权重是搜索模型需要解决的典型问题。

如图10 所示,标准转换器将查询、标题、内容和其他字段组合到模型中,并作为一个整体跨字段执行交互式计算。然而,不同查询和文档在命中字段中的权重分布是不同的。这是一个固定但动态的分配过程。

QQ浏览器/搜索采用如图11所示的结构,使用多塔交互分别与title、continuation、anchor等query进行交互,但是title和continuation之间的attention并没有执行。该结构利用了CV 的SE-NET 注意力机制。在此操作之后,检索每个域的通道并执行查询和域注意力计算。这使得模型能够获得更广泛的视角,包括:如果整个域不相关,则与将文档中各个域的所有项直接输入到模型中相比,该域不会直接工作,也不会执行门控功能。不过Transformer之间可以学习注意一下。通过这种结构,过滤掉不相关域的噪声,从而对不同匹配程度的域进行不同的权重计算。与标准结构相比,多域动态权重结构将相关性的前向和后向比例提高了约8%。

图10

图11

7:自训练模型集群

在预训练微调蒸馏范式下,教师模型的有效性决定了蒸馏学生模型的上限。得益于监督模型在大量参数下强大的语义捕获能力,在解决长尾语义匹配方面特别有效。因此,提高教师模型在搜索匹配方向的有效性是主要挑战。

然而,基于Transformer的结构,单个教师的有效性在多次迭代后达到瓶颈,因此如果想要不断提高有效性,则必须扩大模型层数或标记大量样本。被附着。但如果老师在达到48层后继续扩展层数,则成本显着增加,同时,手动标记大量样本也意味着成本显着增加。

为了解决层数扩展带来的成本问题,QQ浏览器·搜索采用模型集群来提高模型有效性,如图12所示。训练多个48层,使用不同的样本数据(点击数据、手动标注数据、元搜索数据等)和不同的模型结构(标准BERT、QQ浏览器搜索预训练大模型、深度点击模型)。模型。

然后将这些模型用作离线XGB 模型中的关键特征,并集成其他人工匹配和其他特征,以在数百万个手动标记的相关样本下创建决策树模型。该模型具有大量高效的大规模模型,因此具有良好的Query-DOC相关性匹配分数,并且由于是离线部署,因此响应速度不受限制。

XGB模型用于预测未标记的十亿级Query-DOC的分数。与手动标记的样本相比,这种标记数据的准确度稍低,但也可以达到手动标记准确度的90% 或更高。这种标签被称为伪标签,虽然伪标签的样本准确率无法与人工标签相比,但其成本非常低,可以轻松获得数亿量级。数量上的改变提高了搜索效率。

图12

在基于预训练模型获得了数十亿个伪标记样本后,我们通过作为老师进一步微调大型48层模型,解决了标记样本成本高的问题。然后,它从数百万个手动标记的样本中挑选出表现较好的学生。通过模型簇和伪标记样本的自训练,最终在不增加成本的情况下显着地实现了教师和学生模型的有效性。

8:助教网

在教授和教师之间添加博士学位

搜索排名模型面临的挑战是模型有效性、响应速度和实施成本之间的冲突。模型参数越大越有效,但会增加响应时间并成倍增加成本。

为了满足数亿用户的海量搜索请求,工业搜索引擎经常使用蒸馏技术来减少模型参数并保留最大的有效性。

为了进一步提高提取的学生模型的有效性,最直接的方法就是提高教师模型的有效性。然而,尽管有效性随着教师模型层数的增加而提高,但学生模型并没有同时提高。大量实验表明,扩展教师模型的参数可以提高其在某些任务下的有效性。然而,由于学生和教师的模型参数和学习能力存在较大差异,学生无法学习教师新学到的能力。因此,如何减少学生和老师之间的蒸馏损失,也是业界近年来一直在研究的一个重要方向。

QQ浏览器/搜索通过引入助教网络解决了这个问题。助教网络由多个模型组成,它们之间的关系如图13所示。具体来说,我们首先使用48层模型提取24层中间模型,然后使用24层中间模型提取12层Student模型。这个24层的模型就是助教网络。

这个过程和教授直接给本科生讲授的过程类似,但是两者知识积累的巨大差异导致学生很难充分吸收教授想要传达的知识。通过中间增加一个PhD节点,教授先教PhD,然后PhD再教本科生。医生比本科生接受知识的能力更高,因此可以更深入地从教授的知识中学到东西。已经掌握了。同时,博士生和本科生的学习能力差异较小,可以更好地进行知识转移。

为了进一步提高有效性,往往存在教师-助教1-助教2-.学生等多个48层助教模型。这允许多级蒸馏。教师模型和学生模型之间的蒸馏损失参数和层数差异过大。

在搜索模型中,引入单一助教模型,与传统蒸馏相比,学生效率相对提高了5%。

图13

9:MatchMatrix矩阵

自BERT 发布以来,搜索引擎进化的范式已经从关注人工特征转向预训练、微调和提取模型。随着深层语义特征的权重在最终模型中变得越来越重要,这种神奇的方法不仅提高了有效性,而且削弱了文字匹配特征的作用。这会导致出现多个CASE(语义漂移),如图14 所示。相关结果的排名较低,并且通过原始文字匹配解决的CASE 以相反的顺序出现。

为了解决这个问题,业界采用了两种建模方法。

语义匹配:重点解决句子层面的语义匹配,建立单词、短语和句子之间的相似关系,例如“taxi”和“taxi”。

相关性匹配:关注词组层面的精准匹配,建立关键词命中、大片段命中、紧密片段是否拆分命中等精准匹配关系。

这类分类建模需要大量的手动匹配特征设计、大量的手动调参以及验证两类特征之间的平衡性,使得这个过程相对昂贵。

图14(左)和图15(右)

QQ浏览器和搜索系统采用了深度语义模型升级改造的方法,如图16所示。

BERT模型中的CLS向量用于获取句子级相似度等更高级别的信息。基于输出的CLS向量,构建匹配矩阵,该匹配矩阵由Query输出的标记向量和Doc输出的标记向量组合而成。

该矩阵利用多个显式匹配层,并使用CNN层和池化层来提取匹配矩阵矩阵并提取Doc中Q中每个TERM的命中信息。构建匹配矩阵的过程充分利用了Q中不同术语的词权重,为每个术语构建唯一的匹配权重。最后,通过Aggregator将匹配矩阵与BERT输出的CLS向量进行合并,得到深度语义模型隐式匹配评分与显式匹配特征的融合结果。通过显式地将文字匹配特征传递给深层语义模型,可以有效地纠正语义漂移。

图16

如图15和图17所示,通过构造多层匹配矩阵,我们使用卷积核提取信息,使用最大池化将QxTxK转换为QxK,然后将加权项转换为Apply以融合多个匹配信息。向量。该方法可以自动识别许多文本匹配特征,例如连续命中、二元逆序和分布式命中,如图18所示,无需大量手动规则来设计这些特征。

图17(左)和图18(右)

10:生成大型模型的应用

ChatGPT发布后,各大互联网公司都在积极致力于整合内部开发的大规模生成模型,作为其最佳应用场景之一。到搜索引擎系统。

生成样本

如图19 所示,搜索匹配模型使用基于BERT 模型的典型预训练-预训练-蒸馏范式。蒸馏过程通常需要对数千万个样品进行手动标记,成本高昂。这需要时间。

生成模型可以快速标记大量自动化样本。标注方法分为判别法,输入QT,询问生成模型的结论(正确的是:“段汽油车改邦林汽油车”或“段汽油车改邦林汽油车”) 。怎么写;还有一个生成式大规模模型,生成可以扩展“查询=北京”等请求词的样本。通过大规模生成模型,可以快速、低成本地获取数亿个样本,大大提高了蒸馏模型的有效性。

图19

离线生成应用

生成型大规模模型具有很强的语言理解能力,但如何将这种能力转化为搜索排名模型的有效性是一个关键的研究课题。

如图20所示,在现有匹配模型输入领域上,通过Doc的核心句提取等生成式大规模模型升级领域提取,同时使用Click-Query检索缺失的后验数据Complete到Doc。大规模模型对原始标题进行标准化和重写,扩展新的标题域,并通过多种方式优化输入信息域,提高输入域的质量,从而提高模型效果。

图20

紧急容量蒸馏

大规模生成模型的参数量和样本量扩大后,出现了一些令人惊讶的模型特征。我们如何将这个大型模型的力量转移到现有的搜索排名模型中?

使用集成提取进行搜索的思路如图21所示。 BASE根据不同的数据集、不同的模型,训练多名教师,并与多名教师协作提取学生,提高了学生模型的有效性。大规模生成模型和原老师显着提高了参数幅度和输入文本长度,从而显着提高了蒸馏学生效果。

图21

端到端生成

生成式大规模模型的参数尺寸较大,导致推理速度变慢,而搜索引擎往往需要在毫秒内将搜索结果返回给用户,因此搜索引擎的在线搜索系统如何实现大规模模型是一个难题。然而,生成式大型模型的力量是如此令人印象深刻,以至于趋势将是用端到端模型取代原始系统。

如图22所示,在端到端纠错方向,除了生成大规模模型的BASE模型外,还使用人工标注的数据作为样本集,并使用SFT对模型进行修改。是通过微调生成的。微调生成大型模型。然而此时的模型往往存在性能不佳、产生幻觉等问题,因此我们实现搜索结果、知识图谱库等来搜索和增强模型,搜索增强后进行大规模生成。

图22

11:有效性评估

在搜索系统中,评价模型性能的一个重要指标是Query-Doc正负相关比。计算方法是根据排名结果将两对从前往后运行。如果排名靠前的结果比排名靠后的结果更相关,则它是正序对,反之亦然。序列对。正向序列对/反向序列对是正向序列与反向序列的比例,值越高越好。如图23所示,TOP350结果的采样前向和后向序列比从基线的2.5优化到4.0。

图23

搜索系统目前正在从4.0深度学习阶段过渡到5.0生成式大规模模型阶段。随着模型的参数变得越来越大,整个系统被重塑。未来将进一步改进,最终实现智能搜索。

作者团队介绍:QQ浏览器搜索应用部搜索排序中心每天处理数亿用户搜索请求,负责基于千亿级索引对搜索系统进行排序和优化。它以分块、叠加预训练、大数据挖掘、深度语义建模、智能概要提取、自动热点检测、大规模并行计算等技术为基础。最终满足用户需求。

本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/645184.html

(0)
上一篇 2024年5月29日
下一篇 2024年5月29日

相关推荐

  • 和平精英怎么练好拳头?

    和平精英怎么练好拳头? 在和平精英游戏中,练好拳头需要不断练习和掌握技巧。以下是一些建议:1. 练习基本拳法:学习并熟练掌握基本的拳法,包括左直拳、右直拳、左钩拳、右钩拳、左正拳等。2. 练习组合拳:练习并熟练掌握组合拳,例如左右直拳、左右钩拳、左直拳+右钩拳等。3. 练习闪避和移动:在战斗中,学会闪避敌人的攻击并快速移动自己的位置,保持自己的安全。4. 练…

    游戏快讯 25分钟前
  • 和平精英船怎么飞? 和平精英怎么获得游乐币?

    和平精英船怎么飞? 和平精英船你要收集足够的油桶,然后把一颗手雷丢到船底下,然后你上船就会飞的很高所以就可以完成和平精英里面传飞的场景 和平精英怎么获得游乐币? 想获得游乐币非常的简单,你只需要在特训岛里面找金色的宝箱,然后找到了点击打开,里面会刷新2~3个游乐币 和平精英船包包怎么玩? 和平精英船包包是一款多人在线射击游戏,玩家需要组队与其他玩家进行战斗。…

    游戏快讯 1小时前
  • 和平精英雪人皮肤怎么获得?

    和平精英雪人皮肤怎么获得? 方法/步骤分步阅读: 第一步,打开手机上的和平精英,进入游戏页面,点击活动选项。 第二步,进入之后,点击冰雪送祝福兑永久动作选项。 第三步,点击累计签到,完成签到就可以获得雪人。 第四步,最后点击每日任务,完成每日任务就可以获得雪人 和平精英的和平人生怎么领衣服? 首先你点击和平人生,再点击活动就可以领衣服了 和平精英猫怎么领? …

    游戏快讯 4小时前
  • 和平精英激光导弹怎么才会跟踪?

    和平精英激光导弹怎么才会跟踪? 人工控制的追踪导弹,玩家发射导弹后,移动视角,导弹也会跟着移动,也就是导弹能进行跟枪,威慑力很强,不像普通火箭炮发射后落点固定容易被躲避。 打开瞄准镜后会进行实时测距,显示准星对准的地点与自身的距离,虽然对这把武器没什么加成,给队友报点可以用“前方有敌人”,但还是有点用处,科技感十足。 无论开镜还是腰射,都可以通过准星控制导弹…

    游戏快讯 7小时前
  • 和平精英怎么解除精英手册?

    和平精英怎么解除精英手册? 和平精英手册怎么解除 赛季结束后手册会自动消失。 精英手册会显示玩家等级,这个是无法人为解除的。 只能等当前赛季的时间结束了,精英手册就会刷新,下赛季又可以重新领取一本新的手册。 和平精英每个赛季都有精英手册,完成对应的任务,即可获得丰富的奖励。 和平精英战队怎么解除? 1、点击和平精英,进入和平精英主界面,找到左下角的赛季,点击…

    游戏快讯 9小时前